6 Lessons I’ve learned in the past 5 years as a software engineer

Source: quotefancy

A few months ago, I hit a 5-year mark in my profession as a software engineer. It has been quite a ride, and I’d like to share lessons I’ve learned throughout this 5-year journey.

Lesson #1: Don’t just chase the money.

In one of the jobs I switched to, I took a job because there was a small increase in my total compensation. I regretted it after a few months of joining the company because work was boring and filled with maintaining legacy code and building duplicated dashboards with minor changes.

During the interview phase or offer stage, make sure to interview the interviewers to reduce the risk that the work suits your needs and you like your potential teammates. Money should come second. If you really need that money, you can take the offer but make sure you have set your expectations for your new role.

Lesson #2: Communicate clearly what you want with your manager.

During my 1:1 meetings with my manager, I asked for any constructive feedback on projects and tasks I did and discussed the things I need to perform consistently so I could get promoted to the next level. Also, make sure to document the 1:1 discussion in a shared document with your manager.

Promotion is definitely not a checklist you have to complete. You have to demonstrate consistently the expectations for the next level you are aiming for. It is very important to utilize your 1:1 meetings to touch base on your accomplishments and action items.

Your manager should know how to navigate the career ladder. If they don’t know how to give you action items, feedback for you to improve on, or any clues on promoting people, that’s a big red flag that they don’t know what they are doing.

During the interview process, ask the prospective manager how many people they have promoted during his career at the company. It’s a good sign if they have.

Perhaps, promotion isn’t what you are looking for. That’s okay. Ensure to utilize your time wisely during 1:1 meetings for your needs.

Lesson #3: Learn how to present your work

Software engineers aren’t just “code monkeys” 🐒🍌. We don’t code all day.

Source: tenor

As you become more senior, you will start writing technical documents and have to present your proposals to other key stakeholders for their feedback. Also, you may have opportunities to present your work in front of your team, department, and the entire company. It’s important to present your work well to gain visibility and demonstrate the impact of your projects within your team or the company.

Lesson #4: Use your PTOs and/or WFH (Work from home).

I used my PTOs to recharge myself and explore places that I’ve never been to. There were a few times that I overworked myself. By taking some time off, I was well-rested and recharged to work again.

If you can work from home, you can save some on your PTOs. If your company has offices in different time zones, ask them if you can work in those time zones. When you get to the vacation location, you can pick and choose which days you want to take PTOs on. Of course, you’d have to have good WiFi.

Lesson #5: Have some hobbies.

You will be coding or in the meetings from 9 am to 5 pm in front of your desk. Get some hobbies outside of work to stay active and meet new people in your area. I’ve met some amazing friends through hobbies that I picked up after college.

Lesson #6: Give it a shot at starting a company.

If you aren’t interested in entrepreneurship, skip this part.

I tried to start a few companies but they failed or did not gain meaningful traction, and it’s okay to fail. Most of my ideas failed because I didn’t do the market research well nor validate my ideas.

You have one of the most valuable skills that employers will pay a premium for because you know how to build technology. It can be fun building stuff from the scratch and seeing people use your product. If you can find other like-minded people, partner with them or go solo.

If you don’t have any good ideas, you should wait until you have one. Make sure to validate your idea before writing code. There are many videos on how you can do it on Youtube.

Ycombinator: How to evaluate startup ideas

Parting Thoughts

My last 5 years have been a rollercoaster. There were ups and downs. Through those years, I’ve become a much better engineer and person.

In the next 5 years, I want to learn more about the DevOps side of software engineering and become really good at building and deploying AWS services. It’s the area that I lack the most because my previous engineering experience was based on the front end and back end.

I also want to try to start a tech company again. I’m not sure when, what, how, or with who but it will be fun!

P.S: if you find this story insightful, don’t forget to click follow! ☺️

Live life to the fullest,

Stephen Sungsoo Lee



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Stephen Lee (Sungsoo)

Stephen Lee (Sungsoo)

Software Engineer 🇰🇷 🇺🇸 | Avid Traveler — Writes about my travel, career, and personal finance. 📍in California. https://linktr.ee/korean_cowboi