Live data from Hacker News

Ask HN: How to step up my coding skills?

news.ycombinator.com

51–57 of 57 posts

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

#52
post #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…

Around 8 years ago I did exactly this. I was (and still am, because my career shifted in another direction) a totally newbie to programming - except from some Basic I did when I was a kid. I developed some small games and helped a friend with his architecture thesis using Visual Basic 6 + a 3D engine: http://www.truevision3d.com It was REALLY fun and I was also able to show it to others to get their opinion. Anyhow..…

Agreed. Game programming will teach you a lot of programming skills, and staying with game programming can elevate you to great heights as a programmer, and it's great fun. The only negative is that games are relatively closed systems, whereas most of the rest of the software world includes a lot of interaction with other systems (databases, security, operating systems, payment etc etc) which you may never get to practice while programming games (unless you do multiplayer online games i guess). Oh, and do not expect to earn money programming games.

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

#53
Much of the advice already here is good to help you step up from a sub-1000 LOC program to working on bigger applications; but if you've not been doing any coding since university, then you may find some of it a bit daunting. This is also true if your existing coding experience is in something like C or Java and you wish to work in something a bit more "trendy" like Python, Clojure or Ruby.

I find that writing programs for Project Euler problems (http://projecteuler.net/) is very handy for sharpening the saw, or getting familiar with a new language. Obviously, it won't help you get up to speed with a graphics library or web framework, or anything like that, but it will help get your mind back in good shape to follow everyone else's advice here.

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

#54
post #28
post #19

Earlier quoted context omitted.

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!

Where to find friends who can review my code? All of my friends don't know anything about programming or they don't code in there spare times like I do.

It is really hard to find someone who can explain what is bad about code design and what should I do about it or what should be "best".

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

#55
Throw yourself into the fire! What I'm trying to say is, find a small business owner and build something for them for free. That way you'll:

- Learn the new skills - Be motivated to do a decent job as someone will actually be using your stuff - Have something to showcase on your Resume

-Sid

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

#56

You can learn a lot in 6 to 12 months, but you probably shouldn't expect to become a skilled developer in that time period. There are a lot of edge cases that you just have to experience to understand, and you'll never stop experiencing them, as long as you're programming. These days, my advice -- if I felt qualified to give any, which I don't -- would be to decide now whether you want to be "a programmer", or "a (CO…

PHP is not an easy language for someone just learning programming, it has tons of annoying quirks and is hard to debug. Visual Basic is better, I'd also reccommend Ruby. Not only is it a very easy language to learn, it also provides him with decent career prospects.

I selected languages based primarily on the range and depth of programming concepts that they use. So, PHP because it's relatively straightforward, but not Javascript because of its use of closures. Even though a beginner doesn't need to learn closures in Javascript, it's likely that they'll encounter them before long, and lots of experienced programmers have had to spend effort trying to get their head around them.

But, you're right, PHP does have a bad reputation in programming circles.

> hard to debug.

True, but there are ways to remedy this. My primary development environment is a PBG4; since I'm doing lots of Javascript/PHP work these days (and hating most of it), I have MAMP set up for a local development environment, with MacGDBp for debugging, and a couple of bash scripts that let me rsync between my laptop and various servers. With MacGDBp, I can step through PHP code, set breakpoints, examine variables, the usual debuggery stuff.

There are Windows equivalents for all of these tools.

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

#57
I would suggest figuring out what you want to code as a starting point. For example, if you want to build a web start up it might be better to focus on articles in that community as opposed to say articles on how to code better in C or for windows application.

Next, there are lots of articles out there on how to be a better programmer, I imagine its a combination of working on your own things, talking to other programmers who are smart, and reading about some of the people out there who have put time into figuring out what this means -- Joel Spolsky comes to mind.

Of course with anything practice makes perfect, so that's a must. After you've decided on some philosophies, maybe you could work on a few apps every month until you accomplish your goal of 'stepping up.'

Post reply on HN