Three Things I Wish I Understood Before Starting My First Software Engineering Job
When I started my first job as a Junior Software Engineer, I was nervous. I felt pressure that this job would make or break the trajectory of my career. I also moved to a new city the day before I started, so there was a lot of change going on in my life to make me anxious. As I look back, there are several lessons that I learned since that first day of my first adult job that I wish I could go back and tell that young man.

The Company Hired You Because They See Potential In You
I think this is the biggest point I wish I understood at the time. It took me until I had realized some of the potential that my coworkers who conducted my interview saw in me before I was able to understand this myself. While it is common sense that a company would not hire someone they don’t believe in, I still put unnecessary pressure and unreasonable expectations on myself. If I had understood the potential my coworkers saw in me, I would have been able to go into engineering problems with more confidence and have more joy and pride in my work.
Everyone Creates Bugs
I remember being humiliated the first time we had to fix a bug I created. I was concerned that causing this bug would harm my advancement potential and make me look bad to my coworkers. That being said, they say that the only bug free code is no code. While I am always going to be disappointed in myself for causing bugs, I have learned to think of bugs as being a process failure, not a personal failure. On a typical software engineering team, code will go through a process where it will be looked and or reviewed by multiple people through pair programming or code reviews. By looking at my bugs as process failures, it became far easier for me to figure out how the bug came to be and the processes I needed to follow in the future to not let a bug like that happen again.
It’s OK To Have A Little Fun On The Job
Because I put a lot of pressure on myself to succeed in my first job, I took my job very seriously. I was very diligent about when I would come into the office and when I would leave. When coworkers would walk to lunch at local restaurants, I would often stay back and quickly eat my bag lunch. While I think that taking my job seriously did help my performance, I now understand that I am not a code robot. I see the importance of taking the time to connect with colleagues over lunch or happy hour. People should get fulfillment from their jobs, and it was hard for me to get fulfillment from my job when nearly all of my time was spent behind my laptop staring at code. One of my favorite moments from my job recently was going to a coffee shop with an intern to celebrate his last day. We all need these little moments to keep us going through the everyday grind.
If you are just starting out in your career, I hope these thoughts are helpful to you!
