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.āā Go home