How to Become a Programmer in 9 Weeks: Week 7

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:  

Confidence:  I am a junior developer, which means that I have learned about 1% thus far of what there is to know about computer programming.  Still, there are several things that I can now contribute to a project!  Going from never having so much as written a simple HTML form to building apps (albeit simple ones) in the MEAN Stack within 8 week has been a bumpy, but satisfying ride.  Development in general is a field that requires constant learning to stay up to date.  This is one of the things I love about it and exactly what keeps me motivated to keep learning!  After all, not being able to do something is a lot better than not having the confidence to learn how to do it.

Refactoring:  We have been working on project as a group for a large telecommunications company that is due on Thursday to the client.  As one may assume, this requires a LOT of double-checking, error-hunting, and bug-fixing.  Programmers call this process ‘refactoring’ and it has been blessing for me in that it gives me the opportunity to review what we have done and make sure I understand it.  I’ve probably learned more while refactoring than I have in an actual lecture!

Getting Back into the World:  My isolation during my learning time has been very much self-imposed.  I did it because I needed to focus, and it isn’t a decision that I regret at all.  However, now that the core learning process (at this particular bootcamp, at least) is ending, its pretty nice to start breaking free of Stockholm Syndrome and getting back in touch with my friends and the outside world!  I’ve been talking to new people during the job search and am getting ready to go see more of the Bay Area!

 

3 Lows:  

Cover Letters:  Anybody who knows me knows that I love writing.  Blog articles, fiction, nonfiction – I write everything, and I really enjoy it.  Unfortunately this does not carry over to writing cover letters.  Traditional cover letters seem plastic and void of personality, but writing one with ‘too much personality’ looks unprofessional.  Getting the right tone down for the right company is basically a guessing game, and figuring out which companies want ‘buzzwords’ and which don’t is practically impossible.  So basically, the chances of winning at writing any given cover letter is very slim.  Being in the middle of a job search, however, I get to write several cover letters a day.  Yay…on the bright side, at least I get to write something every day!

Giving up the Marketing:  I moved into development after spending some time as a Digital Marketing Consultant, so pretty much all my work history and internships thus far (yes, I am fresh out of college so there isn’t a ton of it) is in business and marketing.  Getting rid of these things from my resume has been painful – almost like I’m erasing four years of hard work.  Luckily, I can retain a few things since several Digital Marketing skills are actually relevant to development – but the sheer amount work that must be deleted is awful!

Project Crunch Time: For those of your who have been reading this series for the past several weeks, you know that I have been working on several personal projects – including myCard.  You also know that I love working on my own on these projects and value this time as some of the best learning opportunities I’ve had.  However, being rushed to finish is never fun!  Fact is, I need to really begin building a portfolio and there isn’t much time left to get it done if I want a somewhat nice one before leaving the bootcamp, but rushing to get it done is still a frustrating process!  Check on me in two weeks to see if the final product was worth the hard work – hint: it probably will be!

 

The Immersion:  

Craigslist:  I come from the Midwest where Craigslist is not generally what one trusts to find an apartment or job.  Apparently, its perfectly trustworthy here in the Bay Area, though!  Several people have suggested I get on with my job search on Craigslist…which has been pretty awesome.  Learning something new every day!

Caffeine Overload:  I am overloaded on caffeine.  This is something I plan to completely get rid of after the end of my 9 Weeks here, so the process of detaching myself has begun.  Surprisingly enough, I’m not crankier or more tired than usual as a result – in fact, its amazing how much better I feel.  True, I get tired earlier, but I guess going to bed by midnight instead of 3 AM is more a good thing than a bad one.

 

Takeaway Advice

  • Be confident in whatever you do!  Not being able to do something is not nearly as bad as not having the confidence to learn how to do it.
  • Cover letters have always sucked and will continue to do so regardless of the industry in which you are applying for jobs.  Get used to it.
  • If you live in the Bay Area, Craiglist is awesome!  Make it your best friend!

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 5

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:  

Angular.js:  I’ve been very interested in everything I’ve learned about the MEAN stack thus far, but with my focused interest in front-end development and how cool Angular is, it is definitely my favorite thus far.  There are just so many things that can be done with it and it makes my code dynamic without forcing me to really even think about it.

Autodidactism:  People in general learn in very different ways at very different speeds which can be frustrating at times – in fact, it was one of my lows last week.  This week, though, we switched gears a bit and had more freedom to break away from the group and learn on my own.  As anyone who reads my blog knows, I am very much an independent learner, so this was freeing for me.  I was able to slow down where I was confused and could speed through what I already knew, which resulted in a faster learning process.  I wish I had more time for this while learning Node, but am very glad to have had the opportunity with Angular; I have been learning it a lot faster and am able to use it pretty well in my projects as well.  Tip:  I also plan on putting all this stuff on my Accredible profile.  Employers definitely want to see what you have done, but if you’re new, it would also be nice to show them how you did it!

Individualized Projects:   Speaking of projects, working on my own idea and figuring out how to solve issues with the code without an instructor’s help can be frustrating, but for me it has been an amazing learning experience.  I am still working on the business card project I mentioned in last week’s update and have been incorporating Angular into it as I’ve been learning it.  As a result, the app is cooler and I’m much better at using the technology!  I figure having at least one major side project at all times will be my key to continuously learning the newest ‘hacks’ as a developer.

 

3 Lows:  

Cruise Control:  Learning and using a brand new skill has always been thrilling to me in some ways.  The process has its highs and lows, and I always end up on top when I have some new knowledge to show for it.  Unfortunately, sometimes I just fall into cruise control when I am really just practicing and the thrill disappears for a while.  This is an important part of mastering any skill, of course, but it is also a boring part.  Those side projects I’m working on still pack a pretty thrilling punch, though, so I’ve just been using that to balance things out a bit.

Editing Bootstrap:  Bootstrap provides customizable templates that make HTML and CSS much easier to use and as I have always said, it is one of my favorite development tools.  However, for someone new to programming, Bootstrap is awfully difficult to edit.  If it is in a minified file, it is pretty much impossible to find the right classes to append to the CSS file and even if it isn’t, BootStrap CSS is so big that finding the class one has been searching for is undeniably difficult.  As much as I love Bootstrap, it definitely has its own pain-in-the-neck moments.

No Time to Write:  Before I could write code, think about marketing strategy, or even use a computer properly, I was writing.  Writing everything – from nonfiction to fiction to blogs – has been not only a hobby, but also my way of learning something new.  Any time I want to learn a new concept, I write it down as a tutorial and end up teaching myself in the process.  Not having any time to do this has therefore been a bit disappointing and something I would like to get back to as soon as possible.  Needless to see, you guys will probably see a sudden flow of new blog posts after I’m done with these 9 weeks!

The Immersion:  

Living in the Bay Area:  is probably only a wise idea for a multi-millionaire.  Okay, that’s an exaggeration – but seriously, the hardest part of moving here to become a developer is trying to find a place to live after this bootcamp is over.  Apartments fly off listings literally hours after they are posted, everything of even decent quality is mind-bogglingly expensive, and I don’t have a car since I just moved here.   Solution?  I have no idea yet.

Weird Hours:  When I was in school, my average sleep schedule was 2-3 am to 7 am.  Then I jumped back to a more normal 12am to 8am when I was working as a Digital Marketing Consultant (and wasn’t studying day in and day out).  Then I decided to learn to code…and my average bedtime this week was 3:30 am.  Luckily, I know this will probably regulate when I have a job and a more regular work schedule, but the irregular sleep made me crave naps all week.  I actually made a mini-app that translates the word ‘nap’ into a whole bunch of different languages!

 

Takeaway Advice

  • Programming is not easy, but you will probably find some language or framework that you really love.  Keep at it until you get there!
  • Know how you learn best and don’t be afraid to create that ideal environment for yourself.  You aren’t in grade school anymore where you have to do what the rest of your class does.
  • Document your advances!  Of course, post your projects to GitHub, but also put them on your personal website, LinkedIn profile, and on Accredible (where you can also post any supplementary MOOCs that you took and project a more well rounded view of your autodidactic education!).

How to Become a Programmer in 9 Weeks: Week 4

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:  

Lightbulb Moments:  I came into this bootcamp with nothing but a small amount of HTML/CSS knowledge.  I had no programming background whatsoever and although I was quick with math as a kid, my career as an adult (albeit short) mainly focused on creativity and marketing strategy.  While this means that I have to work harder and still fall behind members of the group with Engineering degrees or previous programming experience, it also means that I get to have more lightbulb moments where I just get something after spending hours trying to figure it out.  Those are definitely the best part of any learning process and I had a few of them this week, which has been fantastic.

Hack-a-thon!   We went to the Health 2.0 Code-A-Thon in downtown San Francisco this weekend.  My best contributions were mainly on the front-end with designing pages and using the Google Maps API, so I didn’t get as much of a look into the back-end as I would have liked, but the entire process was intensive and we ended up with a working app within 24 hours of coding.  Check it out on in my portfolio on my website!

New Project:  Being a fairly fresh graduate, I have spent a lot of time job hunting and networking over the past year.  Meeting people for the first time, the questions I’m generally asked is where I went to school, what I majored in, and who else I knew at the event or in the industry.  This formulaic interaction would be followed up with a business card request and a promise to follow up (which would never happen because nothing in those conversations could really make me stand out).  This process has always been irritating to me for two reasons: nothing is conveyed about my capabilities, experiences, or really anything important, and the concept of paper business cards seems inefficient.  They’re easy to loose and having too many can make them annoying to sort through.  As a solution, I’m working on an app that allows users to make an ‘electronic business card’ that lists nothing but a person’s name, contact info, and a few of their most coveted skills.  These skills will be displayed as buttons linking to some sort of proof of the skill in question.  For example, if someone states HTML as a coveted skill, they can link it to their (Accredible!) portfolio of projects that have relied heavily on HTML.  I am really excited about building this thing – not only because I think it will solve a legitimate issue that people regularly face, but also because it will be an amazing learning experience to figure out how to make it all work!

 

3 Lows:  

Time Flies:  It almost induces a feeling of panic when a person comes closer to a deadline they have set for themselves and doesn’t have their goal accomplished ahead of schedule.  Obviously, a person can’t actually go from zero experience to programming genius in a matter of 9 weeks – and that wasn’t my goal to begin with.  I just wanted to bring myself to a point where I could be considered a junior developer and had the basics I need to teach myself the rest on the the job.  Learning the basics of programming isn’t as basic as the phrase indicates, however.  It requires time, effort, and practice – so naturally, I’m working hard and (understandably) am having my moments of panic.

Learning Styles:  People come into programming course with different skill-levels and learning styles, which is why I have always believed it is so important to set realistic expectations for the outcome of the program.  What I am also learning now, though, is that it is equally essential to set realistic expectations for the learning process itself.  We generally have lectures for the majority of the day during which everyone does the same thing.  Due to varying experiences with computer science, some people simply move faster than others which sets the pace out of whack for nearly everyone.  I am personally a better independent learner anyway, so my solution has been to follow along lecture topics and then learn it on my own afterwards.  This causes more time to be eaten up by each topic, but I’m able to learn the material significantly better so the trade-off has been worth it for me.

Portfolio:  Frankly, my portfolio is not as meaty as I wanted it to be by now.  I have several projects in the works that I hope to have up and running on my website pretty soon, but they’re not quite there just yet.  Having a portfolio is a validation of the time I have spent learning, so not having a great one is disappointing.  Luckily, I have enough projects in the works to expect to have some cool stuff within the next couple of weeks.

 

The Immersion:  

Sunday Funday:  I love having Sundays to catch up and learn completely on my own.  Like I said before, I am a very independent learning.  I love working in a team on projects and pair programming, but learning the tools themselves that I need to build the products have always been better learned when its just me and my computer.  Sundays, therefore, are my ticket to Progress Wonderland!

The Cold Plague:  Everyone got sick this week!  Literally everyone.  This has been literally the only disadvantage of living with my cohort – if one person contracts something, everyone gets it.  So learning Node.js while hacking up a storm in my lungs was fun (note the sarcasm).

 

Takeaway Advice

  • Build stuff that gets you excited – it makes the learning process far less tedious when facing a tough concept.
  • Continuously reflect on your timetable and plans.  Things will take different amounts of time than you planned for and it is worth readjusting everything to make sure you still accomplish what you set out to do.
  • Try not to panic if you are at a different place and learn differently from your classmates.  Just be prepared to do whatever you need to in order to keep your progress on track – even if that means stepping away from lecture and learning on your own from time to time.

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

Online Learning Beyond MOOCs

iPad with app YouTube on the screen in female hands in the offic

 

Massive Open Online Courses are fantastic ways to get a structured education without the typical associated costs, but they often take a long time to get through.  A MOOC could take anywhere from a few days to a few months.  There are other ways to learn something new online within 60 minutes, though.

 

TED Talks

TED Talks might not give you a thorough understanding of Design or Accounting, but many can help you develop a opinion by taking a new spin on things.  They are generally pretty short (some even as short as 5 minutes) and send a message, whether it may be to inform you about an issue, explain a new way of thinking about an existing topic, or inspire you to take a stand or some sort of action.  There are tons of them on Netflix and all over the internet.  Here are a couple great ones to check out.

 

 

 

YouTube Tutorials

Can’t remember how to use a specific feature on Excel?  Or maybe you need to learn how to apply heavy makeup for an awesome costume party.  YouTube has all sorts of awesome vloggers who put up interesting tutorials covering all sorts of topics.  The advantage here is that you can even make requests for something you need to quickly learn to complete a project.  Here are a couple of extremely popular YouTubers!

 

 

 

Helpouts by Google

YouTube tutorials are awesome, but what if its going too fast or you don’t understand a part of it?  Some people just learn better from a live teacher.  For them, Google Helpouts saves the day.  Helpouts lets teachers post their expertise, the duration they are willing to devote to a video, and price (although many are free).  Some Helpouts are pre-recorded and work largely like any other video tutorial, but others allow you to set up a time to meet with a live tutor who can walk you through a task or even teach you about a particular topic like a school teacher or college professor would.  Curious to learn more?  Check out this intro video.

 

 

A lot of fantastic learning happens in a classroom setting (in person or through open online courses), but even more happens just by picking up on what is going on around you and by immersing yourself into a project that you need to look up information in order to complete.

 

ryanlerch_Green_-_Query_IconCareer Tip:  You can add achievements to your Accredible profile that aren’t courses your registered for through our course finder feature!  Just click on the ‘add course’ button on your profile and select the wrench to customize your entry and add your projects and courses completed outside of MOOCs.  Then remember to link your Accredible profile to your LinkedIn page so your connections can check out all your accomplishments!

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 Shrek is an Autodidact

Shrek sand sculpture

Shrek is possibly the coolest ogre to ever exist – he also happens to be super smart, as he demonstrates time and time again throughout the Shrek franchise.  I’m sure you can guess what I’ll say:  Autodidact alert!

Construction Master

There are clearly other ogres in the world (cough – Fiona), but Shrek lives completely on his own in the middle of a forest.  Granted, he’s an ogre.  Regardless, the forest hardly has the modern medieval facilities available to the other characters in the movies!  Still, he successfully builds an awesome house with amazing amenities – and even creates his own system for finding, cooking, and serving himself the kind of food he likes!

So basically, he literally handles every aspect of his life on his own.  He catches, cooks, and eats in own food; builds, cleans, and maintains his own house; and plants, grows, and cares for his own garden.  Imagine how perfect he would be if he weren’t a violent ogre!

 

 

Fearsome Fighter

Nobody is born a fighter – they usually learn it to protect themselves, in fact.  Shrek is an ogre who is literally at the top of the food chain – so fighting isn’t really something nature has had to teach him.  Still, he is able to defeat every brave knight in the area…only to be challenged to fight a dragon…

…which he does effortlessly and frees the princess – and doesn’t even seem anxious about it!  That’s raw talent and self study.

 

 

Cultural Adapter

There are currently four Shrek movies and each one explores Shrek’s life with his family through his wife.  Interestingly enough, Fiona was born human – which means her entire family is human and lives a civilized lifestyle.  Of course, its unreasonable to expect that he could completely blend in, but he certainly didn’t do badly.  He became quite close to his extended family-in-law by the end of the second film.

 

 

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!