These 5 New Year's Resolutions Will Make You A Better Software Engineer in 2023!
With the New Year, It's time to bring on new software engineering habits and resolutions.
A new year has arrived, which means a whole bunch of people setting unrealistic standards for themselves and the return of the infamous "new year, new me" joke. But as my favorite rapper, J. Cole, puts it, all good jokes contain true things. The arrival of 2023 means a fresh slate and a new opportunity to set new and attainable goals that will help you improve the software engineering skills that you built in the previous year. With that in mind, I decided to compile a list of five resolutions every computer science student and software engineer (aspiring or current) should set for themselves in 2023 to help them improve.
1. The Sport of Code (365 Days of Code)
Let's eat the frog and start with the most challenging resolution on this list — the Sport of Code. The idea behind this resolution is that as much as coding is an art, it is also a sport. In all sports, if you genuinely want to be considered one of the greats, you must practice every day. Similarly, if we apply this to software engineering, we must code daily to improve. So for this resolution, that's precisely what you'll do. Now before you exit the page, note that you shouldn't be doing anything crazy. You don't have to write one thousand lines of code a day. You can write one line, push it to your GitHub, and call it a day.
A great thing about this resolution is that we, as humans, naturally love streaks. Think about it, people love to do Snapchat streaks, and God forbid someone forgets to do their Wordle for the day. Giving more context to this point, Kaitlin Woolley, Ph.D., a marketing professor at Cornell University who studies goal pursuit and motivation, stated, "Streaks can serve as a tangible cue of progress" and that "Streaks offer a sense of momentum, which is motivating." Therefore, if you can start the year off right and get on a streak of pushing some code to GitHub daily, you may feel more motivated and a tad bit of pressure to keep going. Plus, let's be honest who doesn't like to see their GitHub filled with green bubbles?
2. Quarterly Coding Projects
The second resolution is to complete a quarterly coding project. This means that you will be in charge of scoping out, designing, managing, and developing a project you want to work on over three months. Since you are wearing multiple hats, you get to find different positions in the software industry that you may have never thought you would like but ended up enjoying. Additionally, because these projects are quarterly, you can base your project on an area you have always been interested in but have yet to get the opportunity to try, like Data Science, Game Development, Mobile App Development, and more. If you enjoy the project you make, it could turn into a business venture. A quarterly coding project also makes the previous resolution easier because it eliminates the guesswork of figuring out what to work on each day.
For computer science and software engineering students, this is an excellent resolution because often, during the school year, the assignments and projects that we are given can suck the life out of the major and even make us forget why we chose these majors to begin with — to create engaging, innovative, and useful apps (and the pay, can't forget the pay).
If you want to make this even more fun, you can always get a friend or group of friends together and work on a project. In addition to the entertainment factor, you will be improving your teamwork skills. This is an excellent resolution to explore interests and become more well-versed in the industry with a result of three projects you can put on your resume or develop further into a startup.
3. The 12-Month LeetCode Challenge
With the recent surge in company layoffs, the 12-Month LeeCode Challenge is the perfect resolution for current software engineers who want to stay ready for anything that may happen. For this resolution, each month, you will do one LeetCode problem. The catch here is that from January to April, you will do one easy-level problem; from May to August, you will do a Medium level problem, and end the year doing hard-level problems. Depending on how well you can solve LeetCode problems, you can do more (probably in easy problem months).
This resolution will ensure that you are prepared for any circumstance, whether you are currently full-time or a college student going into the interview process. Also, consider that most of the time, when we are studying for software engineering interviews, we are often on a time crunch and trying to cram as many problems as possible before the day of the interview. In contrast, this resolution gives you an entire month to work on one problem (or more). It allows you to focus on things like talking through the problem, trying different approaches, and coming up with the most optimal solution, so that you are entirely prepared for the instance where you have to solve one of these problems.
4. Read Three Books
A less technical resolution everyone should set for themselves is to read three books. To make this easier, I will even give you the three types of books you should read. The first book should be about personal development, the second book should be about finance, and the last book should either be a book about coding or just a leisure book. The first two categories will allow you to grow throughout the year in your knowledge of how to interact with people on a day-to-day basis and the best tips, tricks, and practices on saving, investing, and spending money, respectively. The coding or leisure book will allow you to learn more about a technical skill you are interested in or give you time to read a book you have been eyeing for a long time. Additionally, a leisure or coding book will give you something to talk about with your co-workers or people in general and is an easy way to start interacting with more people you may come across smoothly.
Some recommendations that I have read or heard good things about are as follows:
Personal Development: 48 Laws of Power, How To Win Friends and Influence People, Atomic Habits, Mindset
Finance Books: The Wealthy Gardener, Rich Dad Poor Dad, Think and Grow Rich
Coding/Leisure: Cracking the Coding Interview, Any O'Reilly/For Dummies Book of your interest, Americanah, Born a Crime
5. Pick Up A Hobby Outside of Writing Code
You're probably looking at this resolution and saying, how will picking up a hobby that doesn't even relate to programming make me a better developer? Well, the answer can be summed up in just two words. Burn out! A 4-month semester is already a lot for computer science students, so if you picture trying to code more often throughout the year, there is no doubt that there will be many times when the thought of even opening a code editor or IDE makes you sick—for this reason, you should pick up a hobby. I, for instance, will be trying to write an article every Friday; I also would like to learn how to draw or pick up the guitar. The hobby you choose could be anything from taking a boxing class, hiking, or playing video games. The point is that picking up these hobbies gives you something to look forward to during a day when coding may have felt like a drag.
The Wrap Up
Now that we've gone through all these resolutions, realize that you should adopt them as you see fit. If you already code consistently but never work on personal projects and are rusty on your data structures, then set the 12-Month LeetCode Challenge and the Quarterly Coding Projects as your resolutions. If you think you are a great programmer but burn out often and want to develop the soft skills side of being a software engineer, pick up a hobby and read the three books. The great thing about going into a new year is that the year is a blank canvas to be whatever you make of it. Throughout this year, whether you fail or succeed at your resolutions isn't what matters. The fact that you made an effort to try and get better is.