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.