coding

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.

A Reflection on the Value of a Programming Bootcamp:

It is hard to believe over 2 months have flown by since I made the decision to transition my career from marketing to web development! Starting out, I was extremely suspicious of the claim that I could spend 9 weeks at a bootcamp and come out as a marketable programmer.

So now, 9 weeks later, am I an amazing programmer capable of coding like a 5 year veteran? Of course not – but I was never expecting to be. I was expecting to leave Coding House with an understanding of the very basics of programming and and idea of the tools and direction I needed to continue to learn on my own. I can confidently say that this expectation has been met.

Every time I tell a programmer that I am learning to code without a computer science background and have started this process by attending a bootcamp, I immediately get a link to and article called Teach Yourself Programming in Ten Years by Peter Norvig. Just to be clear, I agree with Dr. Norvig 100% – in fact, I don’t think one can even be a master programmer in ten years. The technology just changes so quickly, that there is always much, much more left to learn.

In my eyes, this is the most important point to keep in mind. Being a good programmer requires constant learning just to keep up with current industry standards. In this situation, it seems like a hiring manager would put the most value not in the programmer who has the most years of experience, but in the programmer who has a history of learning and adapting the fastest. The one thing every single programmer I know has said is that anyone can only become a better programmer by simply programming. It goes back to the classic saying that practice makes perfect. Being at a coding bootcamp has taught me how to practice – now I can plan on getting out there and really getting my hands dirty.

The last week of my time in my bootcamp has been devoted mainly to finishing up projects, getting ready for the job search, and tying up loose ends. As such, I’d like to take this opportunity to reflect on the highs and lows of the entire 9 weeks rather than just this past week.

3 Highs:

Access to Resources: Having access to all sorts of different learning resources and online tutorials has been fantastic! Everyone has their own way of learning, and having the option to choose the best method from such a large selection has been of great value.

Freedom from Daily Life: This is the most valuable thing being at a bootcamp has offered. It is very difficult to carve out time from a busy schedule with a full time job to learn something as colossal as programming on the side. Stepping away from the time consuming details of a busy life gave me the opportunity to step back and just learn.

Independence: An autodidact to the core, I learn best when I am able to dictate my own learning path and schedule. I had the flexibility to do that throughout this beginning of my learning process, which has been imperative to its success. This has also allowed me to lay out plans for my continued learning after this week, and I am incredibly excited to get started!

3 Lows:

The Frustration: Learning anything new can be difficult, but programming introduces a whole new way of thinking about logic – a new problem solving language, if you will. Like I’ve said, I came into this bootcamp HTML illiterate. I knew nothing about even the simplest markup language. As such, diving headfirst into the programming material and trying to come out on top was ridiculously difficult and frustrating. I began referring back to the edX course, CS50X from Harvard to help me out with many of the basic concepts – that was one of the best decision I ever made. David Malan is a fantastic teacher with a very unique way of relating a topic to a student in a way that makes it easy to understand.

Fear of the Unknown: Before becoming a programmer, I had experience with writing business emails, drafting business resumes and cover letters, and writing business reports. What I didn’t know how to do was accomplish all these tasks from the point of view of a technologist. A developer’s resume requires different material formatted in a different way than a marketing consultant’s and programmers use unique jargon that I didn’t have any idea about at all. It is human nature to fear the unknown, and I spent a good chunk of the first few weeks doing just that!

Falling into Step with the Structure: Coding House has a very different way of teaching than all the other workshops, classes, and schools I’ve been a part of. The schedule is extremely fluid and adaptive, and the curriculum follows in suit. This is not a bad way of doing things, by any means, but it was not something I was used to, even when I taught myself as an autodidact. I always set an objective for myself, researched and devised the steps I needed to complete to get there, and then followed my plan. Falling into step with the way things were done at this bootcamp took some time, but I think it helped me become more flexible with my learning conditions as well.

Takeaway Advice

Carve your own path. What works for others may not work for you based on your skill level. If you have to take a detour, like I did with CS50, you will only come out stronger for knowing to take it.

Practice really does make perfect. 10,000 is the accepted number of hours it takes to become pretty good at something, and programming is no different. Just build something!

Be flexible. You will usually not have your ideal environmental condition for learning. The efficient answer to this shouldn’t be to change your environment – it should be told change your requirements.

Thank you for following my initial journey into programming! I hope you learned something from my experiences and if there is any way I can be of help to you as you begin your own journey, please don’t hesitate to contact me at http://swati-kumar.com. I’d love to help out a fellow Junior Developer!

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:

The Wonders of Firebase: Before I build (or rebuild without the bugs!) the backend of myCard, I have been reworking the front-end and using Firebase to post and get my data. Google recently acquired Firebase, and for very good reason – the product is amazing! I understood how to use it easily and setting it up hasn’t been too difficult either. Usually, the back-end has so many details and busy-work involved that its never my favorite thing to set up, but Firebase makes the storing-data-thing easy enough to leave me no excuse to stall on working on the app.

The Beauty of Yeoman: Now, it isn’t that I’m completely obsessed with shortcuts. Its just that starting a new project requires so much attention to detail in order to prepare for neat and organized code that it can be very tedious. Yeoman works beautifully with what I’ve already written in Angular and essentially generates a template of files for me to work in. It is pre-organized and ready for code – which is perfect for junior programmers who really just need to practice their programming!

Independence: The past week or so have been pretty chilled out for us in terms of structure. We have been working on this huge team project, of course, but outside of that, there has been full freedom to learn on our own. As I’ve mentioned in previous posts, I’m an incredibly independent learner and feel strongly that self-reliant learning is the most sustainable kind. As a result, I have been more productive than usual this week and looking back at my checklist of completed tasks gives me warm fuzzies…which are, of course, attacked by ice pellets when I look at the rest of the list…

3 Lows:

Buggy Back-ends: Back to myCard – buggy code sucks. It quits working randomly without any apparent reason and takes way too long to get going again. As a result, I’ve had to make the difficult decision of scrapping my entire back-end code as it is and will be using Firebase instead to optimize the front end before messing with Node (or maybe Rails) again. It was definitely a difficult decision considering the work that went into it all, but I also think its the right decision for the project!

Cold Emails: Well, emails are a bit better than cold calling, but only marginally. I do understand these emails are important to my job search, but sending busy start-up heads yet another email they have to sort through from someone they’ve never spoken to just hits a level of awkwardness that I’m not a fan of. Lets just say there have been several cold emails this week sent from my address and I haven’t loved sending any of them…except for when I get an enthusiastic response. I only email companies I really love, and getting a response that is just as excited about my excitement is great!

Issues with Terminal: This has been a low throughout the bootcamp, but I’ve had more issues than normal with terminal this past week, which has made working on our group project difficult for me since I spend all my time working on figuring out why I’m getting a hundred lines of error messages. Luckily, I have Samer to help me debug – but I definitely need to find a solid tutorial on best practices when using the terminal.

The Immersion:

Hacking Spaces: After the bootcamp ends, I need a place to continue to work on my projects and network. I’ve been looking for a place where I can talk to other developers, but also have time to myself to work silently. There are actually hacking spaces nearby like Hacker Dojo, but I have to keep the monthly fees in mind and the fact that I don’t have a car yet. Any work space deserves some thought and consideration, so I’ve been spending some time each day finding the ideal place to set up shoppe!

Call for Nonprofits: I’ve been heavily involved with nonprofits and my community my whole life, and have been able to bring this into my career as a developer as well. Several nonprofits in my hometown have asked me to build them a simple, single page website that can get across the message of who they are and what they do without overwhelming the visitor with text. This is great practice for me since I can practice with basic front-end development and build my portfolio and it doesn’t generally take more than a day’s work. So I’ve decided to continue with this at least once a month on a Sunday, when I will dedicate the day to building something for a nonprofit organization. Send me a message if you’re interested for your nonprofit!

Takeaway Advice

Try new things – you’ll find invaluable shortcuts that will make your life infinitely easier!

Make writing clean code a goal from the very beginning, otherwise you will end up with buggy code that needs to be re-written from scratch anyway.

Take on personal projects and do them for free! You will have a great way to give back to the community, build your portfolio, and get some great practice along the way!

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!

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

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.

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.

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.

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

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. So 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