Live data from Hacker News

How to become a programmer

news.ycombinator.com

11–20 of 37 posts

Re: How to become a programmer

#12
There is only one way. You need to pick a problem and then try to solve it. The problem needs to have depth and should require some gumption on your part.

Unfortunately, days when you try and solve one problem for a long time can be common. When you think you are getting into something like that you need to take a 5 minute quite break. Something that gives your concious brain quite time, I find ideas and answers flood in then.

Re: How to become a programmer

#14
I think the route to success with programming is much like maths, medicine or indeed any discipline, go for breadth first then depth. Don't spend all your time mastering one aspect, try to learn many different things at once even if you are actually only interested one specific thing. Once you have even just basic knowledge and familiarity with most facets of a field then you will be better equipped to approach any specialization.

So in your case its fine to learn PHP but I would encourage you to look at many different things that are unlike or even the antithesis of PHP. It will help you understand where general computing nomenclature comes from, what the limits of your chosen technology are, how best to implement it in a given environment and ultimately it will give you a much better understanding of the technology itself.

Re: How to become a programmer

#16
post #11

"Once I figured it out, it was great, but I was beat. Is there a better way to learn programming?" No. You found it.

Think of it this way: learning a programming language is learning a completely arbitrary and made up language that is used to talk to a hunk of 80 million silicon switches and try to convince those switches to do something complicated. It's going to take a little while to learn that language.

When I first started studying CS at school, I thought that there was some secret knowledge that the true hackers had that allowed them to program without thinking about it. And alas, I must not have had the hacker gene because I worked at it and worked at it and worked at it until I solved a problem, only to move on to the next problem.

Then, it hit me: That's the secret knowledge. You just have to keep chipping away at it. Eventually you'll become good at it. There's no free ride; it's a lot of hard work.

Re: How to become a programmer

#17
post #7

When I started coding I found a book that spoke to me -- This is very important because if you get a book you don't like or understand you will not want to learn from it. And I tend to agree you should probably not start with PHP as your first language. I did, and now all I do is Python and Ruby which are significantly better, imho.

The reason I picked PHP, is that so many open source web stuff seems to be written in PHP and I want to be able to customize these apps (ex: joomla, wordpress, etc). But ultimately I just want to code without thinking and if python or ruby takes me there faster, so be it.

I've been a PHP developer for 6 years and I'm a ZCE. When possible I choose Python over PHP for web related things.

I think the main thing to accept is that if you're going to be coding then you're going to be thinking a lot. If you're not thinking and going on auto pilot then you don't know enough...

Re: How to become a programmer

#18
I recommend throwing out the entire field of computers and starting from first principles. Let's put the Ermine back in determine and stop weaseling our way out of deterministic systems.

Re: How to become a programmer

#19
post #10

First, ignore the language wars. They are all BS. You want to use PHP, use PHP. Just keep in mind that every language was written for a fairly specific task and it's very good at that task. Don't try to use C to write a server-side script. Likewise, it doesn't make sense to use PHP to write an OS. Try to understand what problem you want to solve and then pick the right tool for the job based on performance, libraries…

"You don't have to write a novel and explain that you are adding 2 to variable i"

Better yet, don't name your variable "i". Name it something like "PartCounter" or "CustCtr". Then you won't have to write many comments. Your code can be largely self-commenting.

As a general rule of thumb (IMO), never name any variable with less than 3 characters and never allow one variable name to be completely contained within another (Ctr & CustCtr). Being able to find every instance of a variable (and nothing else) with a simple editor global search will save you much time and headaches over the next n years. (Oops, I just violated my own rule.)

Re: How to become a programmer

#20
post #4

Join some Opensource project at sourceforge.net

I think participating in a community like this also requires learning so that might be a bit too overwhelming to learn to program, learn to use sourceforge and learn how to participate effectively in an open-source project...

Also, I think it's important not to rely too much on others for acquiring knowledge.

Post reply on HN