Blog, COLDSURF

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