Intro
Starting a new job can be an exciting yet nerve-wracking experience, especially when you’re thrown into an unfamiliar tech stack.
One Reddit user shared their recent transition from being a web designer to a mid-level frontend developer, and how the overwhelming complexity of their new company’s tech stack left them feeling uncertain about their qualifications and prospects.
As someone who’s been through the challenges of adapting to new environments, let’s delve into their thoughts and explore some strategies to navigate such situations.
Why I’m Writing This
Change is required for growth. The greater the change, the greater the growth. We avoid change because it can be uncomfortable, but after the experience we look back with elevated perspective and humility.
Every success story is a tale of constant adaptation, revision, and change.
- Richard Branson
I won’t go into a list of hard things I’ve gone through - We’ve all had big challenges, and will continue to have more. How we choose to face those challenges (ie. our mindset) directly affects the outcome. This is something I have learned and will continue to work on.
This post is for my future self, and hopefully someone else benefits from it as well.
Back to the Problem
The original poster began their career as a web designer, focusing on HTML and CSS. With time, they developed expertise in these areas, even earning the title of “CSS expert.” Their journey then led them to embrace frontend development with React and Next.js, eventually finding a rhythm and camaraderie with senior engineers at their previous job. Unfortunately, a layoff left them seeking new opportunities.
Their first day at the new company exposed them to a tech stack they hadn’t encountered before. The transition was marked by challenges – setting up repositories, understanding codebases, and grappling with the intricacies of preact for custom widgets that interfaced with another system. The overwhelming nature of the tasks at hand sparked feelings of inadequacy and self-doubt. The question arose: were they even qualified for this role?
Is There a Solution?
Based on my experience, there are several points I would share with anyone in such a predicament:
-
Embrace Impostor Syndrome as a Motivator
Impostor Syndrome is common when venturing into unfamiliar territory. It’s that feeling of not being worthy of your accomplishments. However, if you change your perspective, it can serve as a driving force for growth. By recognizing that you’re not alone in experiencing it and using it as motivation to keep improving, you can turn these feelings into a catalyst for progress. A mantra I’ve developed is that “satisfaction inhibits progress”. So be proud of who you are, but don’t be fully satisfied with your current self.
-
Communication is Key
It’s important to communicate your challenges and concerns to managers or other leaders. If the onboarding process feels too rushed or complicated, it’s perfectly acceptable to express your need for a bit more time to familiarize yourself with the new environment. There is nothing wrong with saying, “Wow, yesterday was quite busy! I’m going to take time to really understand this part of the codebase so I’m more productive next time.” Even seasoned devs need time to acclimate to new tools and systems.
-
Document Insights and Ideas
As you navigate the new tech stack, keep a record of your observations about processes, code complexities, and potential improvements. This proactive approach demonstrates your commitment to learning and enhancing the development process. Be careful about suggesting large changes, rewrites, or chasing after the hottest tech - this can taint how others perceive your interest in the project/company well-being.
My recommendation is to keep a detailed list of things you notice are overly complicated in processes, code, etc. Bonus points if you have an idea to improve it, but that isn’t necessary. Then after a few weeks (or months) you might say, “I really like how X is designed, and I think Y could use some of that.” Or ask questions like “What tactics for simplifying Z have been taken?”, showing that you want to contribute and not step in to save the day. You also don’t want to over-promise. 😉
-
Seek Collaboration, Not Perfection
Instead of trying to “fake it till you make it,” focus on collaborating with your colleagues. Be open about what you’re struggling with, and ask for guidance when needed. People generally appreciate team members who are eager to learn and work together, rather than those who pretend to know it all. Ask questions like, “Where can I find more info about how these two project integrate?”
-
Patience and Growth Mindset
Proficiency in a new tech stack won’t be quick. In any worthwhile venture, the more you learn the more you realize how much more you don’t know. Understand that this growth takes time. Having a growth mindset means recognizing that challenges and setbacks are part of the learning journey. It’s about embracing the process and maintaining a positive attitude towards learning and development.
-
Remember Your Potential
Lastly, remember that your journey and experience have led you to this point for a reason. You’ve already demonstrated your ability to learn and adapt in the past.
I firmly believe that you can grow into a role as long as you have the right mindset and motivation.
Conclusion
The original poster’s experiences resonate with many who have undergone similar transitions. Adapting to new tech stacks can be overwhelming, but it’s also an opportunity for tremendous growth. By embracing challenges, communicating openly, and maintaining a growth mindset, you’ll likely find yourself navigating the complexities of your new role with confidence. You have the potential to flourish if you can change your mindset.