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