How to prepare for coding
Does it even make sense for you to prepare for a coding boot camp?
You need to start with the “Why” before you take action on anything.
Hence, if you are still on the fence of deciding whether you want to become a software developer, check out my last blog post about the 10 Reasons Why I Changed from Software Sales to Software Development in 2019.
The blog is written as a self-qualification design to help you make that decision to take the next step if you resonate with 7 out of the 10 reasons and arguments provided.
I highly recommend going through my last blog post where I scope out the most powerful question you ask yourself, “Why”.
Not only do I provide the “Why”, but I also list out arguments that support each of these “Whys” and illustrations to bring the “Whys” into life.
It’s a comprehensive read for a good reason: for you to self-qualify yourself as a person who, based on reason, should take solid steps towards actions.
After you do that, this blog picks up on that to help you prepare for future execution.
Who Is This Message For?
This blog is a reflection of myself 2 years ago, who was in the process of making this decision and preparing to execute on a plan for the future. That future, is happening now.
I’ve also added extra insight on how I could have improved during that 1-2 year preparation period to potentially help you shrink that preparation time closer to 6 months.
Hindsight is 20/20 applies extremely well during my self-reflection. The value of this reflection for you is to help you save time if you intend to make this journey for yourself also.
How Should You Use This Blog?
You have to take this preparation period seriously and treat it as a mini-coding-bootcamp for yourself.
Take action. I’ve laid out action steps per category of discipline to help you prepare for a coding bootcamp.
Commit to taking action on this content versus content shopping around the internet. Granted, this probably isn’t perfect content and I’ve missed including other valuable insight.
However, for what it’s worth, the indexed content presented in this blog will help you make your first steps.
4 Best Ways To Prepare for Coding Bootcamp
#1 Self-Preparation: Starting With You
(A) Start With Your Why Story: The 5 Ws and 1 H
Simon Sinek champions the argument to always start with the “Why”. This is coupled with the other 4 “W”s and eventually into the the iterative “H” or the “How” aspect of your story.
Frame your Who, which should be you in your own story narrative.
Then write out What happened? When did it happen?
Where did it happen?
And the most powerful “W” (in my opinion), Why did it happen?
Lastly, from all these, you can scope out your How and take action.
Here is my rendition on this exercise:
(Who) I am looking to switch careers in the future into software development because I think it’s a better fit for me.
(What) I came to this conclusion based own my dissatisfaction in my current career (Sales), and it was a painful experience.
(Where) In my last several sales jobs, I’ve personally experienced and witness both the negative and pros of this career in myself and my co-workers and decided in 2019 (When) to make a decisive career change.
The main reason I’ve decided to do this (Why) is because I’ve experienced enough pain and challenge in my current career to catalyst a movement towards change to switch to software development.
(How) I plan to take solid actions towards this goal of mine by preparing for and joining a coding bootcamp.
When you have this small paragraph that defines these 5 Ws and 1 H, then you have complied a strong basis to support you through your change because all of these points empower your “Why” for change.
(B) Build & Practice These 7 Habits
I suggest that you target one of these habits and work on them for 1 week versus trying to tackle them all at once.
This will help reinforce each habit properly within a week’s span before you work on creating another new habit.
(1) Goal-Oriented Focus
I recommend you adopt the goal management framework called OKRs. It stands for Objective and Key Results. Objectives are qualitative statements like “I want to make more money”.
Key Results are quantitative statements that can be measured and tracked like “I need to make 25 sales per month” etc.
The framework is originally designed to align employee up to companie goals. But I think it’s a powerful framework for personal goal management also.
I will most likely dedicate an entire blog and video on how I use OKRs later in the future. For this blog’s purposes, you will create a OKRs per quarter (4 per year) and track and update your goals per week.
Below is an example of how I track my goals in a spreadsheet using the OKR goal management framework.
(2) Calendar Time Management
You need to be selfish with your time in order to succeed. This requires you to track how you allocate your time to corresponding activities.
I recommend you use Google Calendars or some visual, digital calendar that you can see on your desktop and mobile phone to track all your activities each day and week.
Get into this habit that I’ve learned from being a salesperson (a top-performing one also): if it’s not on the calendar, the event or activity you want to accomplish will not get done.
The benefit of this habit is you get to visualize your time and more importantly, get direct, objective feedback on what you care about.
Maybe one of your goals is to focus on learning a new skill or going to the gym consistently for 3 days a week, but you look at your calendar and find yourself playing video gamings for 2-3 hours everyday.
This habit should work in tandem with your OKR goals where you should schedule routine weekly activities that will help you achieve your goals.
Below is an example of my daily calendar activity:
Here is an example of how my calendar looks per week:
(3) Physical Exercise
If you notice in my weekly calendar example above, the purple colored events represent relationship based events.
Gym and working out are
Working out is like “sharping the saw” habit in the book, “7 Habits of Highly Effective People”. You reinvest in yourself daily via physical exercise so that you maximize your outputs in the future.
I go to the gym 4 times a week to swim for 1 hour. And in between those gym days I have weight lifting, stretching, and yoga sessions at home for 30 minutes.
Exercise is extremely important because it boosts your energy and increases your mental capacity as a result. If you are overweight or in lesser physical shape, it does affect your mental faculties also.
(4) Proper Diet: Try Weekday Vegetarian
Well, you don’t necessarily have to be a weekday vegetarian like I’ve decided to adhere to. However, you should not be eating junk food or food you know is not good for you in excess.
The reason why I adopted this habit is to insure that my body is working at optimal performance by not crashing.
When you eat meat, you normally feel sleeper afterwards because it takes more energy to digest it.
When you eat a non-meat diet, then you will experience more stable energy levels and overall your body will feel more clean.
In the book of Daniels, the main character Daniel requested to the king that he and his servants be permitted to only eat vegetables for a period of time.
As a result, Daniel and his men were in better health versus everyone else who ate a pure meat diet. This is known as the Daniel Diet, but I don’t go that far.
I am just a weekday vegetarian and I found this habit has helped me increase my performance and daily output.
(5) Consistent, Good Sleep
Sleep is important. Your performance will be crippled by having poor rest and recuperation from lack of sleep.
This requires you to sleep earlier and have good sleeping habits. You should schedule repeating events on your calendar on when you wake up and when you should sleep.
All your other habits will be negatively or positively affected by your ability to be disciplined and reserve proper sleep for yourself.
(6) Strategic Resting
This is under the premise that you will be attending a flexible, remote, online coding bootcamp in the future. If that applies to you, then you can try strategic resting.
This includes taking power naps, meditation, or a relaxing activity that doesn’t tax your brain power like programming.
Here are some benefits of strategic resting, but I practice this habit for increased productivity benefits.
Sometimes the decision to rest is a powerful action to take because it will increase your productivity output by a couple fold versus if you were to keep grinding it out when you are extremely tired and exhausted.
(7) Computer Keyboard Shortcuts, Typing Skills, Organization
Having the right shortcut habits will increase your productivity tremendously. Without building these habits, you will exponentially hinder your productivity output over time.
My personal favorite is BetterSnapTools which helps you manage your windows on your desktop view. It’s frustrating to resize your browser or application window using your mouse or trackpad.
By building this skill and habit, you can snap windows to your screen in your desired position to fully utilize your monitor screen real estate and reduce the time in doing it.
Here are few links that will help you develop shortcuts to make your workflow even better:
- Proper Typing SKills
- Toby for Chrome: Better Than Book Marks
- Mac Keyboard Shortcuts
- Windows Keyboard Shortcuts
- BetterSnapTools for Desktop Window Management: Best $2.99 investment of your life.
#2 Pre-Work Learning Preparation
If You Can, Start Learning at Your 9-5 Job
If your 9-5 job is at a tech startup, you can leverage the engineering department team mates there to get a leg-up in on your learning.
This can be via informational interviews, observing their meetings, etc.
Or if you were in a semi-technical role, like I was, you can focus on the more technical aspect of your job.
For me, I was a software salesperson that sold a complex product that involved multiple stakeholders and decision makers.
Major stakeholders include people on Engineering and Product teams. The product I sold was access to an API ecosystem,.
Therefore, in order to prepare for my technical demos, I had to self-teach myself the technical language behind APIs in order to hold a technical conversation with Product and Engineering stakeholders.
Granted, you are not writing code, but the more exposure you have into the world of engineers and the more big picture knowledge you have about how these technologies are used by engineers and their customers.
This practice will only will help you as a software engineer in the future.
Another avenue is to listen to software development audio content while you work. I did this in all the sales jobs I held so far when I was doing non-customer facing work instead of listening to music.
This can be audio content from YouTube, podcast, or Udemy courses, just listen to the audio and hide the video window in a different tab.
Start With Free Resources
Get started with freeCodeCamp. It’s a non-profit whose mission is to help teach individuals to code so they can help support non-profits.
I highly recommend freeCodeCamp if you were just getting started exploring the world of software development because it’s entirely free.
Moreover, if you tried it for awhile and found out coding might not be a good fit for you, then you saved yourself a lot of time and money.
In mid-2017, I started with freeCodeCamp and I finished their legacy frontend developer course.
Afterwards, I’ve considered other forms of learning.
Affordable Courses: Udemy
Later on, I started to semi-seriously self-study during my down time early 2018 using Udemy courses and it wasn’t till the Q3 2018, I increased my practice rate for software development.
Unfortunately guys… I don’t have an affiliate with Udemy (yet), so you are getting this list of courses I’ve took totally out of wanting to set you guys up for success by pointing you guys to the resources I used.
Big Picture Learning
The goal for this pre-work period of your software development journey is to learn for “big picture” understanding versus depth-based-learning.
You want to attempt this pre-work coding bootcamp phase on your journey to become a software developer like it was a mini-coding bootcamp.
In this phase, your goal is to complete projects via follow-along video tutorials either on YouTube, Udemy, or other free or moderately priced courses you can come across.
But the primary type of content you want
The advantages of this approach, which boot camps also implement, but on a more granular level, is that it teaches you to produce tangible results.
Therefore, during your mini-project-based-learning-bootcamp phase, your goal is to learn how to follow instructions to produce an MVP of some sort of application.
During this process, you will understand on a high level, how the code you write produces a prototype functional app.
Next up, the advantage of this approach is modular learning. An analogy we can call upon would be legos.
You are in charge of what color, shape block you wish to use to build your end project.
The advantage of Udemy is that it’s modular based learning. My advice would be to look at the curriculum of the bootcamp you wish to attend in the future and start learning those skills in your pre-study via Udemy.
Moreover, you can also get introductory lessons into other programming languages that the coding bootcamp you wish to attend doesn’t teach.
However, like other programming educator gurus would recommend, you should dedicate your energy, time to learn one programming language extremely well.
Anyways, this type of approach (modular learning) allows you to choose instructors on Udemy that speaks to your learning preferences and the best part is that its on-demand content.
Therefore, you can review those paid courses again and again, even during your actual coding bootcamp.
Here are the list of project based Udemy Courses I took:
HTML, CSS, Bootstrap
- Projects in HTML5 by Traversy Media
- Projects in CSS by Traversy Media
- Bootstrap 4 From Scratch With 5 Projects by Traversy Media
- Learn Node.js by building 12 projects by Traversy Media
- Node.js, Express & MongoDB Dev to Deployment by Brad Traversy
Ruby on Rails
- 8 Beautiful Ruby on Rails Apps in 30 Days & TDD – Immersive
- The Complete Ruby on Rails Developer Course
Algorithms, Data Structures
#3 Financial Preparation
(A) Create a Budget
The budgeting tool I recommend using would be Mint. Please refer to this other blog post I wrote and do a search for “budget” and you will find how I advice in creating a 3 tiered based budget system.
In summary, you would want to over budget as much as possible by assuming that you will need an inflated monthly burn rate, which would be 50% more than your normal monthly burn rate.
It’s a great idea to build this savings habit when you do have a full-time job and to practice budgeting, reducing expenses, and saving while you still have a steady income.
This early practice now will set you up for success when you enter your future full-time coding
Emergency Freedom Fund
I’ve written an entire blog post dedicated to the “10 Reasons Why An Emergency Fund is Important: Especially a 1 Year One”.
Please take a look (or skim through it) for a more comprehensive explanation.
For most people (myself included),
The more cash reserve you accumulated prior to attending a full-time bootcamp, the more flexibility you have when things come up during your future bootcamp attendance that you have to pay for.
The danger of attending a coding bootcamp full-time without having an emergency fund is getting into unnecessary debt.
This debt could have been mitigated with an emergency fund, however, without one in place, you
(C) Part Time Job During Coding Bootcamp?
If preventing debt from destroying your life is important to you (like it is to me), seriously plan how you can make money while doing your bootcamp part-time in the future.
Luckily, I was able to drive Lyft and offset my monthly burn-rate either as a breakeven or burning through hundreds of $$$ versus thousands of $$$$.
This is something I still keep in my
However, the drawback of these types of side-jobs is it drains your brainpower, which you really need in order to do well in your coding
Hence, this is why I chose to drive Lyft because
Plus if you get lucky based on your ride cadence and market demand per day, you can make $1500-$2000/month driving 12-16 hours per week (Morning 6:00 am to 9:00 am).
(D) Consider Doing Freelance Development
While Doing After Coding Bootcamp
I spoke to one of my past co-worker who was a self-taught software-developer who started as a freelancer.
He made the recommendation of either picking the freelance route or the
However, based on his opinion and experience, freelance experience trumps bootcamp experience because you have real projects to show for and validation because people paid you to code.
Then again, this can be something you can try to pull off after a coding bootcamp sparingly. Maybe. Since job hunting is a full-time job.
In summary, freelancing during your bootcamp is probably possible if you pull it off right, but for the majority of people they probably cannot balance this out.
Especially for me because I am driving Lyft, doing my coding bootcamp, and working on other side gigs like YouTube and blogging.
#4 Mental Preparation
(A) Be Ready to Have No Life: Saying No to Fun
Remember your “Why”, which we covered in point #1. This will help you say “No” to anything else that demands your attention and time.
One way to help you say ‘No’ to other things is to say ‘Yes’ to the right, important action items that follow the 80/20 rule to minimize your input and maximize your output.
You should adopt this principle which encourages you to focus on the 20% of your workload that will drive 80% of the results.
With this framework in place, it will empower you to say “No” to things that won’t support your goals or will result you in investing more time for little return.
(B) Be Ready to Fail, But Welcome Success
There’s a reason why I put mental preparation last. The above mentioned points are all geared towards taking action, which eventually builds powerful habits.
When you get closer towards execution, you can trust your habits to get you towards success. However, manage your expectation and be ready to fail, but leave the door open to welcome success.
I’ve interviewed a bunch of engineers and boot camp grad and they all promote this resounding message: a coding boot camp or even a computer science college degree does not guarantee you a job.
You are the only person that can dictate your own success.
Therefore, the only thing you can control is your actions (the direct outcomes of your habits) > that are the product of your habits (your values iterated over and over) > which derive from your values (what’s important to you).
Therefore, you should hold a value called growth mindset, which will resonates with you if you think it’s important to view challenges as opportunities to grow.
Next, from this value, it will produce habits of persistence in face of adversity and frustration.
Lastly, which will result in actions that allow you to pick yourself up and keep moving forward.
Under this framework, it supports the huge probability of facing countless challenges, tribulations, and failures.
Yet, through this framework, it helps you get closer to success which might be disguised as a perceived failure.
(C) Expectation Management in 3 Tiers
Most likely, the whole point of preparing for a coding bootcamp is to prepare for a career switch.
However, making a career change from a field that has no relations to technology poses a difficult transition.
Even for me, someone who came from a start-up-tech background still find this transition challenging because despite having a exposure to the technology scene.
Therefore, I’ve hedged my expectation into 3-tiers:
- Bigger, Tech Companies: Landing an entry software engineer role at a top tech company like Facebook, Amazon, Google, or Apple
- Better Salary: With a bigger, established tech company, the starting salary and benefits will be better. Meaning, the starting salary would be in at least 6-figures as a baseline.
- Company Culture, Benefits: Environment is more diverse, company culture has been tried and true, you will have the ability to stay in this company grow for several years because its more stable (comparatively), stock options, 401K matching, etc.
- Mid-Small Size Public or Start-Up Companies: This can range from start-ups between 50 employees and above. Most likely in the ~100 employee range.
- Decent Salary: Salary will be 6-figures if you negotiate well but it might be closer to 6-figures but not exactly there.
- Company Culture, Benefits: Environment is very dynamic and uncertain because its a growing start-up, stability is less likely and harder, there will be standard benefits but its not as powerful as the top tech companies. You will probably stay here for 1-2 years and try to get out.
- Smaller Start-Up Companies: This can range from start-ups between 10 – 100 employees. You are here to get your foot in the door.
- Decent Salary: Humble earning potential, you at least get paid as a junior developer or most bottom line: internship.
- Company Culture, Benefits: Work environment is constantly evolving, employees wear multiple hats, benefits are dismal and you will probably pay your dues for 1 year and look for other opportunities.
#5 Research Coding Bootcamps
This is the last stage after you’ve accomplished the other 4 points I’ve mentioned.
My next blog post is going to be dedicated on how I made a decision to go with Thinkful (Bloc.io Web Developer Track) versus other bootcamps.
Key Takeaways & Action Items
Start Planning and Taking Action Now
If your long-term goal or upcoming goal is to switch into software development and the coding boot camp route is a high probability, then you have to start implementing some or all of the suggestions mentioned in this blog WAY ahead of your desired boot camp start date.
Was This Helpful? Please Support 🙂
If you found this content to be helpful, I would love your support by clicking into these Amazon affiliate links in my tools page and go through your normal purchasing habits.
Or you can join my Patreon community. Your membership [Basic fan support at $1/month] will help support increasing the quality of the content
Doing this will support this blog and my other resources like my YouTube channel so I can continue to produce high quality, useful content on a weekly basis.
This blog has been inspired by these creators who specialize in inspiring other potential, prospective upcoming software developers with their content: Chris Sean, whatsdev, Joshua Fluke, Traversy Media, Dylan Israel, Engineered Truth, freeCodeCamp.
This blog was made to serve you. Enjoy.