Tips to Succeed in a Coding Bootcamp

8 August 2020 • ☕️ ☕️ ☕️ 14 min read

Tips to Succeed in a Coding Bootcamp cover

Photo by @ilyapavlov


How to make the most of your time at a coding bootcamp

A coding bootcamp is a short, intensive course that aims to equip beginners with skills required to start working as a software engineer.

If you've decided to take a coding bootcamp and that nervousness and uncertainty is starting to kick in, you've come to the right place. Although it sounds impossible to go from zero coding experience to a junior engineer in 12-weeks, rest assured, it is certainly possible but just completing the course does not mean you're job ready.

At the end of 2019, I completed the Software Engineering Immersive course at General Assembly in Sydney. My experience during that time can be described with one word - amazing. However, it wasn't all smooth sailing and there were some things I would've done differently.

Over the last year, I've had the privilege of speaking to alumni in the industry, current students and recent graduates and, through our collective experiences, I've gathered the top 20 tips to succeed in a coding bootcamp. Although our experiences are all from General Assembly in Sydney, the tips are applicable to any other bootcamp and also to remote learning in this current climate.

For me, success in a coding bootcamp comprises of two main outcomes:

  1. Developing knowledge and learning practical software engineering skills to the best of your ability.
  2. Gaining employment as a Software Engineer during or after the bootcamp.

1. Discuss with friends and family

Needless to say a career change is tough enough as it is without the support of those closest to you. Not only will you be spending a lot of time in class but most of your learning is done outside of class and that will take up much of your time. Having a discussion with your friends and family and getting their support will go along way in helping you free up your mind to focus and learn. This allows you to plan your time accordingly to factor in household responsibilities, special occasions and other commitments you may have.

2. Complete all pre-work

Some bootcamps will allocate pre-work to be completed before the start of the course. It's intended to give you exposure to the basics of coding and computer science while serving as a test to see if you've got what it takes to enjoy the course and complete the exercises. A high number of students who drop out within the first couple of weeks did not even attempt their pre-work.

Although the first two weeks cover the fundamentals of JavaScript, HTML and CSS, you shouldn't rely on those two weeks to give you the strong foundation you need further in the course. Completing the pre-work will ensure that you digest the first two weeks easier and will help reinforce what you learn.

3. Ask questions

One important rule everyday you're in class is: don't leave the classroom not understanding. If something does not make sense to you, ask. Trust me - you'll be helping many others in the class who were too afraid to ask.

4. Help others

Your classmates will need help as will you. By offering help and working through a problem with a classmate, you both will gain something from it including:

  • Learning how to describe a problem
  • Learning how to debug and work through possible solutions
  • Learning to explain concepts in an easy-to-understand way

All of this translates well into working as a software engineer.

5. Establish a routine and plan out your days

A common misconception about bootcamps is that you'll have no social life. In fact, when I was first deciding whether to enrol in a bootcamp, many past students said I would have to sacrifice my social and family life entirely. This definitely wasn't the case and I would strongly advise against it as you will burn yourself out.

You will have time for friends and family but it just won't be as much time compared to when you weren't taking a coding bootcamp. They key is to plan out your days, a week at a time if possible.

For example, a typical week could look like:

sample bootcamp timetable

You will need to adapt the schedule for your own personal circumstances and allow room for flexibility.

The main points to keep in mind are:

  • When you're in class or learning, your absolute focus should be on class and learning. When you're with your friends and family, your whole attention should be with them so definitely don't bring your laptop or be on your phone watching or reading about coding
  • Allow for some coding outside of class everyday. At a minimum allow for half an hour but, ideally, 1-4 hours everyday. Total for the week should be between 20 to 30 hours learning outside of class
  • Learning time can also be used for working on your portfolio, connecting with others and anything else related to the bootcamp

6. Take breaks

You'll be spending hours upon hours coding and it's very tempting to keep bashing away on your keyboard until you solve a problem, finish a feature on your project or complete an exercise but, for the sake of your mind and eyes, you must take breaks. A good rule of thumb I like to use is to take a 10 to 15 minute break every 45 to 50 minutes of coding. A break means staying away from any screens, not just your laptop.

Another good technique to consider is The Pomodoro Technique by Francesco Cirillo where you work in 25 minute intervals with 5 minute breaks in between. The 25 minute intervals are performed without interruptions.

7. Get enough sleep

You know how much sleep you need to fully function. Be honest with yourself and factor this in to determine when you stop coding for the night. For example, if you need 8 hours of sleep and you're waking up 8:00am the next morning, you'll be aiming to sleep by 12:00am. Wrap up anything screen related by 11:00pm.

If you haven't read Dr Matthew Walker's Why We Sleep, you should. He is Professor of Neuroscience and Psychology at the University of California, Berkeley, USA. He is also the founder and director of the Center for Human Sleep Science. Basically, sleep is an important part of you solidifying your learnings from the day and is also important for your learning the day after a night's rest.

I know most of you won't like going to sleep with a coding problem unsolved or a feature unfinished but it's not worth sacrificing sleep over. You won't gain much from spending that extra hour or two even if you do solve the problem or finish a feature. You need all your focus and mental energy on the next day's lesson and some of those lessons have gruelling code-a-longs that require intense concentration to understand and keep up.

8. Focus on the fundamentals

With the advent of libraries and frameworks such as React, Vue, Angular, Svelte and many others, the temptation is there to skim over the fundamentals and reach for using these, which will come back to bite you later.

Knowing the fundamentals well will give you a better understanding of these tools that abstract away a lot of the complexity for us. Furthermore, it means you're able to create things from scratch if you have to.

Languages come with many useful features without the need of external libraries or frameworks.

9. Practise, practise, practise

There's a place for watching tutorials and listening to podcasts. But, nothing will help you learn more than hands on coding. There's a common trait amongst those starting out: they're afraid to make mistakes. Let me tell you - it is OK to make mistakes! Your code won't work 100% of the time the first time you write it. By nature, programming is an iterative process, so make changes when things don't work and repeat that process until it does. Lessons may take minutes, hours or days but repetition is how these lessons stick in your mind.

10. Connect with others

While studying, you'll have access to alumni, many of whom would be working in companies or doing roles that you may be interested in. Start connecting with them and even other non-alumni in the industry to learn about what they do and what the culture is like at their companies. This is a good way to start discovering what areas you would like to work in. Ask for a 15-minute video call and come prepared with questions you would like to ask. Check in every month or so to see what they're working on.

11. Stay on top of careers stuff

This is going to be difficult because you'll be so immersed with learning new concepts, languages and frameworks. However, this should not be at the detriment of your LinkedIn profile, CV, connecting with alumni and anything else that is related to job search. Allocate at least 30 minutes to an hour towards this every week. The goal is to have all your careers stuff ready for you to start applying for jobs towards the end of the course.

12. Supplement classwork and homework with other resources

A bootcamp tends to offer more breadth than depth because it's trying to cover a range of topics that a fresh junior dev may encounter in their first job. The great thing about this industry is that there's so many resources online. Don't just rely on classwork and homework to learn.

Some of my recommendations include:

13. Don't start learning too many things at the same time

The world of software engineering is so vast with a new and interesting technologies being introduced on a daily basis. One of the common traps I see students falling into is the Fear Of Missing Out (FOMO) when hearing what other students or devs in industry are working or experimenting with. So, they try to learn it all at once. Some try to learn Docker, AWS, Linux, GraphQL, React and Django all within a month while taking the course. This will overwhelm you and you won't be able to focus and learn each properly, or in any real depth, to be able to apply in your first job.

You can and will learn these things but it should be over time. Focus on the topics covered in the course, especially the fundamentals, and pick one new thing to learn at a time. This should include incorporating it in a project.

14. Volunteer to demo

I wish I had volunteered to demo more during my time in class.

There will be opportunities to talk about your code when explaining solutions to warm ups and when speaking about your project. A good aim would be to volunteer to demo at least once a week. It's OK if it isn't as smooth as you would like it to be. With more practice, it will get better.

This also helps when it comes to interviews where you might have to explain your approach in a coding or whiteboard challenge. It definitely helps when you're working in a team where you have to speak to senior devs, designers, the client and other stakeholders.

15. Take notes and document what you're learning

As you're learning, create repositories on GitHub so that you have a record of what you're learning. Whether it's JavaScript exercises, notes in markdown files or a full-stack project, GitHub is the platform to store all the code you work with.

There will be times you want to look back at a feature you implemented in a project that took you ages to figure out. Having this project handy in github means you can refer to it easily and save a lot of time.

16. Spend time on projects after project week

An opportunity I see many students miss is to work on their project the days after the showcase. At General Assembly, every third week was a project week, where you would spend the whole week working on your project and present it on the Friday. This Friday "deadline" is just an arbitrary day to showcase your progress. Your project is not "homework" like it was back in high school or university. It is an investment in your skills and your portfolio and potentially one of the keys in getting you hired. So it's worthwhile spending an extra few days after that Friday to polish off a project while it's still fresh in your mind.

17. Make use of your instructor and teaching assistant

Your instructor and teaching assistant are there to support your learning experience. Most students do not take advantage of the opportunity to learn from them. Never leave the classroom without understanding something. Yes, it may require some research and tinkering on your end but your instructor and teaching assistant would've likely encountered the problem you have and can help you through it in a succinct way. It will fast track your learning.

They're also useful sounding boards for career paths and project ideas.

18. Leave your ego at the door

Some who decide to change careers and take a coding bootcamp are coming from a high managerial or even director-level position in their previous company. Their experiences will help them with a lot of the skills that are required when working as a developer (😱 it's not just coding skills that's needed?!). However, holding onto this can prevent you from asking for help from a fellow classmate, who has just finished high school and has less life and work experience. Some students are just going to learn faster than you. And that's OK. What's not OK is preventing yourself from learning off those students because you don't want to ask someone who's twenty years younger than you.

Leave your ego at the door. Keep it in mind that you are all here to learn.

19. Stay humble

It is awesome if you're able to pick up skills quickly, you've learnt how to build a shopping cart in an hour and you're about to implement authentication easily. Unfortunately, some think just because they've learnt something at a faster pace before someone else, they're somehow superior and treat their classmates like they're below them. This is wrong on so many levels. We all learn at a different pace, there will be some aspects that you might find easier than another student and vice versa. Person A isn't superior to Person B just because Person A knows more at that point in time.

It's good to rejoice in learning and to give yourself a pat on the back for achieving something. But stay humble and work on learning the next thing and helping others. Bare in mind, you'll most likely be starting off in a junior position. Any arrogance or superiority complex shown will make others not want to work with you and will make hiring managers not want to hire you.

20. Don't compare yourself to others

It is intimating when you see that star student in class who seems to just get it. Just like how there's things you'll find easier to do or learn than others, there will be students in the class who find it easy. This isn't a reflection on you or your ability. As long as you're improving and learning everyday, you're on the right track. Everyone's journey is different.

Conclusion

Of course this list isn't exhaustive. There are other tips to do with interview preparation, project selection, working on group projects and other aspects of a bootcamp. I've narrowed it down to the top 20 that I think you will find most helpful. It does not mean you have to apply all 20 tips to succeed but, certainly, taking a few on board will help. If you have decided to go ahead with a coding bootcamp, all the best - it is exciting times ahead 🥳

Last updated: 29 August 2021