6 ms·
While this doesn't directly answer your question, but I've found edw519 (a fellow HNer's) past comments on this subject highly enlightening. If you're looking
by krat0sprakhar 10y ago
While this doesn't directly answer your question, but I've found edw519 (a fellow HNer's) past comments on this subject highly enlightening.
If you're looking for something inspiring / actionable to read, checkout this collection by him http://v25media.s3.amazonaws.com/edw519_mod.html http://v25media.s3.amazonaws.com/edw519_mod.html
One of my favorite answers -
71. How do you get good at programming?
I believe that there are two ways to get good at anything, "push" and "pull".
Push: You learn from books, classes, mentors, and studying examples, then apply what you have learned.
Pull: You have a problem that you must solve, then you learn what you need, any way you can, to build the solution.
I suppose there are pros and cons of each method, and I imagine that many people here have used some of both.
For the record, I am 100% Pull. I have absolutely no formal training. It took me 2 years to find my first job and then I was thrown into the deep end. It was simultaneously frustrating and exhilarating. There were so many times I didn't know what to do or didn't have enough "tools" in my box. So I had to figure it out and find sources of learning. But I always did. Any when I got that first thing working and then saw my customer's eyes light up, I was hooked.
Your CS degree may make you think that you're a "push" learner, but may I suggest that you adopt a "pull" approach. Forget what you think you know and find a job or a project or someone who has a real need. Then build what you need. You a several advantages over me: (a) It shouldn't take you long to find that job/demand/customer. Just keep looking. (b) You already have tools in your tool box, maybe not the right ones for the job, but you have "something". And (c) It's easier than ever to adopt a "pull" approach. Help is everywhere.
You may feel frustrated, but I don't think you have a problem at all. You're in a great (and very normal) situation. Just adjust you attitude, find something to build, and do it.
- pavlov 10y agoWow, excellent answer. I would add that if you're a "pull" person, don't bother applying to the Googles and Facebooks of this world. Their hiring process is extremely oriented towards "push" learners, presumably because you need lots of those people to build something at that enormous scale. Instead look for opportunities where you get to do something you don't really know how to do. (There's a number of reasons why people would let you do that, but often it comes down to being in the right place and being patient.) That's how you grow, not by memorizing data structure answers from "Cracking the Code Interview". (I know, dissing the tech interview is a HN cliché... But young people seem to attach unwarranted amounts of self-worth to how well they do at interviews at the Top 4 companies, so it's worth reminding that it's really not meant for everyone and you can do well without passing that standard.)
- droidist2 10y agoIt does really bother me that we've created a culture centered around Cracking the Code Interview and cramming for interviews.
- thrwythrwy 10y agoagreed, we should thank google for that (or not) :)
- johan_larson 10y agoIt didn't start with Google. Microsoft was doing much the same thing back in the nineties.
- mseebach 10y agoI'm a pull engineer, and I work for a big, recognisable SV firm. I agree that hiring is fairly heavily biased towards push-types, but if you accept the premise and spend some quality time with some text books and online classes, you can come a long way (think of it as pull: if the goal is to work for Google, this is probably what you need to do). One thing is for certain, carrying around a chip on your shoulder because you didn't go to Stanford will do you absolutely no good, and probably be a net negative for your career (and happiness in general). For the record, no, working for Google and Facebook isn't the single only answer to life, the universe and everything, there are plenty of perfectly worthy paths that don't lead anywhere near them, and there's no shame in taking them. But they are juggernauts of our industry, they do pay very well, and for better or for worse, a stint at one of them does open a lot of doors.
- mbrock 10y agoRelated to the idea of pull, I've found that learning from mistakes is in some way the only real way to learn. Like I'm trying to learn about furniture making for practical necessity reasons and it's so clear that the only real way to understand is to make something and then see why it doesn't work and then make something better.
- shubhamjain 10y agoNot to forget another gem from the same book that I ardently recall when it comes to self-doubt. > Don't make the mistake of underestimating yourself. > I'm not suggesting that you'll go out and write Rails in 3 weekends. What I am suggesting is that the more I meet "famous" hackers and the more I meet people from this community (online and offline), the more I realize that there's not really all that much that separates us. > Lot's of people are obviously brilliant. And even for those who are a little less brilliant, brilliance is only one part of the equation. Work habits, determination, perseverence, passion, and maybe most of all, belief, are just as important. Don't sell yourself short.
- a-saleh 10y agoHey, for those of you who are leaning towards the "push" style, what helped me most when learning something new "by the book" is then to try to teach it to somebody :-) I am a regular employee with fairly well defined role in the team, which means that new problems to crack an learn from don't come that often. On the other hand, we have knowledge-shares, lunch-n-learns, tech-talks, lightning-talks and even cooperate with local universities to teach some course-work :-)