Things I Wish I Was Told Before Becoming A Software Engineer

Search for a command to run...

No comments yet. Be the first to comment.
Software engineering is a high-demand and high-paying field, which is one (but not the only) reason we see many people wanting to become software engineers. ManpowerGroup (a worldwide job search and staffing agency) reported in a 2022 survey that 76%...
AI has transformed how I work as a technical writer. Large tech companies are developing and sharpening these tools, but some of them are better than others depending on what you want to accomplish. T

I've been writing professionally for 3+ years, and on this personal blog for 5+ years. Throughout this time, I've built a large network made of developers, other technical writers, solutions engineers

I’ve been writing online for almost five years, with a professional focus on technical writing for over two years. If you struggle to create technical content that is easy to digest, this article is for you. Where do I start? If you don’t know where ...

LinkedIn is the only social networking site purposely built to help job seekers. Over the years, LinkedIn has evolved by offering two types of experiences: Job searching Content creation This article will describe how to maximize your LinkedIn fo...

In the last 12+ months as a technical writer, I've worked on several projects highlighting three technical writing elements. This article will introduce you to: Information Architecture Docs-as-code Content strategy Information Architecture (IA)...

Software engineering is different from other fields.
Someone may claim to have five years of experience on their CV, but only 3 out of 5 were organic experience. By "organic", I mean time when you're actively involved in the software development lifecycle, you get to experience different problems, and you're constantly challenged.
You get good at software engineering by experiencing things.

The software engineering career path involves many "levels": junior, mid, senior, etc.
Each level requires different skill sets and a certain level of experience.
These definitions vary a lot from company to company.
Someone can be a mid-level engineer in one company but a senior in another company, and vice versa.
Even though we are brought to believe that you should be X by Y amount of years, this doesn't have to apply to everybody.
There's no set standard to "how long should someone stay at X position" or "where should someone be within X years".
Why?
Because:
Everyone learns at different speeds. It can take months, if not years until some concepts finally click and stick.
Not everyone is interested in climbing the software engineering career ladder as quickly as possible.
Overall, a career is not a straight line for everybody. It may be for some people. Other people must face multiple roadblocks before reaching a certain level of stability.
In the end, only you know how much progress you're making.
Comparing yourself to others is unfair because everyone has different backgrounds, work experiences, etc.
You can only compete against the older version of yourself.
Software engineering is a relatively high-status job.
Many people know that it's a high-paying role which offers many perks and flexibility on top of the high salary.
The market for software engineers is candidate-driven. Candidates receive a vast number of opportunities. There are more opportunities than there are for software engineers. This leads many software engineers to identify themselves with the job we do.
I believe this is a mistake.
In the end, software engineering is a profession. And your profession is not your identity.
It's a means to fulfil a higher purpose. This could be to provide for your family or fund your hobbies or side-project.

Even though we work in Sprints, I consider software engineering a marathon, not a Sprint.
You cannot learn it all within six months.
I see software engineering as a long-term game.
"It takes ten years to become an expert" - cit.
Being a software engineer goes beyond coding.
It also involves:
Project management.
Incident management.
Technical Writing.
Coding is just one part of the entire software development lifecycle.
These are only a few things I wish someone had told me before getting into software engineering. The list can continue.
What is something you wish someone had told you? Let me know in the comments.
Until next time!
🙋🏾‍♀️