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

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

Learning to Code? Check Out These Awesome Treehouse Features!

Treehouse Home

Learning programming skills has become commonplace and, in many cases, necessary for certain jobs.  Responding to this demand, efforts to teach a beginner to code have been popping up in different forms all over the world.  From free online tutorials to expensive boot camps cost up to $20,000, there are a myriad of options to choose from. One of the most popular such endeavors is a website called Team Treehouse that offers high-quality tutorials and workspaces for an affordable price (starting from $25/month).  If rave reviews about Treehouse’s Front-End Web Development track and teaching style aren’t enough, you can even try the platform for free for 2 weeks before deciding whether it is the right place to invest your $25. Considering the average web developer in the United States makes $81,670 and the industry is predicted to grow by at least 20% in the coming years, the investment is probably more than worth it. If you aren’t convinced yet to give Treehouse a try, check out these awesome features:

Tracks

There are 8 available tracks on Treehouse: Web Design, Front-End Web Development, Rails Development, iOS Development, Android Development, PHP Development, WordPress Development, and Starting a Business.  Each track teaches units of information including languages (like HTML5, CSS, JavaScript, Ajax, Ruby, etc.) and allows you to work through examples as you watch the tutorials.Treehouse Tracks           Treehouse Co-Founder Ryan Carson’s favorite feature within the Tracks is the Scheduler.

“Once you pick a Track, you can choose how long you’d like to take to complete the Track. We then calculate how much time you should spend on Treehouse every day and then help keep you on schedule”

 

WorkspacesTreehouse Workspaces

As you follow along with the videos, you can also code along in a workspaces window that allows you to preview your work at any time.  There is no downloading or desktop work necessary.

Forever Expanding Library

One of the best things about Treehouse is their ever-expanding library of tutorials.  Even if you get through all of the tracks, there is always new content being added to its library that you can use to improve your development skills whether you are a novice or expert. Just in the past few weeks, they have come out with several new tutorials, from Git Workshops to Android Animations.  Its candyland for an autodidact!

Forums and the Gamification of Learning

Many online learning platforms employ the use of gamification as an incentive to continue to learn, and Treehouse is no exception.  Users earn points and badges that lead to reward videos that tell fun stories and are great mini-breaks before getting started on the next track. Another one of Ryan’s favorite features falls into this category:

“…getting your answer marked as “Best answer” in the Forum. You get extra points!”

The forums not only provide a space for students to interact as they learn and help solve each other’s issues, they also play into the gamification aspect of Treehouse to inspire users to remain active. Treehouse GamificationSo after reading about all these great, ever-growing features, are you reading to become an awesome developer?  Sign up for your free trial here!

 

“With Treehouse and a little imagination, you can go anywhere…” – Author Unknown