I left my job in healthcare communications to attend Flatiron School’s Web Developer Program in November 2015. I was excited to learn a new skill but also nervous about switching careers and unsure about how well I’d be able to manage a heavy workload.
At the end of a whirlwind three months, I decided to stay at the school to help other students learn to code and joined the team as an instructor. After working with two classes of students and reflecting back on my own experience in the program, I’ve noticed several things that I think can help students get the most out of their time at Flatiron School. I’m sharing them in hopes that they’ll help other students hit their groove while at the school.
1. Congratulate yourself for taking this huge step!
Ok, so you caught me… this isn’t really a tip about succeeding in the program but I think it’s still important. You’ve worked hard to be accepted into an elite program with a group of equally hardworking and talented people all trying to change their lives through code. So get pumped and give yourself a high five for committing to this new experience.
2. Expect to eat, sleep, and breathe code.
There’s no getting around it—there’s a lot to learn in three months. Expect to be coding every day, in the evening, and on the weekends. The workload is manageable but be prepared to turn down social events and cut back time spent with your hobbies. You’ve dedicated the time and money to do the program; you owe it to yourself to put in as much effort as possible. I promise that your friends and family will still remember and love you when the program’s over.
3. Focus on comprehension over completion.
There’s definitely something about opening up your Learn.co dashboard and seeing a whole list of newly deployed labs that makes you want to dive in and finish them as soon as possible. While finishing the material matters, it’s much more important that you understand the concepts than finish each lab. Spend the extra time to dive into the areas that you find confusing and come back to them often. Having a firm grasp of the fundamentals will be essential for project mode, when you’re building your own applications. If you need to skip a lab here and there to stay on pace with the class, do it! Your goal is to come away with a firm grasp on the material.
4. Pick finite, unfamiliar topics for your blog and student presentations.
As an immersive student, you’ll complete two types of technical presentations: weekly five-minute presentations on a blog post (in front of your class), and one ten-minute presentation with a partner at an evening meetup that’s open to the public. These presentations give you a chance to dive deep into a technical topic and give a informative and compelling presentation to a group. For both types of presentations, it’s helpful to pick topics that are:
- New to you. Why? There’s no better way to really learn something than to try to explain it to others! Picking a topic that you’re not already familiar with gives you a chance to learn something new. It’s certainly more challenging, but the extra work pays off when you become conversant on a topic that you previously knew little or nothing about.
- Small in scope. It’s better to go in depth on on one small topic that to give a brief overview of a big topic for two reasons. The deeper you can dive into a topic, the better you understand it. You’ll learn more by going into detail on a core Ruby concept than giving a brief overview of a CSS. Second, keeping the boundaries of the project small keeps it from eating up your whole week.
5. Practice effective pairing.
Pair programming—when two people team partner to code—is a big part of the Flatiron School program.
Pair programming builds skills that are important for professional developers, like the ability to clearly communicating your thought process around a technical challenge and understand another person’s approach. Simply put, people who can pair program well make great teammates. But despite its importance as a skill, pair programming is challenging for many new programmers. To get the most out of a pairing session, make an effort to discuss the problem and its possible challenges with your partner. Aim for equal time listening and speaking between partners, and focus on the process rather than getting to a solution quickly.
Ok, you caught me again. That GIF has nothing to do with pair programming. I just put it in because it’s aaaaadorable. You’re welcome.
6. Cherish the challenges.
This might be the most important piece of advice on this list. Programming is tough. You’re going to encounter documentation that’s outdated and inaccurate, error messages that are unhelpful, and bugs you can’t reproduce. When you feel like this…
…just remember that learning to debug is learning to code. It’s okay to laugh when your programs blow up, and a different error message is a good sign.
7. Reflect on your progress along the way.
The curriculum moves very quickly, which means you’ll constantly be learning new things. Because you’re always in the process of learning, it can feel like you never really understand anything. That’s okay! The fact is, every week you’ll be miles ahead of where you were the previous week. So remember to stop and look back at how far you’ve progressed over time and don’t judge your competence based on how well you understand the current material. Instead, focus on how well you know what you learned last week, and how much you’ve grown. You’ll be amazed at how much you’ve learned in a brief period of time.
8. Have fun!
You’re about to work hard and have a blast. Enjoy it!
Feeling excited to put Leigh’s tips into practice? Take a look at our Online Web Developer Program.