A software engineering bootcamp provides structure, curriculum, and periodic assessments to make sure you’re learning effectively. However, it can be difficult to learn consistently once you graduate from a bootcamp, since you’ll have to define your own goals and schedule. You’ll also need to find ways of holding yourself accountable.
In this post I will share strategies on how to effectively continue learning after graduation. At the close of the post you will find links to several resources to improve specific software engineering skills.
How to Continue Learning Effectively
A lot of the strategies discussed below may be familiar to you since you’ve likely deployed them during bootcamp. They will be equally effective in your postgraduate journey.
Set Goals
Bootcamps set concrete goals spread out over an entire program. Every student is expected to learn foundational skills. But once you graduate from a software engineering bootcamp, your goals will likely vary from your peers. For example, you may want to look for front-end roles over back-end roles. Or, the types of companies you want to work for may be different from those of your peers. It’s important to define what your goals are to effectively plan out your job search strategy and learning schedule. Make decisions about the types of roles you want to land, as well as what you want to continue learning about.
Determine Your Baseline
Bootcamps are effective because they are heavily focused on practice. Practice does not end once you graduate. You will especially need to focus on interview practice and coding assessment practice. You should continuously apply whatever you are learning post-bootcamp to gauge your skill levels and identify areas of improvement.
For software engineering job readiness, use services like Pramp, Meet A Pro, or Interviewing.io for mock job interviews. These platforms usually allow you to get detailed feedback from your interviewers (unlike real job interviews). Interview practice is crucial for success. If you don’t use one of the services mentioned above, find a friend to practice with. Prep answers to commonly asked software engineering job interview questions. Also, prep answers to general interview questions.
Make a Plan and Stick to It
Continuous software engineering skills development is key to your success. Once you have identified the skills you want to learn or sharpen, create a schedule for learning and practicing. For example, one of our alumni wanted to learn Java on his own while also practicing the skills needed for job interviews. The following is a schedule snapshot of one of his weeks:
Be Consistent
Mastering new skills requires consistent effort and self-reflection. Regular practice and review are key to solidifying your understanding and developing intuition.
Establishing a consistent study and practice routine is crucial for building good learning habits. Setting dedicated study and practice times throughout the day helps train your brain to focus effectively. It also ensures you are making consistent progress towards your goals.
Take Notes
Make note of new concepts you are learning and write down questions about the concepts that you find difficult. This is especially helpful when learning complex and complicated concepts like data structures, algorithms, and system design. Writing out the processes by hand will improve your retention and understanding since it will force you to think through every step.
Use Active Recall and Spaced Repetition
Active recall, also known as active retrieval or practice testing, is a learning strategy that focuses on retrieving information from your memory instead of passively absorbing it. By actively struggling to retrieve information, you engage your brain in a deeper way and foster deeper connections to the learned information.
Spaced repetition refers to the process of revisiting things you’ve learned or practiced in an increasing cadence to make sure the concepts stick in your mind. In the case of programming, you’ll end up using various foundational concepts over and over again. However, for certain uncommon concepts such as graph traversals, you’ll have to be mindful of revisiting them and practicing so you don’t forget how to apply them.
Use Analogies and Metaphors
Using analogies and metaphors can help unlock a deeper understanding of problems and strengthen information retention. A vivid imagination fuels this process, as it allows you to connect abstract concepts to concrete experiences. When taking notes, actively rephrase ideas in your own words and forge connections with your personal knowledge by drawing on past experiences or relevant examples.
Track Your Progress
Tracking your problem-solving and learning journey can be a powerful motivator. It can also help foster accountability and inform future planning. Use a spreadsheet to maintain a running log of solved challenges and completed projects for a clear picture of your progress. Conclude each day with a review, adjusting your tasks for the following day. This practice can sharpen your focus, streamline your workflow, and help eliminate unproductive indecision.
Try Different Perspectives
When you get stuck on a problem, try approaching it from a different perspective. There are usually multiple ways of solving a coding problem. When using websites like Leetcode, make sure to read up on alternate solutions from the discussion section to learn new concepts, frameworks, and approaches.
Don’t Forget to Rest
Your brain requires rest to embed information into your long-term memory. Not thinking about a problem you’re stuck on also engages your diffuse mode of thinking, which can help provide you with a creative breakthrough. Make sure you get plenty of sleep, as it’s crucial for long-term memory formation and mental health. Account for rest in your day-to-day life in order to sustain motivation and prevent burnout.
If you want to learn more about the above strategies and why they work, check out the book A Mind for Numbers by Dr. Barbara Oakley.
What to Practice
The specific areas you focus on after graduating from a software engineering bootcamp will depend on your personal goals. I’ll share some useful resources for specific skills to help you get started.
JavaScript concepts:
Books:
Front-end practice:
CSS Games:
Back-end practice:
Data structures and algorithms:
Whiteboarding
Visualizers:
Mock interview services:
Mock interview examples:
Hopefully, these guidelines and resources will help you make solid plans for your post-graduate life. If you are new to software engineering and curious to learn more about Flatiron’s program, check out our Software Engineering Bootcamp page. You’ll find information on how to apply, details on upcoming course start dates, and a link to a free syllabus download.