码迷,mamicode.com
首页 > 其他好文 > 详细

Is it too late to learn to code?

时间:2015-07-16 22:45:50      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:

技术分享Erin Parker, Founder Spitfire Athlete, iOS Engineer

9k upvotes by Francis ChenGaurav BahetiYue-Wing YauMaria Guryanova,(more)


It‘s never too late. So much can happen in a year, it can amaze you.

I majored in Economics. When I was about 23, I randomly decided to go to a Railsbridge Meetup, where you learn how to make a basic ruby on rails app in a day. I made a basic rails app and very much enjoyed it. A seed was planted that day.

Months later, I had an idea for a website I‘ve always wanted to build. Although my idea was vague, in this website, I imagined it would inspire women to be kickass go-getters. I thought it would either be a career type of website, or one in the health and fitness space. And I definitely wanted to call it Spitfire. I strongly felt such a product was sorely needed and I felt like I had a pretty good perspective and vision to create it.

Although I hadn‘t committed to learning programming just yet, I would sketch out mocks like this:

技术分享


I would email these mocks to my friends and get their feedback. 

At the time, I was getting pretty hardcore into lifting weights and seeing a lot of results. I was also having a frustrating time finding high quality, trustworthy resources for women who lift weights and had this continuous nagging feeling that maybe I should actually do something about it. 

Finally, I decided to do it. Friends were asking me how I was getting in shape, how to lift weights, how to eat healthy. I decided to commit to learning ruby on rails and just building this out. 

I figured, if I learn to program, even if I fail, I would have at least failed building something that can help scale what I‘ve learned to potentially millions of people. And that in itself, is a worthy pursuit. 

At the same time however, I decided failure was no longer an option. I wasn‘t going to let myself stop until I‘ve built what I envision in my head Spitfire can truly be. I knew that if I just persisted through the pain (like an athlete), that the end result is going to be well worth the temporary pain.

I started teaching myself ruby on rails by voraciously consuming every free resource I could, like Learn Ruby the Hard Way, Try Ruby, Codecademy, Michael Hartl‘s book, Why‘s Poignant Guide to Ruby, the Rails Guides, and my absolute favorite, Railscasts.

I was relentless. If I didn‘t get something the first time, I didn‘t care. I would go through it again and again until it started to make sense. I would look for different explanations of the concept. I would ask my friends. When in coffee shops, if I was coding, and if the person sitting in front of me looked like they were an engineer based on the stickers on their laptop, I would kindly ask them if they could help (I have made so many friends this way, a few of them are still my really really good friends). 

I would go to lots of developer meet-ups, and particularly liked Women Who Code because of their "teach a new tutorial at each meetup" format and all of The Ruby Group meet-ups because it was easy to get help and unstuck.

I stuck with it for months and little by little "banged out" the ideas in my head. You can still see many of my early projects here:

http://spitfiredarkstar.herokuap...
http://spitfiredauntless.herokua...
http://spitfirehellcat.herokuapp... 
https://spitfireocelot.herokuapp...

I worked the most on this one:
http://spitfireathlete.herokuapp...

技术分享


The site was quite feature-rich. It was pretty, had nice UX, and was a culmination of all the great ruby on rails stuff I had learned. Unfortunately though, no one was using it! 

It was exhilarating and discouraging at the same time. I felt like I had this great skill set...but that I was building stuff...that nobody wanted.

When I asked my friends why they weren‘t using it, I learned that what they really wanted was for me to "just tell them how to work out". And they wanted something that looked nice on their mobile phones, so they can train at the gym.

So I decided to change directions completely, learn jQuery Mobile, and I built this:

http://spitfirewarrior.herokuapp...

技术分享


What absolutely fascinated me about this was despite the fact that it was ugly and utterly simple - people actually used it! And they wanted more. And they wanted it as, gasp, a native iOS app. 

As a datapoint - it had been about 6 months since I started learning rails. 

I tried resisting the nagging realization that I might have to pick up iOS development if I wanted to take this further. I really tried getting jQuery Mobile to work but very quickly realized it‘s only great for prototyping (or very simple apps).

It was around April 2013. And I decided, you know what? I‘m 24 but hell, I‘m going to become an iOS developer. So what if I don‘t have a CS major? I have more drive and determination than most people. They may outsmart me, but I just never give up. I‘ve already gone so far. Why stop now? #turtle

So I did the same thing. I voraciously went through every iOS resource I could find. I did all the exercises, the challenge exercises, and finished every book I could get my hands on from start to finish. I was very thankful to friends who would send me free PDF copies of nice O‘Reilly books that were "expensive". 

I frequently attended the Women Who Code iOS meet-ups and benefited from the Big Nerd Ranch books on Obj-C and iOS, Ray Wenderlich‘s Tutorials, and Apple‘s Documentation. 

I built TONS of tiny little apps (that‘s how you learn)! I also made a promise to myself that I‘m not going to ever think of any technology as "hard", because I think that‘s like a self-imposed ceiling on your learning. So I, quite fearlessly, ended up learning a bunch of stuff that scares away most iOS developers, that although I don‘t use it today, I realize it made me a much stronger developer, even though I had many long nights of "much stuckness".

Here is a photo of me giving a tech talk at a meet-up on how to make a custom Rails API and then send that data to your iPhone app using AFNetworking. 

技术分享


That was May 2013, age 24. I made myself give this talk...even though I had only *just* learned how to actually do what I was talking about. I felt very much like an "iOS imposter" and like I had just begun to get over the feeling of being a "rails imposter". 

Here is a screen shot of learning tableviews and transferring the concept of the Spitfire App to iOS, even though I ended up building everything again from scratch. I made this after 2 weeks of learning Obj-C.

技术分享


Months went by. Little by little I got better. Also, iOS is a very interface-heavy system and if you don‘t learn design, all your apps will look ugly. It‘s almost impossible to separate yourself from the front-end when in XCode. So I decided I should also probably learn design and Photoshop via the Hack Design curriculum. 

Photoshop was a lot easier to learn than programming, so eventually I made these really pretty mocks: 

技术分享



And eventually, around October 2013, I turned these mocks into the "Spitfire Athlete pre-Alpha" app. Here is a screen shot of the actual app running on my device: 

技术分享


A couple months of struggling with Core Data and many passionate Test-Flight users asking for more features, I decided it was time to turn this crazy passion of mine into a start-up and I recruited an incredible co-founder, Nidhi Kulkarni, a razor sharp MIT CS grad who, like me, was also an athlete (she competed in D1 rowing while at MIT). 

With two technical, highly-driven ladies at the helm of Spitfire, I felt our productivity 10x. We started together around November 2013, I was nearing the end of age 24 (lol), and knew I was on the verge of something pretty exciting. 

We participated in the Code Path iOS Mobile Bootcamp together, a free bootcamp for professional-level iOS developers. We finished Spitfire Athlete alpha and at demo day (which was judged by VPs of Engineering from top mobile companies in Silicon Valley) we won "Best iOS App" and "Best Overall App". That was pretty cool, because I was definitely the only non-CS major in the entire class!

I turned 25 in January of 2014. In April of 2014 we launched to the app store and were featured on the home page in Best New Apps, and all over the Health and Fitness category. We now have tens of thousands of users and have gotten so much love mail, it makes me truly believe the journey so far has been worth it.

技术分享



You can download the app from the App Store here: Spitfire Athlete

I decided to write this answer tonight because I recently had to renew my iOS Developer subscription. I thought, "Has it been a year? No way. Time goes by so fast." And then I remembered what it felt like, when I first started. 

I hope this answer inspires you and those who read it to learn how to program and make what you‘re passionate about become a reality, because the rewarding feeling of having built something that tens of thousands of people love is...indescribable.


翻译地址:http://blog.jobbole.com/78803/  共勉


Is it too late to learn to code?

标签:

原文地址:http://my.oschina.net/lpe234/blog/479515

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!