Tag Archives: Mentor

Are Developer Bootcamps Worth It?

Developer Bootcamps, an intensive 8-14 week program, allow someone with very little to no experience to immediately jump into the path of becoming a developer. With increasing rates of unemployment, underemployment, and falling wages, these programs have popped up to fill a need – tech companies are in need of developers and people are always looking for means to jump start their career and quickly make more money.

DevBootcamp, General Assembly, and App Academy are a few well known names in quickly growing and crowded list of options. Each program is slightly different, but the cost associated for you to participate is typically north of $10,000. While there is a shortage of developers, are these programs really the answer? More importantly, are they the right solution for you?
Continue reading

help wanted

How I Landed a Job Offer After 18 Weeks Learning to Code

tl;dr:
127 days of intensive self-study + pair programming = Programmer Job Offer.

Note: In September 2012, I set out full time to learn to code. This article is the culmination of my experience, which resulted in a job offer in January 2013. 

My background is in working with amazing startups and technology companies focusing on sales and marketing. But, I wanted to do more, to build and to be at the core of building a product. On September 10, 2012 I began an adventure, a mission to teach myself to code.

Before I started my journey, I considered myself a very computer savvy, non-technical person; I understood the basics of the web, front-end design, and had run through a few Codecademy tutorials. But, I couldn’t code up a web page from scratch, had never interacted with a database, nor did I fully grasped the web stack.

Why Learning to Code Full Time?

Why did I decide to drop everything and learn to code full time? Learning to code part-time, in my free time, wasn’t sufficient for where I wanted to take my skills and understanding. I didn’t gain the breadth of knowledge or tool set I needed to do anything meaningful, while learning to code at night and on the weekends.

Also, the timeline didn’t make sense to me. Patience is not one of my virtues. To push myself above a novice programmer, I was looking at grinding away slowly in my spare time. I’m results driven and need to see a more immediate impact to keep me motivated.

Going full time removed time and work hurdles from my learning to code experience. I was fortunate to have built a business to a place where I had a financial cushion.

While it was successful, I was running full steam and exhausting myself. As a result, I either needed to expanded the business (hire more people) or refocus the strategy. After carefully analyzing the opportunity, I wasn’t attracted longterm to a B2B services business.

So I took the money and invested it in myself, paying myself a salary for three months while I dedicated 100% time to learning to program.

My Learning to Code Plan

I crafted my own plan to learn to code, with lots of help and insight from others. I learn by doing.

Therefore, I utilized a project based approach to learn to code. The first seven weeks I spent reading and completing various online tutorials. In week 8, I started working on a web app project of my own. This important step was to force me into more critical thinking.

I should have started writing my own code earlier. Starting on my first project was a rush. This euphoria was quickly followed by the realization of how lost I was.

But these mini-panic moments were actually helpful. Hitting a moment when I don’t know how to move the app forward, was actually learning opportunities (disguised as error messages) literally popping up on my screen.

This is as a good time as any to emphasize how much I relied on other people to learn. I was very fortunate to meet amazing developers who gave up time to help me out. Discussing code, pair programming, and line-by-line code reviews were the single most important steps in my entire process.

Big props to my mentor, Joe Goldberg, who guided me throughout the entire process.

Entering the Job Market

Heading into the 12th week, I felt my best opportunity for growth would require me to work full-time as a developer. My biggest strides occurred working alongside other developers.

Finding a suitable job opportunity was the most difficult aspect of this experience. I applied to entry-level jobs listed on job boards. I used my network extensively; I spoke to developer friends, folks from meetup groups, recruiters, and I responded to 63 Hacker News job listings. Companies in which I was interested simply didn’t have the resources or desire to train me. I was turned down many times.

As weeks passed, I was beginning to lose hope. I contacted Originate in Los Angeles, and they too didn’t have a place for me. I reached out directly on LinkedIn to Rob Mallery, an executive at Originate.

We jumped on a 20 minute call and he referred me to the recruiter who would ultimately find me the job offer. She knew of a few companies looking for junior developers. One comapny, a web development agency with 12 engineers, had an opening that in particular grabbed my attention. I was very under qualified as compared to the required skills, but the recruiter encouraged me to apply anyway.

The Interview

Based on my resume, I was invited in to interview. I spent the 24 hours leading up to the meeting prepping for questions.

Funny side story: When I arrived, there was a buzzer to enter the office space. However, when I hit it, there was no sound nor response. I knocked and hit the buzzer several more times without any response. I could see lights on inside and started to panic.
Wait. Was this my first test? I had read harrowing “Google-Amazon-style” interview tests that potential engineering hires underwent. My mind raced. Was I being tested right out of the gate?
Well, no it turns out the buzzer was just broken and another employee happened to appear and let me in.

To minimize this already growing post, I’ll cut short details regarding the interview process. If you’d like more specifics about the interview process, let me know in the comments.

Job Offer Result

I spoke to the recruiter that same afternoon, told her I thought it went well, and was told I would either way soon. The next morning she sent me email saying I was offered a junior developer role with a strong base salary, 401K match, 17 vacation days, and medical/dental/vision benefits.

Conclusion

So I’m a Junior Developer Engineer now, right? Well, the story isn’t that simple. After much contemplating, discussion with family, friends, and trusted mentors, and a serendipitous set of circumstances, I ultimately turned down the job offer. I’ll save my reasons for that decision for my next post.

bridge support

Learning to Program Supporters

“It Takes A Village to Raise a Programmer” – I just made that up for this post.

So yes I did fabricate this quote for my own purposes. But it seems to fit my situation well, as I truly have been the benefactor of tremendous support and efforts of many. And as those of us in the US settle into our annual time of thanks, I feel incredibly grateful to everyone who has shown me support.

Heading down this path to learn to program required a strong leap of faith, and I don’t regret it for one second. That’s not to say it’s been all positive; in between learning and building, there have been times of stress and frustration.

But the support of everyone from family to complete strangers has been overwhelming. It’s great to know there are people pulling for my success.

Tweet of Support

I’ve placed the following tweet on this site from the beginning. An amazing number of people, many strangers, have sent this tweet out to support me.

“I support @andrewkkirk on his journey to go from total noob to programmer in 18 weeks.” < Tweet This Message >

I send a big thank you to all of you that have taken time to support in one way or another. Theses gestures mean more to me than you could imagine.

The Importance of Sharing

Once I made the commitment to learning to program fulltime, I knew it would also be important to write throughout my entire process. My hope is that others will benefit through documenting my experiences, and even avoid certain pitfalls by avoiding my mistakes.

An additional result, which I didn’t anticipate, is that I’ve reconnected with people who find out about my project from social media. For example, I recently received this note from a high school soccer coach I hadn’t spoke to in several years.

I just read most of your blogs on your page about learning to program. I wanted to let you know I am proud of you for taking this leap. Good luck and I know you have the determination and commitment to get it done. I look forward to hearing about your progress. Take care.

Isn’t the internet incredible? Of course, if I hadn’t written about my process and widely shared it, I wouldn’t have had this benefit.

“On-Call” Support Team

Finally, I’ve add several people take time out of their busy schedules to support me by meeting up to pair program with me, discussing code on skype, and answering questions when I inevitably break something. These folks have gone above and beyond, all in the name of helping a fellow developer.

Remember to be thankful not just for those family and friends close to you, but also to those people that make a subtle impact on us. Without their support, I wouldn’t have made it this far. Thank You!

progress

Learning to Code Progress – 3 Weeks Completed

I’m now three weeks or 1/6 into my learning to code process and my progress to date can be summed up in one word: slow

slow moving

Photo courtesy of Ian Britton

Alright that’s probably being a little harsh on myself. But, when I first started out this process, I thought I could be plugging away and building something after three weeks.

Instead, my time has been spent completing lessons and Ruby on Rails tutorials, but I’m not yet to the point where I feel I could begin building a project or web app on my own. That’s a frustrating current state because I have ideas that I want to execute.

Maintaining Perspective

I’m staying positive and my Teach Me Stuff mentor, Joe Goldberg, is very helpful in this area. Here’s a snippet of our reacent phone conversation discussing my progress:

Me: “I feel that I’m learning, but it’s going much slower than I imagined at the onset.”

Joe: “I’d be surprised if you told me any different.”

It’s incredible how reassuring it was for me to hear this simple phrase. Learning to code is foreign territory to me and I have no point of reference by which to judge my progress. On the other hand, Joe is experienced with Ruby and development. This support is a large benefit of having a web development mentor.

Adjustments Moving Forward

I’m not planning any major changes. However, one very important takeaway for me has been the idea that I need to focus more specifically on learning Rails, a framework for building with Ruby, than Ruby itself.  My focus for this 18 weeks needs to be moving to where I can build a product. As a result, my comprehension of Ruby will, understandably, not be as strong.

In the future, I may have to backtrack or dive further into Ruby because I’ve missed something in this first 18 weeks. That’s a short-term sacrifice that seems reasonable. I don’t want a preoccupation with learning every facet of Ruby to hinder my ability to create an app.

Leave your thoughts about my progress, focusing more a Rails, or any other thoughts in the comments below. Also, for those interested, here are the specific tutorials and lessons I’ve completed to date.

Completed