Live data from Hacker News

Ask HN: How to step up my coding skills?

news.ycombinator.com

11–20 of 57 posts

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

#11
post #9

A couple of suggestions from my experience as a self-educated engineer: 1. Become a programmer and not a coder (see below) 2. Don't skimp on theory, algorithms, data structures and math 3. Learn many different languages between OOP and Functional 4. Contribute to open source 5. Have personal projects 6. Stay current (but not inundated) with the industry 7. Plan on spending at least 5 years to become "skilled" Some el…

"Any engineering field, really, where you get to create."

This is what I am missing at my current job. I don't create anything! My clients are people who innovate and build. I want to be my clients.

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

#12
Honestly, figure out what your interested in and dive in some way. The best way to learn is to be challenged. I know not everyone learns this way, but at least for myself I like to just get way over my head and figure my way out.

When I first started programming I always wanted to build a clan league (I was 14 at the time and Counter-Striker was just the coolest). So I learned php, mysql, and html (this was in 2003, so tables were still very popular). It took a while to learn enough to understand what I was doing but eventually I figured out what I was doing.

Pick something you have passion about and just go for it. The little extra motivation will help you in times of deep frustration where you just can't find the problem.

Secondly, pick up some very general "programming" books like Paul Graham's Hackers and Painters. I also suggest reading CODE to get a fundamental understanding of how computers actually work. Once you understand those fundamentals, things will become easier.

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

#13
Everyone here suggesting you start coding is correct. You definitely should start coding because it's the only way to truly learn. However, if you actually want to get a good job (the bad programming jobs are likely just as unsatisfying as what you're doing now) you also have to read books. Not blog posts (those are good for staying current with trends or figuring out a specific problem but bad for truly learning) but actual books.

For the specific task of getting through a programming interview you should check out the list I made here: http://www.7bks.com/list/610009

I highly recommend you start with The Algorithm Design Manual and do all the exercises you can at the end of the chapters. They're excellent because they start off easy and get harder and harder. If you've written some small programs and scripts I think you shouldn't have too much difficulty.

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

#16
Look at it from point of view of employer. I'm an employer and looking to hire a coder, what am I looking for. * Someone who knows how to code; * How do I know if they can code if they don't have years of experience coding with references... a portfolio would convince me. To get started how about running your own apache server with your own blog on to describe the projects you're working on. Your first post could be how you setup an Apache Server on your Home Linux PC.

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

#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/what-should-a-self...

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

#18

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…

I think the most significant thing to learn at the OP's stage is dealing with bigger codebases. Anyone can program something in 1000 LOC. 10000 is already harder, but I think there is a guenuine difference when it goes to the next level, because at that point, you cannot do everything, and you are forced to spend more time reading than writing.

Contributing to open source projects is the obvious thing to do there. Try to pick up a project which reacts relatively quickly to patches and which of course is of some interest to you :)

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

#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.

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

#20
post #9

A couple of suggestions from my experience as a self-educated engineer: 1. Become a programmer and not a coder (see below) 2. Don't skimp on theory, algorithms, data structures and math 3. Learn many different languages between OOP and Functional 4. Contribute to open source 5. Have personal projects 6. Stay current (but not inundated) with the industry 7. Plan on spending at least 5 years to become "skilled" Some el…

"Any engineering field, really, where you get to create ." This is what I am missing at my current job. I don't create anything! My clients are people who innovate and build. I want to be my clients.

I'm curious - but feel free to not dive into it if uncomfortable - about your current job. What job could you possibly have that means you don't get to create anything from the ground up?

I applaud your will to pivot to something else, and your desire to learn something new at a deep level. Best of luck!

Post reply on HN