I have recently crossed the one-year mark as a professional software developer. I had a lot of assumptions about what it would be like and many of them were not all that too accurate. Here’s what I learned in one full year as a dev.
Just ship the code
What I would consider to be the most important thing that I have learned is this: Good programmers ship. The company you are working for doesn’t care about how elegant your code is, especially if that company is waiting on you to solve a problem. That doesn’t mean that you shouldn’t take pride in your work, but, due to the binary nature of a software’s value, a working software solution is infinitely more useful than a non-working solution with beautiful code. You will have time at some point during the project’s lifecycle to improve code quality, so do not worry about getting it perfect the first time. In fact, trying to get it perfect the first time is going to create more problems than it solves.
You will nearly constantly be finding out another way to not get something done. That does not mean that you are a bad developer, it’s just part of the job. A lot of software development is repeating a cycle like failing nine times and succeeding once. You are going to get the wrong answer more often than the right one, so you need to not get frustrated, annoyed, bothered, or any other synonym. I have noticed myself getting less frustrated outside of development work as well, which really isn’t the worst thing. As far as how this happened? I’m not sure. I just slowly became a lot less bothered when things didn’t work when I thought that they should.
You will be tired
You will be tired after work, especially when you start and everything is new. You won’t be tired in an “I walked twenty miles today” sort of way, but in an “I attempted to solve a bunch of problems” sort of way. I specifically said “attempted to solve” because some days you will be finding out a whole bunch of ways to not solve a problem. Thinking and learning all day for forty hours per week is hard work.
Getting up and moving around is a must. Do it every hour at work, do it after work, do it in the morning, do it whenever you can. Sitting at a desk all day is not overly good for humans, so getting up and walking around the office is a really good idea. Another part of moving is just getting away from your desk. When I am stuck on a problem, one of the best things I can do is get away from my monitor and think about anything else. It is extremely common to solve the problem while not thinking directly about the problem. Sometimes just thinking about the problem in a break room is enough of a change that I am able to come up with a solution.
Do not ever be afraid to ask a question. The person that you are asking the question would rather you have the answer than have you be stuck all day. That extends past the development world and applies to all coworkers that can assist you. Most likely they aren’t going to be annoyed and will be happy to help. Specifically for development though, ask a question, ask questions about the answer, and try to learn. In that same vein, don’t be afraid to get an answer and plug it into your project and move on. This ties into the earlier saying of good programmers ship. Sometimes the best answer is to get the software finished. I am not saying don’t ever learn or just throw random Stack Overflow code in until it sticks. At some point, it will be more important that a senior developer gives you logic that works and you solve the rest of the problem, even if you don’t know how the logic works completely. There will be a time to go back and figure out how that code works.
There is a lot of free content to learn from on the internet. You have websites like scrimba.com and coursera.org. Youtube channels like Web Dev Simplified and Kevin Powell. These resources have enough information to teach someone how to become a developer from the very start. Do not be afraid to constantly be learning new frameworks, skills, parts of a language, or anything else that has you intrigued. Another thing to consider, especially in your first year, is that you will constantly be learning new things on the job. Don’t put too much pressure on yourself to start learning something new right after you start your job. You can enjoy being a professional for a bit!
Development is fun
One last thing to remember – software development is fun! Don’t be afraid to enjoy it! It’s a very rewarding job in ways that not many people get to experience. Yes it is frustrating, yes it is hard, no one will ever know what you do, and yet it is an enjoyable thing to do, especially for a job! I look forward to the new problems I get to solve because even on seemingly simple projects, something cool is going to pop up.
These are a few of the things that I learned in my first year as a professional software developer. I had ideas about them before being employed, but these really stuck out once I was doing development full time.