Six Years in Software Development: Reflections and Insights
Before diving in, I’ll admit that retrospectives have never been my strong suit. To be honest, I’ve always delayed that process of honing my skills, putting off those moments that sharpen the blade. A knife, after all, serves its purpose best when it’s sharp, clean, and free of rust. I see retrospectives as the time spent cleaning away accumulated wear and sharpening the tools I’ve used to make sure they’re in good working order.
Using the metaphor of a blade might seem a bit dramatic, but there’s a reason I’m writing this: to reflect on my journey so far and to remember the importance of preventing moss from growing over years of progress. Now, as I approach six years in the field, I realize I’ve never paused for an in-depth reflection. I’ve built skills and experience, but have I been sharpening my craft in a way that truly makes an impact? That’s the question I’m here to explore.
Receiving My First Blade
Starting a career as a software developer is like swapping out a wooden training sword for a real metal blade. My career began in late November 2018, as a front-end engineer. In hindsight, “developer” probably fit my role better than “engineer.” As I look back, I realize that the word "engineer" carries a weight of responsibility that took me time to understand.
As a junior developer, I spent a lot of time considering what skills to build. When machine learning was trending, I enrolled in an expensive offline course while working. While I only picked up bits and pieces, I’ve found that even that basic knowledge has helped me navigate today’s AI landscape.
Back then, I naively thought that if I developed enough, I wouldn’t have trouble anywhere. But this was a frog-in-the-well mentality; I didn’t understand that “just developing” is a world away from “developing products that people want to use.”
I started out at a cryptocurrency exchange. My mentor was incredibly skilled, likely with about my current level of experience or a bit more. He wrote beautiful code, and I learned a lot just by observing. I still stay in touch with my former colleagues, and I feel lucky to have worked with such great people in my first job. At the end of the day, what you take away from a job is the relationships, and meeting great people can feel like winning the lottery.
The company eventually closed down, which is a familiar situation for those who’ve worked in development. As the environment became increasingly unstable, I decided it wasn’t the best place for a junior developer and moved to a larger company.
Showcasing My Hidden Talents
I believe my strength lies in “seeing the path” to a solution rather than saying, “I’m an expert problem-solver.” This means I’m instinctively good at pinpointing paths forward and can often dive into execution quickly, saving time.
I joined a larger company, where I could finally experience the structure and responsibilities that come with a scaled environment. I got to see just how varied the work of a front-end developer could be. The environment allowed me to lean into my strength of “seeing the path” and apply it effectively, for which I’m still grateful.
But looking back, I wonder what would have happened if I’d taken time to reflect at that point. I started swinging a “blade” that had grown dull from a lack of sharpening. The technical stagnation made me feel as if I were falling behind the best of the best, but I kept moving forward without pausing to look back.
Developing an Interest in the Scabbard as Much as the Blade
Here, the “scabbard” refers to company culture. I began to wonder, “What kind of company culture fits me best?” In the end, personal and organizational alignment is essential for long-term career growth.
Personally, I think “culture” is a word that isn’t thrown around lightly. Culture, it seems, often refers to practices upheld by senior leaders that don’t necessarily trickle down to everyone else. I now scrutinize company descriptions and job listings closely to see if a company’s “culture” is truly practiced, desired, or simply “routine.”
That said, until you’ve joined a company, it’s hard to know its true culture. So, take the time to consider it carefully. Once you’re in, leaving isn’t easy.
Sharpening the Blade
Having looked both outside and in, I feel it’s time to turn back inward and refine my strengths. To stay relevant, I need to embrace what I do best and let go of what no longer serves me. Recently, I rewrote my resume. It wasn’t a sign of urgent desire to leave but rather a step toward self-reflection. You can view my resume here, heavily inspired by the resume of Hyunseob Lee from Toss. It’s one of the best resumes I’ve seen, and I’m grateful he shared it publicly.
As I edited my resume, I realized that writing a half-hearted resume could easily lead to half-hearted job matches. Alongside technical skills, a resume should convey a sense of “who I am.” Without that, I’d risk joining a company without knowing if it was a good fit for me or where I could make an impact, which ultimately leads to a shorter stay and another job search.
I now believe there are two types of long-term developer careers: the “corporate developer” and the “engineering developer.” Corporate developers excel at internal understanding and adhering to internal processes, while engineering developers prioritize user value and ROI. Long-term careers without reflection can make us too comfortable with the former, focused inward rather than on user problems. A marketer I worked with once told me they made an effort to avoid this kind of stagnation, which I found admirable.
In Closing
I’m sharpening my blade—not to leave my company but to build something of my own, step by step. As a junior developer, my focus was on contributing to the company, but now, I’m focusing on self-branding and building assets I can call my own. While I can leave a company, what I build personally stays with me for life. So lately, I’m working to refocus on things only I can create and to build up my personal brand as I approach senior-level years.
This might not be a particularly technical reflection, but I hope it resonates with those in a similar place of self-development. I also want to encourage those feeling lost in their careers to keep pushing forward.
Finally, I’ll leave with a quote from a post I admire by developer Jaeyeob Han:
“As I gained perspective from products to teams, and from teams to organizations, I realized that being a team member, not just an engineer, matters. In the end, it’s about delivering maximum results with the resources invested, something akin to economic decision-making. While we may define fields as computer science, software engineering, or economics, good decision-making knows no boundaries.”