Talks
Strategies for being the Junior on the Team

Strategies for being the Junior on the Team

by Louisa Barrett

In the talk "Strategies for being the Junior on the Team," Louisa Barrett, a developer with a unique background in graphic design, shares valuable insights for junior developers transitioning into their roles. The presentation focuses on practical strategies for networking, finding a mentor, understanding different types of companies, and personal development for career progression in the tech industry. Key points discussed include:

  • Network Building: Barrett emphasizes the importance of networking, straightforwardly stating that people are the most valuable resources for newcomers. Attending meetups, industry gatherings, and conferences helps create social networks, and consistently returning to these events enhances visibility and creates stronger connections.
  • Finding a Mentor: She discusses the challenge of finding mentors, advising that it should occur naturally rather than being forced. Building relationships through networking can facilitate informal mentorship opportunities.
  • Job Search Strategy: Barrett categorizes companies into three types: product companies, consultancy firms, and startups, outlining the pros and cons of each for junior developers. Understanding which category aligns with personal learning and career goals is crucial.
  • Team Dynamics: The ratio of junior to senior developers on a team can greatly affect the learning environment. Barrett encourages juniors to seek out colleagues willing to mentor and share knowledge.
  • Learning and Continuous Growth: She stresses the importance of seeking feedback on code, actively engaging in pair programming, and documenting learned lessons. Setting personal learning goals and maintaining a balance between work, learning, and life are vital for long-term satisfaction and success in the tech industry.

Throughout the talk, Barrett incorporates personal anecdotes, recounting her journey from art school to developer boot camp, which resonates with many who have taken non-traditional paths into tech. She concludes with a reminder that the challenges faced by junior developers are universally shared, and with time and perseverance, success will follow. Overall, the talk serves as a guide to help newcomers navigate the complexities of starting their careers in technology while remaining positive and proactive about their growth.

00:00:11.840 Thank you all so much for coming. My name is Louisa Barrett. I'm a developer at Hot Code Works in Longmont, Colorado.
00:00:14.480 I just completed my term as the director of Colorado for Women Who Code. I'm also a regular teaching assistant at Girl Development workshops in Denver, and I am very excited about this microphone because I feel like a Backstreet Boy.
00:00:22.560 I would like to take a moment to talk about being a junior developer. If someone had told me just a couple of years ago that I would be here on this stage at this conference, speaking to a room full of people, I would have said two things: one, you're crazy, and two, what is Rails?
00:01:05.040 So how did I end up on this stage at this conference talking to all of you? Let's go back to the beginning.
00:01:11.040 I went to art school and earned a BFA in Graphic Design. I distinctly remember being in the only technical class required for my degree—a very introductory HTML and CSS course—and feeling completely like a fish out of water. I thought that whatever work I ended up doing after graduation, I did not want to be doing anything technical all day.
00:01:21.040 But come on, 20-year-old self, that was a huge mistake. It took almost seven years of working as an exhibit graphic designer before I faced the fact that what I really wanted to do was build things with code. I had to admit to myself that I had made a slight technical error by not learning to program.
00:01:36.240 So I switched gears. At that point, I didn’t know anyone in the industry, and my design work didn't involve any web or digital components. I was unsure where to start, but I recognized that I was missing out on any opportunity to do the work I really wanted to do.
00:02:01.439 Right around that time, a brand new six-month-long boot camp for developer training started up in Denver, which was practically in my backyard. I found out about this program while they were marketing admissions to their first class, and by the time the second class opened in the fall of 2013, I was ready. I applied, and to my complete delight and surprise, they let me in.
00:02:17.280 As you might expect, the course completely kicked my butt. Code crying is real, you guys! But aside from the challenge, it introduced me to incredible people who helped me shape my early career as a developer. These human connections have helped me feel confident that there is a place for me in the industry, and their encouragement has kept me pushing forward despite the obstacles I've encountered.
00:02:40.320 I have been fortunate to receive a lot of great advice and practical experience as a newbie, and I want to share some strategies and tips that have helped me stay on track and progress while transitioning from a student to an apprentice to a junior developer.
00:03:00.000 The most powerful tool you have as a newbie trying to gain traction is deceptively simple: it's people. This means you have to network. It’s not a dirty word. It’s something that everyone gives advice on, and while it often seems overused, it's extremely important and well worth the effort.
00:03:17.120 Building your network sounds easy enough, but what does that actually mean? Well, you need to do a little leg work to figure this out. Fortunately, the whole point of networking is that it’s social, and it wants to tell you what it’s up to. Great places to start are meetups, local industry gatherings, or conferences.
00:03:35.680 Events usually have some sort of activity like a talk or workshop, so you won’t just have to mingle for three hours straight without a conversation starter. It guarantees you something to talk about with other attendees during breaks, meaning you won’t have to make small talk about your cat—but you can if you want to!
00:04:04.240 One of the best things about networking is how much it’s like dominoes. You meet one person, they introduce you to someone they know, and before you know it, you’re introducing others to new connections. Once you get to know a few friendly faces, three hours of mingling becomes less nerve-wracking or stressful and actually quite fun because you will feel part of the network.
00:04:40.160 Plus, there's usually free pizza at these events, which might be the most important part! After figuring out which events you want to be a part of, make sure to keep showing up. This simple idea has made a big difference for me.
00:05:00.800 As a slight introvert and workaholic working at a fully remote company, it can be a challenge to get out and be social. I really have to psych myself up to attend meetups and conferences, especially since there will be many humans there! I have to balance my desire to be social with the tasks on my to-do list.
00:05:42.560 Once I’m at these events, I always enjoy them. However, even with these benefits, it can still be tough to make going to these events a priority, especially when you're new to the community. When that little voice in your head tells you to skip it this one time, remember that showing up keeps your talents and you visible in the community. This visibility can lead to doors opening for fantastic opportunities.
00:06:10.160 Those three words—'keep showing up'—represent some of the best advice I’ve received. They serve as a pep talk, motivator, and an excuse ruiner all rolled into one. Showing up helps keep you fresh in people’s minds, makes you one of those friendly faces others look forward to seeing, and demonstrates your commitment to being part of the community.
00:06:59.679 The importance of putting in face time with real people can't be stressed enough. This connection is valuable, especially when you don't have a long track record as a developer. Plus, it can help you find a mentor.
00:07:22.720 Finding a mentor can be tough; everyone wants one, but few know how to get one. In my work within the local community, this topic comes up often. Unfortunately, there isn’t a mentor store, although it would be an intriguing concept.
00:07:42.640 The mentor-mentee relationship cannot be forced. While it can be initiated by meaningful introductions with the goal of evolving into a mentoring connection, it must be a natural progression. It's similar to friendships—you're not going to be best friends with everyone you meet. Not every potential mentor will align with your needs or be able to commit time to help you, which is essential for meaningful mentoring.
00:08:15.520 This is where the social investments made through networking and consistently showing up begin to pay off. Casual conversations can easily lead to interest in new projects or difficulties you’re facing, and this is where you can ask for input from those you enjoy chatting with at events, especially those who are welcoming to newcomers.
00:08:47.520 To enhance your chances of successfully finding a mentor and forging relationships, consider broadening your search criteria. Mentors don’t always have to be senior developers; a mentorship doesn’t need to be a formal arrangement. Working alongside other junior or mid-level developers who are also solidifying their skills can be incredibly helpful.
00:09:15.360 Working with someone at a similar skill level often leads to a more equal exchange of knowledge and understanding. It's a different dynamic than working solely with a senior who might already know the solution to a particular problem.
00:09:40.640 Remember that the relationship you establish with a mentor is a two-way street. This person is investing their time in your education, time that they could spend on their projects or simply relaxing. It's important to demonstrate that this is a priority for you because they’re doing you a favor.
00:09:59.679 Be clear about what you want to work on. If you have specific questions, have them ready to cover during your meetings. Don’t expect your mentor to always have a structured lesson plan; they might not know what you need help with, so it’s on you to communicate your goals.
00:10:28.640 Networking, attending meetups, and searching for mentors will yield the additional benefit of meeting people from companies you'd potentially want to work for. This gives you an advantage as you begin your job search, providing you with a deeper understanding of the local tech landscape.
00:10:51.760 Connecting directly with people in engineering teams rather than solely focusing on HR offers a more well-rounded picture of the companies you are interested in. When you have conversations with the engineers on potential teams, you have a greater chance of discovering which companies might be interested in hiring a junior like yourself.
00:11:24.800 This knowledge will help you strategically find a company that fits your personal and professional aspirations. Be honest with yourself about the type of company that will be a good fit for you.
00:11:48.880 You want your first job to be a positive experience that helps you get your bearings while allowing you to learn as much as possible. There are three general categories that many companies fall into: product companies, consultancy firms, and startups.
00:12:22.480 Product companies typically have a single focused project and can often absorb the extra time and mentorship a junior developer needs. In contrast, while consultant companies may provide a range of experiences across different projects, the pressure of balancing billable work can be difficult for juniors. The startup world may offer fast-paced challenges but can sometimes be overwhelming.
00:12:54.960 Consider the size of the companies you’re applying to. Larger companies may have more flexibility to allow you time to focus on learning rather than immediate billable work. However, it's equally important to ensure you advocate for yourself to receive the mentorship and support you require.
00:13:34.240 Smaller companies might need you to dive in quickly and be productive, often giving you the opportunity to collaborate with everyone on the team. However, if you're having a slow day, make sure to speak up to get the assistance you need.
00:13:50.960 Navigating the ratio of juniors to seniors can be equally challenging. Being the only junior in a sea of seniors might feel like magic at times since everything gets done, but it can also complicate communication when you feel hesitant to ask fundamental questions that others assume are obvious.
00:14:27.040 On the other hand, working with teams that have a mix of juniors and seniors allows for a balanced exchange of knowledge, which can be beneficial for your development. It will also provide opportunities for you to help teach the new junior hires, further consolidating your understanding.
00:14:49.920 Find your go-to person on your team for help when needed. Many developers enjoy teaching and working with their junior team members, so be proactive in seeking out those individuals.
00:15:12.480 Pay attention to how your colleagues pair with you. The helpful ones will guide you through problems but might not break things down sufficiently. Those who focus on teaching will encourage you to find the answers for yourself, helping to build a solid foundation of understanding.
00:15:35.600 At the end of the day, being on a team with people who are invested in your growth is essential. Don’t shy away from having your code reviewed. Although it can feel uncomfortable to receive critique in a public setting, getting critical input on your work will undoubtedly make you a better developer and enhance your skill set.
00:16:03.840 By seeking feedback, you're learning new techniques and honing your awareness of what constitutes solid code. Actively participating in pair programming is beneficial—especially if you advocate for driving the project.
00:16:27.760 Engaging in a project while typing out the code ensures you absorb more, understand better, and remain conscious of the problem at hand. It's essential to remain engaged, as simply watching someone else code can lead to a disengaged learning experience.
00:17:00.320 Ask questions whenever you're confused, whether you're pairing or working solo. Communicate with your team if something isn't clear; failing to voice confusion can lead to misunderstandings.
00:17:34.720 Quickly seeking clarification keeps you moving forward on your tasks, preventing frustration. Your team would prefer to help clarify your understanding sooner rather than later, especially if you've been struggling for hours without success.
00:18:05.199 Remember to document explanations provided by your teammates. This minimizes repetition and allows you to retain information more efficiently, avoiding unnecessary re-explanations.
00:18:36.160 When you aren’t pairing, plan your tasks carefully, documenting the steps you need to complete before diving in. This roadmap ensures you comprehend the entire process and sets a clear direction for your work.
00:19:05.440 As you start establishing yourself on your team, note that there will be particular languages or parts of the tech stack that resonate more with you. Capitalize on those strengths, but don’t shy away from the areas that challenge you.
00:19:32.480 Pushing yourself outside of your comfort zone is crucial. You may encounter a pattern, often illustrated in programming learning curves, where initial enthusiasm gives way to confusion, which eventually culminates in mastery.
00:20:04.080 Don’t be afraid of being terrible at something; it’s often necessary and part of the learning process. Realize that time spent struggling is often a stepping stone to proficiency.
00:20:30.399 Set learning objectives and resist complacency. It’s easy to stick to what feels comfortable, but the challenges are where significant growth takes place. Creating learning goals keeps your development momentum alive.
00:20:57.440 Learning shouldn’t stop when you leave the office. If you encounter something at work that you don’t know, explore it at home. Building projects outside of your job gives you freedom to experiment and learn without concern for time constraints.
00:21:24.000 These side projects also provide opportunities to connect with other developers who might come to help. And finally, be kind to yourself.
00:21:45.600 This career path is full of learning peaks, plateaus, and valleys. Sometimes, it can feel overwhelming. Just remember, all experienced developers have faced similar challenges, and the ability to navigate them comes with time and experience.
00:22:24.400 When you start your first job, the transition can be quite shocking, with the energy it requires to maintain focus for long hours. If you find you can’t muster the energy to work on personal projects, know that it’s perfectly okay.
00:22:40.800 Training and endurance take time to build. Take rest days and make mental cross-training a priority. Being mindful of burnout and creating time for activities outside of coding that you enjoy will make you a stronger developer. Striking a balance between work, learning, and life will lead to a healthier, happier version of yourself, which will positively impact networking, mentorship, learning, and ultimately finding your first job in the tech industry. Thank you.