How to Become a Programmer in 9 Weeks: Week 2

Screen Shot 2014-08-28 at 9.33.55 PM

Recap: Follow Me from HTML Illiterate to Professional Programmer

In case you haven’t read Week 0 (about my preparation), I am currently a student at a programming bootcamp called Coding House in the San Francisco Bay Area. I finished college a few months ago, but decided my business degree wasn’t going to let me do what I really wanted: to build rather than manage. This realization and my love for startups (and California) led me to begin working toward a career in software development.

 

3 Highs:  Practice means Progress!

Learning Made Easy:  Okay, this is kind of misleading – learning to code without any background in programming is not in any way easy.  Getting used to the daily regimen and long hours, however, makes it easier to focus and learn for longer hours without zoning out.  The constant feeling of never being able to completely catch up is inherent to a boot camp, but it has been a whole lot easier to work with since I’ve physically fallen (more) in sync with the schedule.

Seeing Results:  It is also been extremely helpful to set mini goals.  Everyone learns in different ways and at different paces, which becomes very important to keep in mind in such an intensive learning environment.  Recently, I’ve been taking what the instructor is teaching as a relative syllabus rather than forcing myself to try to learn things at his pace.  It helps to note down the topics and terms that are mentioned during lectures and then spending the evenings re-learning them on my own at my own pace by setting personal mini goals(sometimes even allowing some material to spill over to the next few days).  I’ve actually been able to retain and successfully use more information this way over the past week.

Building Stuff!  Considering the fact that I’ve only been here at Coding House for 2 weeks and only looked into programming for a few weeks before that, I am no expert any any language quite yet.  During my HTML/CSS preparation before coming here, though, what I did learn was a result of using the tools to actually build a website.  In the few bouts of free time I have (often giving up social interaction for it), I’ve taken on a few side projects to help me pick up more material in a short span of time.  For example, I’m currently working on creating a simple single-page website for an international charity I’ve been involved with for a few years.  The site itself is very small, but I’ve been trying to include some interesting features and plug-ins to get some practice in with front end development.  It can be tiring at times to spend even my free time working, but seeing what I’ve learned in such a short amount of time turn into a viable product has been absolutely worth it.  Not only does it serve as encouragement, but I can also add these things to my currently sparse development portfolio.

 

3 Lows:  The Case of the Missing Time Turner

The Command Line:  Using the command line has been…frustrating to say the least.  The command line is an interface that allows users to literally command everything on the computer from a single window.  For someone who has never used it before, though, it looks like a load of Gibberish.  Don’t get me wrong – the command line is a powerful and useful tool once you learn how to use it properly.  The issue is the ‘learning to use it’ part, though.  The tool literally requires its own language which simply calls for a whole lot of memorization and understanding of hierarchies.  It hasn’t necessarily been difficult to learn, just extraordinarily time consuming.  I’m looking forward to becoming capable of using it quickly, though – it makes it a lot easier to search through files and organize.

The Never-Ending To-Do List:  Like I mentioned above, the feeling of never being able to catch up is inherent to a bootcamp.  The entire point is to glean huge amounts of information in a short amount of time.  Making mini goals has certainly helped organize things for me, but the list of said goals seems to get longer faster than I can check items off.  Its like that dream where you are running toward something and can never seem to get there – except less creepy and unfortunate.  The Never-Ending To-Do list is less characteristic of a programming bootcamp and more a usual component of life in the real world.  Preparation is key!

Lack of Time Turner:  No, seriously.  I would pay a whole lot of money for Hermione’s time turner right about now.  I’m here for 60 days and have made every effort to spend as much of my time as possible learning, but there still isn’t enough to do everything I want to while I still have access to the teachers and resources that make the learning process so much easier.

 

The Immersion:  Kudos for Kung Pao  

Camping:  We capped this week off with a camping trip to the Redwoods as a team bonding event.  We played Airsoft and other games, which were a lot of fun.  Then it got dark.  And cold.  And I needed a toilet (which – surprise! – didn’t exist).  And lets just say I’m a city girl.  Being so out of my element was a good experience, though.  Learning to deal with discomfort is a pretty solid life skill.

Dining with Developers:  Sarah (our Food Service Director) put together some pretty awesome meals that definitely provided some bright spots whenever I got stuck debugging!  I’ve been extremely homesick for my mom’s home-cooked Indian meals lately, so seeing Indian stews and spices popping up has been amazing.  Plus, we had some awesome Kung Pao chicken this week.  Not having to worry about cooking and groceries is a huge plus when there’s so little time to learn so much – kudos to Sarah for making life a bit easier at Coding House!

Stockholm Syndrome:  Usually, I’m the kind of person who gets extremely irritated if I don’t get to leave the house and have a change of scenery at all for a full day.  I’ve been going days without setting foot outside here, though, and the kick is that I don’t mind that at all.  I definitely could take breaks and go out for a bit if I wanted to, but I’ve been more interested in figuring the next problem out or designing my next project so it hasn’t bothered me at all.  Stockholm syndrome setting in?

 

Takeaway Advice

  • Don’t beat yourself up over falling behind the instructor’s pace.  Instead, create your own mini goals and work toward fulfilling them on your own time.
  • Build something!  The fastest way to learn something is to throw yourself into the deep end and make it work.  Programming is no different.
  • It is never too early to begin putting together your portfolio.
  • Choose Coding House for the food!

How to Become a Programmer in 9 Weeks: Week 1

Screen Shot 2014-08-28 at 9.33.55 PM

Recap: Follow Me from HTML Illiterate to Professional Programmer

 

In case you haven’t read Week 0 (about my preparation), I am currently a student at a programming bootcamp called Coding House in the San Francisco Bay Area. I finished college a few months ago, but decided my business degree wasn’t going to let me do what I really wanted: to build rather than manage. This realization and my love for startups (and California) led me to begin working toward a career in software development.

 

3 Highs:  Success!

 

A Whole New World: Learning to code with absolutely no computer science experience (like learning to do anything without field experience) is mind boggling. We generally learn best by relating to the concept we want to learn to something we already know – its called mind mapping. There are terms and concepts that I not only haven’t heard of , but can’t really connect with other pieces of knowledge either. This makes the learning process a bit harder for complete beginners (like me), but the feeling of accomplishment after understanding something new is all the better too.  completed-javascript-road-trip-part-1-b9f5af5196fb596271f7f97b6b477d24

 

Balance, Young Grasshopper: Although I’m certainly no expert, having learned a good chunk of HTML5 and CSS3 in the couple weeks before making the trip to San Francisco has been extremely advantageous. Obviously, I wish I’d had time to learn more about JavaScript (considering this is a MEAN stack boot camp), but having what little background I managed to build is great for building confidence. Every time I have trouble with a concept, there’s always something else I can contribute from what I do know – which is a good ‘frustration buffer’.

 

Coding Builds Character: Debugging has probably consumed most of my time as an upcoming developer, which is frustrating because I never know if my code isn’t working because of a conceptual mistake or just a missing semicolon. The high, though, is that this is such a typical part of the job that my patience before becoming frustrated and angry has increased significantly after only being here for a few days.

3 Lows:  That Time I Fell Asleep on My Keyboard

 

Falling Behind: The worst thing is feeling as though you are the most behind in a group and are slowing everyone else down. Although I am certainly not as far in the learning process as I would have liked to be by now, apparently everyone gets this feeling and it works as a driving force. My solution thus far has been to prepare for lectures ahead of time. I generally try to find out which topics will be covered in the next few days and find video tutorials (Code School is my favorite for JavaScript!) and articles (JavaScript is Sexy; perfectly appropriate for work, I promise). I use these to pick up whatever basics I can so that I have at least been exposed to the terms and concepts I hear during class.neuropsychology

 

Slower Learning Process: This just comes with the ‘Whole New World’ territory – trying to learn something without any exposure to the topic can be a much slower process. I generally pride myself on being a fairly quick learner, but learning the logic behind programming can be tough (don’t believe me? Look up some loops within loops within loops – super nested loops. Loop Inception, seriously.) and can make things frustrating very quickly. My solution thus far has honestly been to suck it up. There are some things that just take time to pick up, but are necessities.

 

Sleeping is Silly: At least, that’s the philosophy around here. Most nights, I’m up until 2:30 in the morning and have to be up by 7:30 for the daily workout. 5 hours doesn’t seem too bad (as a result of a bad habit – really, 8 hours is ideal), but staring at a computer screen all day after what usually is a killer workout in the morning can be really taxing. They’re not kidding when they say you code 90+ hours per week at Coding House! Note: This is only okay because its for a few weeks. Obviously, lack of sleep will result in low productivity in the long term.

 

The Immersion:  The Food.  That is All.

 

Amazing Weather: Coding House is closer to the San Jose area, where people can’t really appreciate the perpetually beautiful weather like I can as an Ohioan (who went through a ridiculous Winter this past year). Plus, its always nice and cool in the evening to ward off a hot day’s fatigue.

 

Fantastic Food: Sarah, our Food Service Director, is probably going to be Betty Crocker in a few years. Needless to say, she’s an amazing cook! From Chinese to Indian to Thanksgiving dinner staples, she makes amazing everything. I was a fan of the Maple Pepper Chicken this week, but check out her blog – her recipes are definitely worth trying out at home!

 

Discipline: We wake up by 7:30 (at the latest) every morning, have what is usually a very intense workout, start working by 9-ish, have lecture until noon with a 30 minute break for lunch and then get back to it until around 6pm when we have dinner. Then, we work on projects on our own until we start dropping like flies. Generally, people are done with the day between Midnight and 2:30. Then we do it all over again. Workouts and team bonding activities are mandatory and we have healthy meals at our set times. Being in the schedule can be grinding at times (especially when you claim an allergy to exercise like me), but it is obviously good to fall into a disciplined daily schedule. Don’t get me wrong – everyone has tons of fun here! There are plans to go to the Redwoods next week to play Airsoft and camp out over night. I am 100% a city girl who doesn’t mesh well with the wild, but it will definitely be an interesting experience even for me!

 

Insights

 

The fact that Coding House is a full immersion bootcamp where we all eat, sleep, code, and repeat together is definitely its competitive advantage. Its one thing to spend 8 hours a day coding in class and completely different to literally spend all day learning. The bootcamp itself is a bit shorter than the average 3-month programming bootcamp, but the sheer amount I’ve learned in a single week speaks for itself in terms of quality. I’m looking forward to diving deeper into JavaScript next week after this week’s intro – and hoping to survive my first camping trip in a forest. Check this series out next week to follow my learning curve and pick up some tips on learning to program yourself!

How to Become a Programmer in 9 Weeks: Week 0

Screen Shot 2014-08-28 at 9.33.55 PM

Path to Programming

When people ask me what I want to do with my life, I tell them I want to build [game-changing] software in Silicon Valley. They think that’s pretty cool and the next question is always about where I got my computer science degree.

Erm…I didn’t.

I got a Business Administration degree and had no credentials, training, or even background reading in software development until about 4 weeks ago – which is when I Googled ‘difference between front-end and back-end development’. So yeah…’novice’ was kind of written on my forehead.

I am still definitely very much a novice, but that first Google search set into motion a series of followup searches. These led to my introduction to the concept of online tutorials and eventually, I found development bootcamps.

 

Its not About the Money

Development bootcamps are a new concept that have been gaining traction rapidly over the past few years. Starting with Dev Bootcamp in 2012, they’ve been popping up left and right. Most boast job placement rates in the upper 90%’s and some even guarantee positions for each of their students.

As a result, demand for admission has skyrocketed and the market is happily providing supply. While this is fantastic for the ‘coding bootcamp industry’, it makes choosing the right one all the more difficult for prospective students.

The promises bootcamps make about glorious 6-figure software engineering jobs had me unmoved – it is just too hard to believe that 8 to 12 weeks are sufficient to amass the kind of knowledge needed to land those jobs. I preferred to look further into bootcamps that made more realistic promises, like claiming to be able to jumpstart (not finish) the programming learning process and helping to find a junior developer position/internship that would serve more as a learning apprenticeship than a comfortable long term gig.

This particular criteria filtered out a huge number of options. Next, I wanted to learn stuff that would be useful to me for a while. Programming languages and frameworks go in and out of ‘style’ constantly – the last thing I wanted was to build skills in something only to have to start over in something new right away. My research said that JavaScript is a very popular upcoming language used on both the front end and back end – and that’s how I zoned in on Coding House.

 

How do You Prepare for a Bootcamp?

Before the bootcamps (but after the shorter online videos), I found instructional websites like Treehouse and Code School. At the time, I didn’t have the time (or sheer motivation to carve out time) to spend the hours on these websites that were needed to achieve even the lowest level of proficiency in programming. When I was accepted into Coding House, however, I buckled down began pummeling through them. I found that Treehouse was absolutely perfect for HTML and CSS with a fantastic tutorial for building a website. When I got to programming and JavaScript, however, I got a bit bored. The tutorials were long, and to someone totally unfamiliar with the syntax, they were difficult to follow as well.

I tried Code School at that point, and absolutely loved their JavaScript tutorials. Code School has shorter videos than Treehouse, and more time is spent in guided exercises than simply listening to lectures. This catered well to my minuscule attention span and let me build a solid introduction to basic (very basic) JavaScript. It should be noted, however, that Treehouse goes into a lot more detail – if I had more time to prepare before starting my bootcamp at Coding House, I would definitely have worked through all the Treehouse tutorials as well – just after finishing Code School for the basics.

The most important thing I did to prepare, though, was to actually build my own website. Its one thing to listen to someone as they do something and completely different to complete every step on your own with the result being the first website you ever develop. The website I built is simple, but it became my personal website and I can continuously make improvements as I learn new things. I also pushed this code to my Github account, where a potential employer or coworker can see the changes (improvements) I make over time.

 

Oh the Places You’ll Go!

Of course, I also spent some time panicking before flying out to San Francisco to attend Coding House. One thing I learned, though, is that there’s no room for stress and frustration in development. There will always be bugs in your code (as small as a missing semi-colon or extra backslash) that can prevent the entire thing from running. Looking for such bugs is time consuming, frustrating, and often stressful when you are in a time crunch. Flipping out will make it a bad experience instead of a learning one. I find that taking a little bit of alone time to reflect on how the day is going and how it can be better – almost like meditating – is very helpful.

The best part is, getting through the tougher initial learning process is a huge achievement – I am excited to have the skills I need to learn how to become a great programmer by the end of this bootcamp. There is a huge demand for good computer programmers (a trend which is likely to continue into the near future), so the job and salary outlooks are fantastic. Plus, being able to build an idea is a highly coveted skill. Many people even decide to build their own startups. The opportunities are endless and I’m excited to get started at Coding House and discover more along the way!