How to Become a Programmer in 9 Weeks: Week 6

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 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:  

Social Media:  I’ve never been hugely involved with social media, but my later years in college and now my time at this bootcamp convinced me very quickly of the importance of Twitter and LinkedIn to my career.  I really only got a Twitter account at the beginning of the summer and didn’t particularly do anything with LinkedIn until then either.  After realizing that ignoring my social media accounts was probably a mistake, I began to make a few updates here and there and started interacting with people a bit.  Still, my cyber-life was pretty lame until this past week.  I had a whole bunch of awesome conversations with successful people in the industry and even got to schedule a couple of pair programming sessions!  I’ll be honest – I am not a fan of networking with random people who have no desire or need to speak to me; but that was pretty awesome!

myCard:  I’ve tentatively started calling my business card project (See Week 4) myCard and its been moving very slowly.  Fortunately, I’m also learning a lot and getting better with the backend as a result.  Repetition is the best way to remember something, and that’s exactly what I’m getting from working on myCard and my other personal projects.

Interview Assessments:   Week 6 came with a few emails and LinkedIn messages from potential employers.  Problem was, I’m still vastly under qualified for most of these since they wanted at least 2-3 years of experience in development.  I don’t have 2-3  years of experience in any profession, let alone development.  Still, I somehow managed to land a couple of Interview Assessments that needed to be completed before an in-person interview.  A lot of what I saw was way over my head.  The great part, though, was that I was actually able to do some of it.  Being able to look as something I had done that would have looked like gibberish to me a mere few weeks ago was a fantastic feeling!

 

3 Lows:  

Ruby on Rails:  Okay, so Ruby on Rails is not a low, per se.  I’ve actually been really excited to learn it because so many companies use it (and look for it in potential employees!), but the learning curve has definitely gotten steeper and steeper as the amount of material has increased.  Imagine learning Algebra, Geometry, and Trig all at once in high school – yup, it can get pretty crazy no matter how cool the material itself is. 

The Home-Stretch Rush:  When I started the bootcamp, multiple people told me that the first half would rush by and I would feel like I have all the time in the world to learn the material and do my job hunting.  Then, the second half would come and it would hit me like a sack of potatoes that I’m running out of time – fast!  I have to say, these were some pretty intelligent people because what they said is very true.  Bootcamps are hard work, but they also fly past in a flash.  Before I knew it, I was already in the home stretch.  Time to find a job (‘nudge nudge‘ if you know someone hiring)!

Perpetual Fatigue:  Realizing I’m running out of time has put me into overdrive which means I get even less sleep and have to work harder because its difficult to focus when I’m tired.  As a result, I’m pretty much always ready for bed.  Luckily, I’m planning to make up for lost REM time for about three days straight after I finish!

 

The Immersion:  

Hijacking the Kitchen:  Ethnically Indian, I have grown up around Indian food my whole life – so suddenly not having access to it can be saddening.  Luckily, the bay area is overflowing with Indian stores so I’ve been able to get some groceries and have pretty much hijacked the kitchen with my Indian stuff.  Our Food Director, Sarah, is an amazing cook herself who’s always trying something new in the kitchen herself.  I try not to get in her way, but nobody stands in the way of me and my samosas!

Dusting off that Resume:  I’d forgotten how time consuming it could be to write a resume.  As a business major in college, I spent a lot of time learning to write a solid business resume.  It is a lot harder to organize a techie’s resume, though, because of all the little skills (different languages, frameworks, technologies) that need to be communicated without crowding the single piece of paper.  Basically, I have to relearn how to write my resume and it is taking a looong time.  I also happen to be one of those people who love building a resume, though, so its really not so bad!

 

Takeaway Advice

  • Even if you’re an introvert, don’t shy away from social media!  It is integral to making connections, especially if you have issues walking up to people and talking to them in person.
  • Starting your own project can be daunting, but all the mistakes you make will be your own and you will learn from them.  It is definitely worth the effort.
  • Not all resumes are made equal!  Make sure you learn about how to optimize your personal experiences on your personal resume.

How to Become a Programmer in 9 Weeks: Week 3

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:  Shortcuts Galore

Bootstrapping EVERYTHING: Bootstrap is an HTML and CSS based front-end framework that saves a ton of time when it comes to laying out a webpage or app.  I’ve been using Bootstrap a lot more this week, which has left more time to work on design aspects and back-end applications.  It is essentially the perfect way to cut out busywork!

Git Init!  Using Git from the terminal can seem unnecessarily involved when I just need to make one update to my GitHub account, but now that my projects are including dozens of files, Git makes file sharing a lot easier.  I won’t say I’m a complete pro at using it yet – merging is still a pain in the neck when my HTML file suddenly has a row of ‘>>>>’ in the head.  I do think, though, I’ll be pretty good by the end of the 9 weeks!

The Front-End:  It seems like everyone is beginning to veer toward the side the like best – front-end or back-end – at this point.  I definitely like learning about the back-end and plan on developing proficiency in the area, but I’ve always been partial to art and design and front-end development makes way for this life-long interest as well.  I’m definitely looking forward to learning more design and UX principles as well!

 

3 Lows:  The Mysterious Errors

Error!  Errors.  Every two seconds.  Literally.  Even my instructor got stuck for a few moments trying to figure out why I kept getting errors in my JavaScript.  This can be extremely irritating when I need to keep up in workshop, but debugging has been a good experience in that if I get the same error enough times, I can remember how to solve the problem myself in the future.  Still, it is pretty frustrating while its happening.

The Terrifying Terminal:  Said Errors generally occur while working in the terminal.  Typing blogs and sentences has become second nature to me over the years, especially with my inclination toward writing, but typing for programming is very different!  We use keys that are rarely used in every-day typing (like ‘ } ‘ and ‘ ` ‘ ), which means that they aren’t engrained in muscle memory yet and my fingers still get clumsy as I type them.  As a result, I make more mistakes which aren’t easily rectified in the terminal; I always have to retype the entire line.

Node is NOT for Newbies: This is actually something that I’ve read in articles often.  I won’t say that Node can’t be learned by baby programmers like myself, but some concepts are a bit harder to grasp and there is a ton of stuff to learn before being able to do the smallest things.  From my understanding, this is the main difference from a language like Ruby.  The big advantage of Node (and really MEAN stack in general), though, is that its all JavaScript.  There is no need to learn a completely different language for different functions, which is pretty powerful when it comes to putting together complex code and learning new things within the stack.

 

The Immersion:  When Sleep Sounds Better than Money

Naps:  I’ve never been the kind of person who can take a short 30-minute nap during the day.  I’m still not – if I fall asleep, I’m out for at least an hour usually.  Naps have become necessary to keep myself going during the day without burning out, though, so I’m definitely getting used to them for now.  I’d like to go back to sustaining myself during the day since I won’t exactly be able to nod off at work half way through a meeting, but for now, I’ll just take whatever amount of sleep I can get!

Dining with Developers:  Food, as usual, is fantastic at Coding House!  Sarah made these amazing street tacos with a mango salsa for lunch one day…they were absolutely delicious.  I’ve made up my mind to fill up a notebook of her recipes as thick as my coding notes before I leave here!

Post-Bootcamp:  I have always been very clear about the fact that being at this bootcamp is a way to put myself in a programming mindset that will allow me to propel myself forward in the learning process during the months following the bootcamp.  I’ve really been working toward preparing for this during the past week by noting down all the things I didn’t fully grasp but don’t have time to go back to since we are moving so quickly.  I’ve also been making a list of related technologies and methodologies that I’m seeing online or the instructors are mentioning so that I can go back to them.  My goal is to spend a year or so after the bootcamp not only working as a programmer to practice and develop my new skills, but also continue to learn on my own rigorously through online tutorials and computer science MOOCs.  Of course, learning will be a life-long process in this career, but the next year will be essential for conquering the learning curve!

 

Takeaway Advice

  • Just because something seems annoying or useless, doesn’t mean its time to give up on it.  Practice with it for a bit.  Chances are, the technology is popular for a reason and you’ll end up loving it too.
  • Don’t let yourself be overcome by errors and mistakes.  Accuracy will come with time and practice!
  • Be realistic about your learning expectations.  Learning to be a proficient programmer in 9 weeks is frankly not realistic.  However, it is within your reach to learn how to learn programming, which is immensely valuable in its own right.

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)!