Andrew Chen, Quibb, Uber

Read what else Andrew Chen is reading for work

Quibb lets you share what you're reading for work. Use Quibb to share news about your industry, discuss what matters, and see what colleagues are reading.

Our mission is to connect professionals over business news and informed commentary — targeting every industry, profession, and geography.

Likes Comments
Scribbler at BringAbout

Yeah, it's not a dabbler's sport ;) Though for me, taking an in-person class has really helped cement the basics

One of my favourite blogs. Definitely agree, mainly because I am one of those ashamedly wannabe computer programmers who constantly puts off learning how to code.

The Fashion, Rainmaking

Being a programmer my self, I have often been asked on advise on how to learn to code. Initially I tried to give suggestions, and at one point I even coached a friend of mine over several months, before he gave up. Now, when I'm asked I tend to take the approach that I'm probably the worst person to ask about how to learn to code, since I the only way I truly know how to do it takes about 20 years and begins in the teenage years.

Reply · Tweet ·

There's a big gap between "learning to code" (a few months) and "being a good programmer" (a decade or three of deliberate practice). There's a lot of ways to learn to code, but having an immediate need is probably the best way to stay motivated. "Need driven development" is also the best way I've found to learn about technologies that I don't find intrinsically interesting.

Reply · Tweet ·
Scribbler at BringAbout

I think, for me, an immediate desire (vs need, as I'm the only person who needs me to learn) suffices in the short term. But I do think that the bottom-up skills I've acquired are not easily portable to areas outside machine learning, which I'm guessing would not be the case with people on the 30 year track.


Interesting - what ML resources did you learn from? (e.g. coursera, books)

Quibb, Uber

Famously, this essay:

Reply · Tweet ·
Founder at Teethie

For some reason, this post reminds me of a conversation that I had this week: I've been struggling with what to do to help friends who want to do product, and trying to figure out how to help them. One of the things brought up was the idea that none of these people were actually passionate about product: they just wished they were. I can't help but feel like that issue is almost larger with the scores of people on the "Learn to code" bus. Maybe I've just been exposed to it, but I've always felt like it wasn't that difficult to do, it was just a matter of putting in the effort and reading what was out there. We only want things super-simplified for us if we don't actually care enough to discover our own path.

VP Product & Business Operations at theBoardlist

So true. It's like people are looking for a magic bullet to give them focus.

We don't really know how we can code, nor we now how it can be taught. Universities and various books/courses puts all the ingredients, but in the end it's you that makes a difference. I'm not so sure it can be taught in 3 months, not the one that delivers value-adding products.

Director of Sales at TapCommerce

First off, this title is a bit misleading. It's "why you will never learned to code" but the content is really more "how I learned to code." The optimist in me prefers the latter.

Regardless, this seems to echo the experiences of all my friends who learned to code. The most successful start with a project first and don't rest until they've built it.

Reply · Tweet ·
Product Lead at Flurry

Agree that the title was link baiting but I think the main argument is spot on.

From my own experience, when I sat down and said I was going to teach myself PHP, how to build a MySQL db, etc and started to learn through books I repeatedly came up short. It's very difficult to effectively learn from small from reading a book and executing small chunks of code that teach you basic syntax. However, if you create a project for yourself and just force yourself to learn whatever bits of code you need to implement it you immediately run into a lot of practical problems, teach yourself the code to address it and have a high impact learning experience.

Independent at Consultant

Saw this post on quibb, went to the page, had a comment, wrote a long comment, now post it back here

Looking at the last two conclusions, I must disagree. I think things are really different now. In the past, there aren't great teaching materials for beginners, and for modern web development with a huge line of technologies, libraries and APIs that we can integrate. The task got a whole lot more complex yet the "textbooks" have gotten better and better, especially in the format of online education.

Many of my engineering friends said there is no way to learn programming except for reading the documentation, there is no way to learn code except doing your own project, at least there is no fast way to learn it.

Recently I have also thrust myself in an incredible startup situation where I had to learn Rspec in two days and start writing it ASAP. That actually took the intellectual fun part out of me. It was very stressful, and I realized that I was picking up one thing and missing another, and not doing the fundamentals. I am learning techniques fast, but my engineering thinking didn't get better. Instead, I started to build my own humble website in old ugly static HTML CSS and a bit of PHP. Yet it has been the best jQuery practice ground for me, I spend hours and hours refactoring, forming an opinion, transforming into an advanced coder, integrating backbone.js soon to complete, and soon to add testing.

Doing your own project worked for many, but I don't have a project. I didn't naturally think like a programmer before, when I was a child, I didn't take things apart, but I learn things fast and make impossible logical connections across disciplinary fields. What I realized is that, I just have a very odd learning style.

But as more people learn to program we will encounter all kinds of learning styles. The old way will longer be the way to learn. You no longer have to just read documentations and manuals, now the documentations get better for you (e.g. Angular). Now you no longer just have to program your own, and do a TODOlist, there are many projects, and interactive consoles on the internet.

There is one factor though: time and efficiency: both time and efficiency are really what your conclusions are getting at. We can all learn things, eventually, but how fast and will it be in time for project delivery.

People can learn programming, they will need to start with their style and slowly ramp up, make it into a habit (maybe on Codecademy, maybe reading their favorite book). And the best part : once they start to think more like engineers, they will be more and more efficient at learning, reading books, skimming through, finding documentations, and designing a better route to enlightment.

Software Engineer at SurveyMonkey

"1. Think of a project that you really want built and learn enough to build that project.
2. Put yourself in a position where you have no other option other than to make sure that project gets built."

I'm a graduate of a bootcamp course and after 10 weeks, it still comes down to these two points.

Don't get me wrong — I learned the ropes of multiple languages and frameworks, pair programmed with different personalities, worked on team projects, and took advice/criticism on my code from veteran instructors. I was pushed to the edge of my learning/panic zone and responded with productivity that I would have never had on my own. I'd do it all again without a doubt.

But it'd be reckless to say that I crossed an imaginary finish line into becoming a totally proficient coder. I'm not. This is only the beginning of a long journey. I have a network of supportive people, but it's completely up to me to keep pushing the pace on my own development. And that involves building projects.

Carlos Angel, General Manager at Uber Carlos Angel
General Manager at Uber
Michael Deng, Independent Michael Deng
Tom Burke, Growth Marketing Manager at Uber Tom Burke
Growth Marketing Manager at Uber
Kent Itoh, Operations Manager at Uber Kent Itoh
Operations Manager at Uber
Sanil Bhatia, General Manager at Uber Sanil Bhatia
General Manager at Uber
Scott Silverman, Design Lead at Uber Scott Silverman
Design Lead at Uber
Michael Tam, Manager at Uber Michael Tam
Manager at Uber
Yuanxuan Wang, Software Engineer at Uber Yuanxuan Wang
Software Engineer at Uber
Sunil Subhedar, Growth Marketing Manager at Uber Sunil Subhedar
Growth Marketing Manager at Uber
Binh Thai, Operations Coordinator at Uber Binh Thai
Operations Coordinator at Uber