Live data from Hacker News

Ask HN: How to step up my coding skills?

news.ycombinator.com

21–30 of 57 posts

Re: Ask HN: How to step up my coding skills?

#22
post #17

Some great answers here, thanks for posting this question. I originally come from a finance background, though I'm taking a year off now to focus on programming for some of the same reasons you mention. Joel Spolsky listed four books which he believes makes a solid foundation for a good programmer and that's what I'm working through, along with building random apps/projects: http://stackoverflow.com/questions/414779/…

that's interesting that you come from finance, I'm coming from a similar field in terms of hours and job satisfaction. These four books are exactly what I'm looking for.

Re: Ask HN: How to step up my coding skills?

#25
Write a video game. I tell this to everyone who wants to learn to program. Forget web development, initially (unless you want to learn HTML5/Canvas to build the game, which is not a bad idea at all). Game development is probably the best way to learn to program because it's fun, you have some sort of goal, you can be creative, and you have to learn a great mix of skills -- graphics/sprites, sound, timing, interaction, math, physics, etc.

Re: Ask HN: How to step up my coding skills?

#26
4 things you can do to immediately become a better programmer if you've not focused on these areas. 0) Master recursion. 1) Learn how to write a parser in whatever language you're happiest with. 2) Learn to treat error handling like a complete and utter frothing maniac. If it can go wrong, it needs to be checked. Without rigorous error handling large programs are impossible. Furthermore, parts of the program need to be easily and quickly tested. 3) Learn git and branching so that you can easily experiment without worrying about losing everything.

Beyond that, being proficient with an editor is key to reducing repetition. learning to use flexible tools will make everything easier.

Re: Ask HN: How to step up my coding skills?

#27
post #17

Some great answers here, thanks for posting this question. I originally come from a finance background, though I'm taking a year off now to focus on programming for some of the same reasons you mention. Joel Spolsky listed four books which he believes makes a solid foundation for a good programmer and that's what I'm working through, along with building random apps/projects: http://stackoverflow.com/questions/414779/…

I was a double major; CS and Accounting and my first IT job was building computerized accounting systems..

Re: Ask HN: How to step up my coding skills?

#28
post #19

Code. Build something. Figure out something you'd like to build, then figure out out to build it. You can't help but learn if you take that route. If that's not your cup of tea, then start contributing to open source projects. Learn Git and Subversion, then start taking tickets for Firefox or Chrome. Start off with the easy things, then work your way up. There's lots out there that needs attention, and being able to…

Building something doesn't teach you much about quality if you don't have someone to review/assist every now and then.

I'd say, having never really thought about it, you learn quality by coding the same thing repeatedly and optimizing it each time. So you can learn in that way.

And having a friendly reviewer is excellent!

Re: Ask HN: How to step up my coding skills?

#29
Becoming a skilled developer might take 10 years (http://norvig.com/21-days.html).

You should pick a SW opening as an example and focus on developing your skills to land your first job. Your best chance is to leverage your backgrond in math and physics, for example for a programming job using python for research (http://news.ycombinator.com/item?id=1864591).

Once you are programming full time you can spend your spare time expanding your skills as a programmer in other areas.

Re: Ask HN: How to step up my coding skills?

#30
To get really good, you'll need to put in lots of hours developing. There is no shortcut that I'm aware of. You might as well make those hours enjoyable though.

Find where your interests with development overlap. Seeing as you already have a background in Math and Physics, put it to use. Go look for some open source projects that you're genuinely interested in and try them out. Like other people have said, contribute and engage with the community.

If you're just fixing small bugs in these projects - it's still valuable enough in that you had to have some understanding of software some other people wrote (in a potentially large codebase).

If you do eventually decide to be more ambitious with creating a project of your own - aim to do something very useful / interesting (that doesn't necessarly mean a large application). Make it open source, have people review it and don't shy to promote it. That kind of thing is great to have on a resume.

Post reply on HN