Note: this post is a part of me challenging myself to write more (in particular over 2000 characters / week). Feel free to skip this one. This is also my first post published with my custom editor!
When auditing my life, I see very distinct phases of change that started around middle school. In middle school, I found myself drawing comics and reading biology books for fun and outward appearances of being smart. I enjoyed being "nerdy". At the end of middle-school, I took on the challenge of becoming a better basketball player (an obsession that lasted through high-school). Once I got to college, after a terrible academic performance freshman year, I decided I would become a better student and focus on a degree in Mechanical Engineering.
Post-college I focused on my first job and finding what it meant to be a mechanical engineer in the "real-world". After starting my career as a mechanical engineer and project manager, I sought a more challenging career in software engineering. I spent days and nights learning, coding, and deploying web applications. I did this because I felt satisfaction in learning how things were working under the hood.
My curiosity has always driven me to my next destination. As life has evolved, I have faced more challenges (i.e. being laid off, losing family members, etc). These challenges naturally throw a wrench into a linear career path and cause the focus of everyday life to blur or shift.
After doing some back-of-the-envelope calculations, I have concluded that software engineering is worthy of sticking with. I still greatly enjoy learning more deeply about web applications, linux, data, databases, etc.
Software Engineering is expected to grow 25% in jobs over the next decade which surpasses most categories. You might think that the market is saturated with computer science grads... but its even more saturated with mechanical engineers relative to existing jobs and future job growth.
Now, for future stability, I believe I need to find a niche within my existing skillset as a full stack engineer. Some niches might be databases, observability, frontend frameworks, AI, mobile, game development, etc. I think by adding a niche to my existing skillset I can set a moat in between me and other applicants.
However, the key is finding a niche that immediately benefits a company in an obvious way. For example, if I choose a niche in databases, perhaps I can audit and speed up queries X% which improves performance and customer retention through a better experience. If choosing observability, developers would be able to more quickly debug issues occurring and increase customer retention/satisfaction.