Navigating Software Engineering pathways: How new grads can grow through learning
At Flatiron Health, our commitment to fostering a culture of growth and development is deeply ingrained in our DNA. Our changemakers embody our core value “learn, teach, grow” through their spirit of relentless curiosity and knowledge-sharing. We don’t gatekeep—this series serves as a collection of diverse learnings, contributions, and perspectives from our changemakers. Ranging from personal development stories to first-time manager tips & tricks to impactful projects, this series showcases our commitment to continuous improvement with one another and within our broader community.
Starting your career journey as a recent graduate, you’re likely swimming in a sea of advice, with one constant echo: learn as much as you can. Yet, this guidance can feel overwhelming, especially as you step into the fast-paced and demanding world of software engineering.
Thinking broadly, I’ve come to see learning as a journey divided into two phases: Going Wide vs. Going Deep.
Early in your career, resist the urge to pigeonhole yourself with statements like “I’m only a backend engineer.” Instead, develop a breadth of understanding at the outset—or what I call, go wide. Not only will it provide a nuanced understanding that will guide your journey towards specialization, but also lay the foundation of becoming a well-rounded software engineer who knows all layers of the tech stack. For example, even if your primary focus is on frontend development, knowing the basics of infrastructure elements like instance sizing can prove useful when troubleshooting memory usage issues. This can be extended to getting exposure to a broader set of development tools, which will later help in identifying the right tool for the job.
As you progress in your career, the emphasis shifts towards ownership and impact. This phase requires delving deep into the intricacies of the tech stack so the luxury of "going wide" becomes scarcer, as learning new concepts requires more dedicated time and effort.
Build relationships
Once you’ve settled into your team, the next important step is building relationships, both within and outside of your immediate team. Here are a few key players to keep in mind:
Your manager
Your manager is there to help you succeed. A good manager takes a genuine interest in your goals, providing coaching and clarity as needed. At Flatiron, one of our manager values is to “prioritize rigorously and explain ‘the why.’” This clarity not only helps you understand your tasks, but also contextualizes your work within the bigger picture, further supporting your professional growth.
Your mentors
Seek out mentors, both within and beyond your team. Mentors can offer invaluable perspectives on your role and provide guidance for professional development. At Flatiron, there are several opportunities to find mentors. One of those opportunities is through our engineering onboarding program where the onboarding team actively seeks mentors for new engineers. New mentors set up welcome lunches, schedule monthly check-ins, and help you build connections outside of your team all with the goal of ensuring your well-being and smoother transition to working in a professional setting.
Business and product
This initially might seem like the most fuzzy relationship to build. A good product manager won’t drown you in information, but help you understand things like the business impact of your work. As an engineer, building your customer empathy can prove to be a difference in how quickly your career grows. At Flatiron, this is reflected in one of our core values – “Focus on your customer” – which calls on us to represent the customer’s voice in all we do.
Fellow grads
Learning is more fun with others in the same boat! Flatiron’s recently graduated SWEs start around the same time to help forge connections with fellow new grads. Similarly, at Flatiron, you’ll benefit from various events organized for new grads, including onboarding sessions known as bootcamp. Through bootcamp, you’ll go through various onboarding courses, team options, and social events. Apart from learning, these connections also help alleviate your stress as you’ll have a concentrated opportunity to figure things out together.
Expand your knowledge
The role of your team
The initial criteria of selecting your team is generally based on your preferred tech stack and overall impression. Most companies, like Flatiron, have a few weeks of rotation through teams as part of their onboarding process. I was lucky to have that system in place when I started my career.
Right off the bat, differences between teams may feel obvious. Some teams, for example, may have no time to spare due operational burdens. Learning can be quite tricky in this pressure-cooker environment. Conversely, other teams may have more space and resources to foster learning. While there’s no doubt that you can learn a lot from firefighting, achieving balance is important.
So if you’re able to understand team priorities, choose a team willing to create a learning environment for you.
Working full-time
Joining as a full-time employee means figuring out the rhythms of your organization, building important relationships, and finding your role in a seemingly giant machinery. For engineering organizations, these rhythms include design documentation, code reviews, sprint ceremonies, roadmapping, tech events, etc. Your manager, mentors, and fellow grads will help you navigate all of this.
Proactive learning
“Learning by doing” is fundamental to understanding engineering concepts. Begin with well- scoped tickets. This will help you understand parts of the team’s codebase, testing frameworks, transitioning from local to production environment, and the mechanics of project management.
When encountering new concepts, dig deeper into available documentation (whether online or team learning resources). Taking notes is something I realized a little late–your brain can’t process the firehose of information coming at you without some form of documentation.
Participating in group learning opportunities provided by the company or team, like book clubs or conferences, can also be beneficial.
This skill of actively learning will prove very useful as your career progresses because the learning never stops (technology keeps evolving), but the amount of time you can dedicate to it shrinks.
By prioritizing active learning, fostering relationships, and becoming comfortable with the uncomfortable by asking for help, you’ll lay a solid foundation for your engineering career. Here is my final piece of advice to you: embarking on a new career journey regardless of the function or industry, can be daunting for anyone. Amidst the challenges, remember to have some fun. After all, finding moments of joy and friendships in the workplace can be just as meaningful and rewarding as achieving your professional goals.
Are you ready to be the next changemaker in cancer care? Head over to our LinkedIn page Flatiron Health, visit our careers page, or join our talent community to learn more.
Vice President at BlackRock || Engineering Manager || Java Tech Lead || Solution Architect || Principal Engineer || AWS Certified || Azure || Docker || Kubernetes || Springboot || 18+ years experience || NIT Jaipur
5moGreat post ! I guess the insights are relevant even for the experienced folks .