Live data from Hacker News

Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

news.ycombinator.com

21–30 of 63 posts

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#21
The best thing you can do is read & write a lot of programs, and pick them based on what is new and unfamiliar to you. Try writing programs from different domains (compilers, parsers, network protocols, distributed systems, data structure libraries, desktop GUIs, web GUIs, mobile GUIs, graphical visualizations, machine-learning, data storage engines, geo data, command-line scripts, testing, automation). Try writing programs in different languages (Haskell, C, Javascript, Erlang, Prolog, Go, Common Lisp, Python, etc.). Try writing programs of different scales (weekend hobby projects vs. Google Search), and try entering them at different points in their lifecycle (starting with a blank editor window vs. parachuting in when the company already has a million lines written and the original authors have long since left).

I'll second what mindcrime said about never really feeling like you know everything. The rate at which new CS knowledge is being created is far faster than the rate at which I can learn, so I've long since given up being able to learn it all. But what I can do is see patterns. I can see that the new single-page Javascript MVC frameworks are reinventing patterns that were common in desktop GUIs a decade ago, or that what Chrome's rendering engine is doing when it schedules JS execution isn't all that different from the Win32 message pump, or that Guice/Dagger are basically introducing data-flow programming to Java, or that Go's channels & goroutines are basically the same as Erlang messages and processes. Then I can apply what I already know about those other programming paradigms to the new technology, and only focus on learning the differences. That's a lot easier than picking up a new concept from scratch.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#23

FWIW, I'm 40 and have been programming professionally for 15 years, and programming as a hobby for probably 8 years before that. I still run across stuff I don't understand, all the time. And I'm not one of those people who have "1 year of experience 15 times" instead of "15 years of experience". I'm pretty aggressive about learning new stuff and expanding my horizons. And yet the pace of change is so fast, there's a…

Something to note on thinking everybody is a super-brilliant "10x" programmer: You're not seeing the same people post deep, insightful things here on HN. There are people who know a lot about this one thing, and can write very accurately and intelligently about it, but don't know anything about HTML or desktop programming (C, C++, others), server-side logic, etc.

The same goes for each of those fields, and every other field--there are certain people who know a lot about them, and when the topic comes up they talk about them. The reason it seems like there are a bunch of super-brilliant "10x" programmers is that there are many, many of these specialized people on HN and around the web, and at least a few of them always have something to say about a topic. It doesn't mean they're all super-brilliant "10x" programmers.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#24
post #4

FWIW, I'm 40 and have been programming professionally for 15 years, and programming as a hobby for probably 8 years before that. I still run across stuff I don't understand, all the time. And I'm not one of those people who have "1 year of experience 15 times" instead of "15 years of experience". I'm pretty aggressive about learning new stuff and expanding my horizons. And yet the pace of change is so fast, there's a…

Wonderful response, thanks. I have attempted a handful of open source utilities and none of them ever received any activity from others at all. I would love to maintain a project or just work with others in general since I'm working in isolated 'for myself' territory.

So then you have a networking issue too then. The people kind, not the computer kind.

To bridge that gap, you might want to see if there are tech Meetups in your area. In NJ where I am, there are two extremely active groups that throw together entrepreneurs, investors, devs and developers a few times a month for very low cost. Establish who you are, and get assistance from others, advice sharing, make new contacts, find out where the industry is going, etc.. Normally you walk out of the meetings on a better career path than when you entered.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#25
Whether you spend three years in continuous integration and test suites, service oriented design, embedded assembly, high/low level network stack, Javascript, Python, or even a PaaS, you just have to keep challenging yourself. Never settle and keep expanding your views. Bridge the gap by learning and engaging in things that interest you.

Just the amount of understanding required to comprehend the keyboard press to the letter appearing on the monitor is insane.

Remember, you're not useless and inexperienced. The stigma from those words alone are holding you back. I have a feeling you are bored. You have a thirst!

Also, recall that articles and comments are much like Facebook, a peek into someone's good life that makes you feel bad about yourself. The good always seems great, and the bad goes untold. I'm on revision 744 of a 10 page website/service layer right now with only 30% of the requirements met.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#26
> like everyone else here

You need to realize that there are a lot of people commenting on hacker news (or for instance Stack Overflow). On any given topic, specialists of that field will show up and share their insight. For instance, on an article on technology X, it's not uncommon that someone that helped developing X shows up.

You also need to remember it's not the same person that knows everything :) it may be the case for instance that the distributed algorithms expert is clueless about PHP for instance.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#27
post #23

FWIW, I'm 40 and have been programming professionally for 15 years, and programming as a hobby for probably 8 years before that. I still run across stuff I don't understand, all the time. And I'm not one of those people who have "1 year of experience 15 times" instead of "15 years of experience". I'm pretty aggressive about learning new stuff and expanding my horizons. And yet the pace of change is so fast, there's a…

Something to note on thinking everybody is a super-brilliant "10x" programmer: You're not seeing the same people post deep, insightful things here on HN. There are people who know a lot about this one thing, and can write very accurately and intelligently about it, but don't know anything about HTML or desktop programming (C, C++, others), server-side logic, etc. The same goes for each of those fields, and every othe…

"10x" is one of the more destructive memes going around. It's a subtle shift in the discussion from talking about technique and actual work, to talking about something which is being used as a proxy for "your worth as a human being".

The only work which matters is the work which gets done. You can accomplish a lot by simply doing the things that need doing. Bad code gets written and all that.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#28
Being a programmer will definitely humble most people. It is probably impossible to know even a significant part of what makes up Computer Science. Add to that the requirements for knowing Software Engineering which generally bears little overlap with CS and you're probably always going to be behind.

The important thing is to keep learning hard things unrelated to your current development stack and methodologies. Don't get stuck on only doing tasks where you are already an expert.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#29
post #27
post #23

Earlier quoted context omitted.

Something to note on thinking everybody is a super-brilliant "10x" programmer: You're not seeing the same people post deep, insightful things here on HN. There are people who know a lot about this one thing, and can write very accurately and intelligently about it, but don't know anything about HTML or desktop programming (C, C++, others), server-side logic, etc. The same goes for each of those fields, and every othe…

"10x" is one of the more destructive memes going around. It's a subtle shift in the discussion from talking about technique and actual work, to talking about something which is being used as a proxy for "your worth as a human being". The only work which matters is the work which gets done. You can accomplish a lot by simply doing the things that need doing. Bad code gets written and all that.

10x isn't just a meme going around ... It's even referenced in "The Mythical Man month". If you're a "productive programmer" you should never have a problem finding employment but what "productive means depends on the context. Does NASA want code quickly or do they want well thought-out and thoroughly tested code? With Etsy's DevOps infrastructure, they're pretty confident deploying several times a day.

Re: Ask HN: How Do I Become A 'Good' Programmer... Like Everyone Else Here

#30
Pick better things to read... HN is super awesome for general interest stuff, but it will never make you better at anything. Google some deeper terms from whatever you are learning, and find 5 people that are good at it... read their stuff, try it yourself and get in touch with them if you get confused. You learn by failing as a developer...even some really smart people who did great coloring between the lines at school drop out because they can't handle that dynamic. That's how you go from "novice" to "good". The jump from "good" to "great" invloves some deeper understanding of architecture and algos/systems that comes with time, reading, education, etc..
Post reply on HN