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!

Spotlight on Code School

Code School

Code School is an online learning platform that allows you to learn by combining video, coding in the browser and gamification to make the learning fun.  If you have an up-to-date browser, then you are ready to learn how to code!Advancement through the course happens only once you have completed a series of interactive exercises so you can master one component before learning the next.

Here are some fun, free starter courses to help you learn to love coding!  Additional courses are available at a reasonable $29 per month.

completed-try-jquery-799b20f65cd0fdcfb1b79c009305c017     Try jQuery Self-paced — no deadlines free Learn the basic building blocks of jQuery 2.0 and enjoy new video tutorials for beginners with related programming challenges.     completed-shaping-up-with-angular-js-83ceb89bd5255391f25230727ae3f019     Shaping up with Angular.js Self-paced — no deadlines free Learn to use Angular.js by adding behavior to your HTML and speeding up your application’s responsiveness. Get ready to dive into all the angles of Angular.js!     completed-javascript-road-trip-part-1-b9f5af5196fb596271f7f97b6b477d24     JavaScript Road Trip Part 1 Self-paced — no deadlines free An introduction to the very basics of the JavaScript language. Build a foundation of JavaScript syntax and learn how to use values, variables, and files.     completed-try-objective-c-d2ebeb17d5acfd77df0bf3ae3d2b89f7     Try Objective-C Self-paced — no deadlines free Learn the basics of iOS development with the Objective-C language. Start learning to develop iPhone, iPad, and Mac apps by building a foundation on Objective-C.     completed-discover-devtools-f78b78944d7fecf40a40c8f61df99a70     Discover DevTools Self-paced — no deadlines free Learn how Chrome DevTools can sharpen your dev process and discover the tools that can optimize your workflow and make life easier.     completed-discover-drive-2b1029e989beb93b6fe63af100dd28d9     Discover Drive Self-paced — no deadlines free Learn to build applications with the Google Drive API to organize, back up, and share photos, videos, and other documents in the cloud.   As always, don’t forget to update your Accredible Learning Profile once you have selected your course(s)!