When I was going through Coding Bootcamp, I wondered if I would really learn the skills I needed to be a software developer.
The answer is that coding bootcamp is only a small piece of the journey. Learning to code is a marathon, and attending coding bootcamp is like sprinting 500 yards to get to the gigantic water station. By attending coding bootcamp, you’re able to dump that refreshing, icy water on your head much sooner than the steady joggers, but the race doesn’t suddenly end. You still have endless miles ahead of you after you reach the water station.
Here’s a snapshot of what you learn in each phase of the marathon:
The Stretch (Learning Before Bootcamp):
- HTML and CSS: The Building Blocks of Basic Websites. (see General Assembly’s Dash or Codecademy HTML & CSS)
- Basic Programming Concepts: Exposure to loops, control flow, data types, etc. (see Codecademy Ruby or Learn Ruby the Hard Way)
- Basic Command Line Skills: changing directories, moving files, etc. (see Learn CLI the Hard Way)
The Warmup Laps (may be before or during bootcamp, depending on school)
- Object Oriented Programming concepts: Classes, objects, encapsulation, polymorphism, etc. (Lynda.com, $25/month)
- Basic Database Concepts (SQL / Relational Databases)
- Model View Controller
The Sprint (during Coding Bootcamp)
- how to solve problems with code
- how to make websites with code
- how to get data from other websites through web services
- practice making and breaking a lot of stuff
The Water Station (reaching your first job, where you get paid to learn and have more resources)
- Practice coding all day without sacrificing the ability to support yourself
- Have constant access to experienced developers for help
- Get company-provided resources: libraries of programming books, Lunch and Learns, etc.
- Get a clear picture of what specific skills you need to learn
The Rest of the Marathon
- Learn about design patterns (see Principles of Object Oriented Design in Ruby)
- Learn about Data Structures (Lynda.com, $25/month)
- Deepen your knowledge of every subject you studied: databases, Ruby, Rails, web services, command line
- Learn the operating systems, text editors or IDEs, monitoring apps, deployment and hosting apps, and other tools your work uses. (God help you if you have to learn Vim as a newbie.)
- Learn Agile best practices. Learn to scream and claw your face if your company uses Waterfall-style development.
- Learn other languages that give you a new perspective on code: C++, Java, Assembly, and Lisp are frequently mentioned as brain-stretching languages.
The hardest part of the journey is the beginning. It’s like running without water.
Things get easier once you reach your first job. Coding becomes a built-in part of your day, rather than an extra task that must be squeezed into the crevices of your life. Yet, once you start your job, you find that just learning on the job is not enough.
There’s still so much to learn, so you lace up your running shoes and get back on the track. If you’re like me, and you love the feel of the road beneath your feet*, this will be a joy rather than a burden. You never reach the finish line, you just learn to love the race.
*You might get the impression from this post that I love to run. HA! I wish. I love running about as much as I love drinking Clorox.