on February 1st 2017 i had my first office day as a software dev, you can read my original post on FCC here: https://forum.freecodecamp.org/t/i-got-a-developer-job-a-dream-comes-true-for-me/68426.
Since then it has been quite an experience. I learned a lot of lessons:
Before i started my first developer job, i was afraid that i would ask to many questions. I didn’t want to look lazy or stupid in the eyes of my coworkers. The truth is you should ask as many questions as possible. There are no stupid questions and every answer you get will give you a better understanding of the project.
Software developers often have hard opinions on how to do stuff or what technology is the best to use. Dont do this. Stay humble and dont think you know it all. The more open minded you are the more knowledge you will receive.
Teamwork is everything
Before your get your first job as a software dev you probably think that technical skills are the most important skills for your job. I thought so too.That was before i understood that teamwork is far more important than technical knowledge.
In a good team you should supplement and help each other. A good team is far more effective than a group of solo fighters. Dont strive to be a rockstar developer, try to be a good team player. Support and help your coworkers.
Learn to love legacy code
Every software that gets written needs to be maintained. The logical outcome is that you will probably work on a legacy project.
Legacy code has a bad reputation for being that horrible spaghetti code with lots of technical debt. But compared to green field projects you can learn a lot more from legacy projects. See it as a great learning opportunity, embrace it.
Do not allow magic code
In your career as junior developer you will come across code parts that you wont understand. Do not mark it of as this magical piece of code that somehow produces the right result. Look into it, ask your coworkers about it. Too often junior developers don’t try to understand complicated code parts and mark it of as magic.
You never test your code enough
One of the hardest lessons i learned as a junior developer was that you never test your code enough. Deadlines and hard to test legacy code makes it hard to test your code. Nevertheless you should not commit untested code to version control. Testing your code will make you a better developer.
Think before you code
New developers tend to rush into coding, before they even know how the final solution should look like. Before you start coding, think through the solution. A good practice is to discuss your solution with a senior developer before you start coding. This will give you feedback, show you faults in your thought process and will make you a better developer.
Get a mentor
Getting a mentor can be very beneficial. A mentor can be one specific person or a group of persons you go to ask for guidance. You can learn a lot from a mentor by asking questions or by simply observing them and look how they go about specific things.
Debugging is important
Debugging is one of the most important skills you can learn as a developer. You should learn about the debugging tools of your IDE. If you work with legacy code good debugging skills will help you a lot in your job.
It takes time
The path to becoming a good developer is a life long journey. Don’t worry if you don’t see immediate results. Enjoy the process and the results will come.
I am grateful that i can work in my dream job and i hope that i can be a helpful resource for others in a similar situation. If you have any questions please answer or PM me. Also i will blog regularly on junior-dev.com.
Thanks again FCC and @QuincyLarson, you had a big role in getting my first dev job.