It’s your big day: You survived college and finally have a diploma in your hands to prove it. You are officially a computer engineer! Ready to dive headfirst into your first job and change the world? I know exactly how you feel.
Just two years ago, I was in the same position as you. Now that I’ve experienced my first job as a programmer, I’m here to share a few tips and tricks and guide you to programming stardom.
In the first part of this article, I covered some of the “people” situations you may face in a new job. I hope you found my previous advice beneficial!
Part 2: tech skills
Now it's time to walk you through some useful tips associated with technology. Remember, your first days and weeks on the job will be much easier if you come prepared. Don't worry, everybody will be aware you're stil a rookie, but showing some confidence and enthusiasm won't hurt, right? The following tech tips will help prepare you for your career adventures to come. Hold on tight, because we are taking off!
Don’t be afraid to explore and try new tech
I will be honest: I was very reluctant to try new technologies in my early working days. My first language is Java. So, when someone asked me to write an algorithm in C++, I thought my world had collapsed.
How can I code in C++? But I did it. It was incredibly challenging, but I learned so much. Most notably, I learned how memory functions — the foundation of computer science.
Do not be afraid to try new technologies. Maybe you’ve always wanted to try Python or Java. Just go for it! Perhaps it will not turn out as you imagined. On the other hand, maybe you will love it. Either way , you will learn something new. You will become a more experienced and knowledgeable programmer. Everyone needs to go through this process. It is the only way to become a great engineer and someone young programmers will look up to in a year.
Make a debugger your friend
When you are writing code, don’t ask yourself if there are any bugs. Ask yourself what bugs there are. Because there will always be bugs.
This is why I suggest that you become intimately familiar with debugging tools. When things get complicated, you will need a clear overview of executing code and variable values. I know it seems tempting to use print statements as a debugging tool in your favourite language (been there done that), but it will only make things worse. Trust me.
Mastering debugging will make you more efficient in solving bugs. So, as a newbie, it is essential to get your hands dirty and work with it!
Find another pair of eyes
Don’t underestimate the help of another person. Sometimes, even a debugger can’t help you find that annoying bug. It is always smart to ask someone else to go through your code. After all, it’s more likely that another person who is not involved with the project will spot the bug.
Why? Well, for me, I often get so involved with the details of the code that I cannot see the forest for the trees. In other words, I get too close to the project, and I start missing things. I’m sure this happens to a lot of people.
This is why you should find yourself another pair of eyes and solve that bug! Pair programming is a great way to learn and to improve. So, ask a colleague to take a second look. I promise, it will make your progress much faster.
Git, git and only git
I cannot stress this enough. Master git! Git is a versioning control system that helps you keep track of the code you and your team are working on. If you don’t know how to use git properly, there is a very good chance you will mess up the code and create chaos.
Not to mention, parts of the code can be lost! And then you’ll have to do a whole lot of reverting/merging. Trust me, you don’t want that. This happened once on one of my projects. A few days in, we realized some features were lost.
Lesson learned: Learn git and master basic commands like merge, rebase, pull and push. Before writing code on a branch, make sure to pull all changes on the remote server and try not to merge to master branch until you are 150% sure everything is perfect. After all, no one wants git mistakes in their production code.
Make security your priority
Today, more than ever, we hear about data breaches that impact even the most recognized companies like Facebook, Quora or Google.
Users are growing increasingly concerned about how their data is used, and they are afraid someone will exploit their sensitive data.
Furthermore, a serious security flaw can cast a shadow of doubt on a company and cause irreparable damage to their reputation. This is why it’s essential to take security seriously. So, educate yourself and learn what you can do in your code to make it more secure. Check out Top 10 risks for 2019. In terms of likelihood, data fraud and cyber attacks are among the top 5 threats for 2019.
Bottom line: security first. Check out the most common web security vulnerabilities to familiarize yourself with the topic.
Logging is a must
When you are running production code and something bad happens, you need concise and useful logs. It is difficult to recreate bugs when they happen, but it’s nearly impossible to recreate them when you don’t have enough information.
I’m speaking from experience here. One time, there was a bug in our application, and we did not have resourceful logs. So, before doing anything, we went back and improved our logging. Once we did that, the bug was solved in no time. Now we make sure our logging is perfect. It saves us loads of time.
Ready, steady, go!
I hope these two articles will help and guide you as you embark on your first programming job. If I had read this two years ago, I sure think these tips would have helped me in my first adventure.
Most importantly, don’t be afraid to try new things and remember it takes time to learn and grow. Be patient, ask questions and everything else will fall into place.
If you found this and my previous article helpful in any way, share them with your friends!
Are you new to programming and want to learn more? Join Infinum Academy and learn from the best!
Talking about skills, our designer Dubravko Tuksar (who made the cover illustration) has got mad design ones!