7 Tips For Your First Programming Job

Razvan Cirlugea
12 min readMay 3, 2021
Photo by Luis Villasmil on Unsplash

You just got your first job. You’re both excited and nervous. You can’t wait to write your first line of code but you’re also a bit scared of the new challenges. What if this career is not for you? How can you make a good first impression?

It’s perfectly normal to have doubts and uncertainties at the beginning of a career. It’s difficult to follow a path without too much guidance.

In this article, I’ll do my best to offer you the most valuable pieces of advice that I’ve learned throughout my career as a software developer. Some of them also apply to a lot of different fields, so even if you’re not interested in software development, you might still want to take a look 😄.

1. Be organized

Don’t roll your eyes! Of course, you know that organization is important, but let me give you a few concrete tips:

  • Save important information. It could be either links, passwords or code snippets. Use bookmarks in your browser or make a separate file/folder and save them there. It’s really frustrating when you want to access an internal tool and you waste time looking in documentation or waiting for people to answer your message.
  • Filter your emails. And read those left unfiltered. You don’t want to miss an important email because of hundreds or thousands of other spam. Here is an example of how you can use filters and labels for Gmail.
  • Reply to your messages. Are you the kind of person who reads a message and forgets to respond to it? Or even worse, do you leave messages unread for days? Don’t do it at work, you will definitely piss people off. Allow some daily time to go through your messages and maybe use some helpful options, like reminders, if you use Slack.

And that’s not all: structure your folders, clean your desktop and check your calendar! Oh and I almost forgot: close your Chrome tabs!

2. Work-life balance

Your company is not your house, your manager is not your father/mother and your colleagues are not your brothers/sisters. Sure, you might feel well at work, receive valuable advice from your manager and spend some quality time with your co-workers. Still, there is life outside work, remember that.

After I quit, I promised myself to never love a job again. Not in the way I loved Google. Not with the devotion businesses wish to inspire when they provide for employees’ most basic needs like food and health care and belonging. No publicly traded company is a family. I fell for the fantasy that it could be. — Emi Nietfield, After Working at Google, I’ll Never Let Myself Love a Job Again

You might think that staying at work longer than your program implies is perfectly fine at the beginning. You know less than your colleagues and you want to impress everyone. This is a terrible idea, don’t stay overtime. By doing this, you set unrealistic expectations and people might exploit you later. Focus on quality instead of quantity. Spend fewer hours at the office, but minimize distractions.

Think about it: you work 10 hours daily and you say “yes” to everything. After one year you realize that you’re a workaholic and that’s not right. Now you work 8 hours and refuse exaggerated requests. Do you think that your colleagues will be happy and appreciate your new healthy mentality? Most likely they’ll be unhappy that your performance has decreased.

Also, do not spend all your free time just on work-related tasks. It’s fine to improve your skills by watching online courses and building your personal projects. But make sure you allocate a couple of hours for some other areas of your life, like personal development, time with friends and family, or practicing your hobbies.

3. Google before you ask a question

You will need help. A lot. Not only that you are new to the main technologies, but you’re also probably new to software development methodologies, versioning and other things. So you’ll have to ask a lot of questions.

Always remember this: people have limited time. No matter how kind they are, they can’t spend the whole day helping you. So, choose your questions wisely.

How to ask a question without annoying your teammates? Google it first. Make sure you read StackOverflow answers, documentation, or blog articles. Do you have a nasty bug? Make sure you spend some amount of time trying a different solution. I was suggested at my first job to spend at least 1–2 hours on a bug before asking for help. Obviously, I’m not talking here about some weird configuration stuff, I’m talking about writing code.

And one last thing: before asking where a certain document is, make sure you search in your tools/links/files first. For example, if you are looking for a previously opened Google doc, you can easily find it inside the Google Docs app. Being organized also helps here, remember what we previously discussed!

4. Do not take code reviews personally

I remember hearing a discussion between two students at my university. One of them was outraged by the fact that the code he wrote was rejected, despite functioning properly. His team lead asked him to rewrite some parts because they could be better written. His colleague was also really confused.

When you learn to code, you focus on making it work. But when you start working on production code, you might have to make it scalable, maintainable and readable. You have to write your code clean. And writing clean code is definitely not one of the main skills learned in universities or online courses.

If you’re lucky enough, you’ll work in a team where people value code quality. So someone with greater experience than you might look over your code and come with improvement suggestions. Sure, sometimes it’s frustrating that after 3 days of hard work you finally solve a problem and your teammate looks over your solution and suggests rewriting it completely. But if you have the right mentality you might realize that code reviews are a huge opportunity to learn and grow as a programmer.

Example of a code review

Think about it: how many times have you wanted guidance for something you’ve done, but nobody was there to give it? Maybe you have cooked something, and despite being edible, it would have been nice to have someone explaining to you how to make it tasty. The same applies to code review. You are at the beginning, so embrace advice from more experienced programmers, do not take it personally. Most of them are not questioning your intelligence, they just want to help you grow.

5. Invest time in your development

As a programmer, you are a continuous learner. Technologies evolve so even after years of experience, you will still learn something new. It is important to challenge yourself and to choose jobs/projects where you might learn new things. However, you should have realistic expectations.

My job is great, I learn something new every day. — Random motivational speaker

When you hear the above quote, remember what I say now: it is an exaggeration. Even the coolest/newest projects have some parts when you have to do repetitive or routine tasks. You will not learn something new every day just from your job, do not have that expectation.

But let me tell you how you can learn something new every day: spend at least 30 minutes a day learning something new, related to your field. Not necessary to your current project! And yes, I’m talking about 30 minutes from your office hours, not from your free time!

So now you might be thinking: what will people say about this? Won’t my productivity diminish? Think long term, not short term. 30 minutes means 6.25% of your working time, so you still have plenty of time left. But in the long run, you spend about 11 hours each month learning new stuff. So when a new challenge shows up, there are bigger chances to already be prepared for it, considerably reducing the time required for it.

ZTM Academy — a great resource for web development

Let me give you a personal example: if I don’t have something urgent to do in the morning, I start by watching 30 mins of the courses from ZTM Academy. Totally recommend the Advanced JavaScript Concepts and Complete Web & Mobile Designer courses (and not only) and if you’re interested in Web Development. Why do I start my day like that? This way, I already have a feeling of accomplishment, I’ve already learned something new that day, so my morale is high. I might not be too frustrated if yet another boring task pops up later.

Sometimes you have to wait. You run a command and that takes minutes. What do you do in that period? Do you impatiently stare at the screen? Personally, I read a few pages from Clean Code during those waiting times. You might even start to love those waiting moments if you fill them with something you enjoy! Or maybe you have a meeting in 15 minutes, you finished your task and you do not want to start a new one. Read an article or some documentation.

6. Do not set your daily goals too high

Unfortunately, life happens…

Many programmers expect to code for 8 hours a day at their jobs. Those people end up feeling unproductive and frustrated because being a software developer is simply not like that. Let me explain to you why, so you can start with a positive attitude and realistic expectations.

First of all, programmers do not work 8 hours a day. At least those who have a healthy mind and work for healthy companies. On a productive day, you’ll probably work around 6 hours. You need mental breaks from your current task from time to time. There are cases when you simply can’t figure out a solution, then you go for a 10 minutes walk and when you come back: unbelievable, a great idea just came in!

Ok, so even on a great day, you can code a maximum of 6 hours. Oh, but wait, did you forget? You have meetings. And meetings are part of your working hours. Even more bad news: sometimes a meeting can be even more exhausting than a coding session! It happens to me more frequently to feel like needing a break after a 1-hour long meeting than after 1 hour of coding. I don’t even want to talk about 3-hours long meetings, I hope you don’t have to go through this. The point is that meetings are unavoidable (at least some of them) and you definitely have to take them into account when you prepare your schedule. Is there a day with 2 hours of meetings? Now you have only 4 hours left for writing code.

But wait, there is more! You have to do administrative tasks from time to time, like completing some feedback form, updating documentation, or creating some tasks on your JIRA board. Or even doing some training about GDPR or security policies. Also, you might need to test some functionalities developed by others (maybe you’re too inexperienced now, but in the future, you’ll also give code reviews), help some colleagues with their bugs or make some slides for a presentation. And look how little time there is left for coding…

So, what is the conclusion of this section? A software developer job means a lot more than coding. You might have days when you code nothing at all! But when you’re asked in your meetings what you did yesterday, please do not answer “Nothing”. Tell that you had 3 hours of meetings, 2 hours of administrative tasks and you also spent 1 hour helping your colleague. If your managers are not happy with this, they should find a way to reduce the hours allocated for meetings and administrative tasks.

7. Embrace the impostor syndrome

Did you ever had a couple of lower grades at the school and started thinking that you’re stupid and none of your previous accomplishments matter anymore? Or did you start doubting your skills after meeting someone you considered to have better skills? Say hello to the impostor syndrome!

Now listen carefully: if you’re at the right workplace, you’ll definitely feel at some moments that you’re the worst in the team. Why am I naming it “the right workplace”? Because you want to surround yourself with smart people, that progress over years and have knowledge to share. Be happy that you have seniors with 5–10 years of experience, do not be intimidated by that.

You might also meet people that are juniors, just like you, but have some amazing knowledge for their level. Should you feel bad? Of course not. When you see that a colleague knows a subject better than you, ask for some advice, maybe a resource to learn it yourself. You are in a team, not in a competition.

Motivational stories do not expose all the truth

Still not sure that you can overcome the impostor syndrome? Let me give a personal example. I wrote this article called Junior To Intermediate Developer in 7 months. Some of you might read it and be inspired, some others might be intimidated and think that they are not good enough. Do you know what I do not say in the article? When I was hired as a junior developer, I already had some programming experience. I went to college for 4 years. It was painful, but I definitely learned a lot in terms of programming knowledge. I also spent time taking web development courses, particularly The Complete Web Developer: Zero To Mastery, so I had a couple of personal projects on my GitHub account. Even more than that, I was a programming instructor, teaching others SQL and JavaScript.

Not only that I started with an advantage, but in those 7 months, I constantly worked about 60 hours per week. Not only that I went to a regular job, but I also spent time teaching others, doing online courses and even creating a course from scratch (Romanian only, sorry). I’m not saying that you should do that too. I just want you to realize that some people spend a crazy amount of time working even after their regular job, and you can’t know that!

I’ll go even more personal and confess to you that after 2 years of working as a software developer, I still feel that I am the least knowledgeable in my team! And that’s perfectly fine because all of my teammates have greater experience than me. Even if they had less, I wouldn’t mind. I know how much I work, I learn new things each week and I keep progressing.

Nope, you’re not. You’re just starting your career!

So, as a conclusion of this section: instead of comparing yourself with your colleagues, try to compare yourself with your former self. Have you learned new stuff compared to 6 months ago? Do you feel more confident? Do you collaborate better with your teammates? This is the only realistic comparison you can make. You only know your activities, interests and struggles. You do not know what others do to reach a certain level.

Conclusion

First of all, I wish you good luck in your future job! And I really hope that this article will help you achieve your goals.

Let’s summarise the most important aspects that can lead you to a successful programming career:

  1. Never stop learning – software development is continuously changing. Invest time weekly in your development.
  2. Be a team player – great projects are not built by individuals, but by teams. Learn from your colleagues and help them when you can.
  3. Be the best version of yourself – you are the one controlling your destiny. Stop comparing to others and set realistic goals.
  4. Separate work from private life – spend time with family and friends and invest time in personal development, not only professional development.

And that’s it for this article! If you have any suggestions for a future article, feel free to leave them at razvan.cirlugea@gmail.com.

Also, for more software development content follow me on Twitter.

--

--