Live data from Hacker News

What is the most effective thing you did to improve your programming skills?

stackoverflow.com

71–80 of 95 posts

Re: What is the most effective thing you did to improve your programming skills?

#71
The most effective thing I did to improve my programming skills was to join a team that was accountable for a goal with a real deadline.

If you don't have accountability, you don't need to make progress. No one knows or cares that you didn't work on your software project if you don't tell them. But if you have people counting on you, you have to make weekly deadlines.

Accountability is the key to success. Especially one it is accompanied by a strong desire to gain acceptance and approval from the cool kids (e.g. the really good coders who you are working with).

Re: What is the most effective thing you did to improve your programming skills?

#72
post #31
post #19

One was to write a book about programming. Your programs literally have to be exemplary. It was interesting how much work that took.

I usually don't upvote pg's comments, because he could say "I like turtles." and get 1,000 upvotes, but pg's advice here is gold. You should do this. You don't even need a publisher, you could approach your topic like Zed Shaw did with "Learn Python The Hard Way". Or you could do a series of blog posts. You WILL get feedback and this will improve your skills.

Totally agree. I have a whole series of "Using ..." tutorials that I've written, just for the purpose of learning - having to write in a style where you're explaining something to others forces you to truly understand the subject matter. As an added bonus, you then have some handy reference materials.

Re: What is the most effective thing you did to improve your programming skills?

#73
post #11

I wrote build scripts for my projects that tracked: 1. Syntax errors on compile (it was C). 2. Test failures. 3. Time of the run. 4. Lines of code. Then I used R to create graphs and reports that were generated periodically. About once an hour I'd go look at them and see what synax+failure levels were per line of code at that time. I'd then plot this as a run chart and start trying to find causes of my high defect in…

This is awesome. Do you remember any of the causes of high defect indicators? And why wouldn't you recommend it? Too much work? I made a thing that takes a screenshot every ten seconds while I work and another thing that sticks them in a window with a slider so I can look at them in sequence. Just yesterday I noticed that I had been daydreaming a lot lately. So I made something that would go through the sequence of s…

When I'm writing code, a lot of the time the screen isn't going to change. This is not because I'm day dreaming, but because I'm thinking.

Re: What is the most effective thing you did to improve your programming skills?

#74
post #50

I wrote a framework. Instead of thinking, "How do I want this program to work?" I had to think, "How do I want every program to work?" Instead of organizing this data, I had to organize any data. Instead of worrying about what my customer needed, I had to worry about what to put in my toolbox before I called on that customer. Instead of handling the current outlying case, I had to learn to anticipate possible outlyin…

Big design up front? Seems like a lot of your advice flies in the face of prevailing agile principles. What do you think about YAGNI? http://bit.ly/cpbljR (YAGNI Wikipedia article -- apparently HN doesn't like apostrophes in urls.)

Seems like a lot of your advice...

I gave no advice. I shared my experience. Take it or leave it.

What do you think about YAGNI?

Never gave it much thought before. But after reading your referral, let me rephrase the question: "How do you know what you're going to need?"

After servicing hundreds of customers, I built a framework that provided what over 90% of had already needed. I figured it was a pretty good bet most new customers would too. So far it's worked out great. The framework has easily replaced one or two other programmers.

But then again, that isn't even what the original question was about. OP asked the #1 thing that made me a better programmer. This was the #1 answer by far. I think everyone should write a framework, whether you need one or not. You'll never think the same way again.

Re: What is the most effective thing you did to improve your programming skills?

#78
post #11

I wrote build scripts for my projects that tracked: 1. Syntax errors on compile (it was C). 2. Test failures. 3. Time of the run. 4. Lines of code. Then I used R to create graphs and reports that were generated periodically. About once an hour I'd go look at them and see what synax+failure levels were per line of code at that time. I'd then plot this as a run chart and start trying to find causes of my high defect in…

Has anyone made a plugin or anything of that sort which abstracts away the grunt work of using this sort of system? It sounds like a great thing to try out were it not for the opportunity cost of trying it.

Hudson AKA Jenkins? I'm not sure if that's exactly what you want, but it worked wonders at the job I had.

Re: What is the most effective thing you did to improve your programming skills?

#79
post #31
post #19

One was to write a book about programming. Your programs literally have to be exemplary. It was interesting how much work that took.

I usually don't upvote pg's comments, because he could say "I like turtles." and get 1,000 upvotes, but pg's advice here is gold. You should do this. You don't even need a publisher, you could approach your topic like Zed Shaw did with "Learn Python The Hard Way". Or you could do a series of blog posts. You WILL get feedback and this will improve your skills.

Or you could use code reviews. At work, every few weeks, I'm obliged to start a code review and have others take a stab at my code. Of course I want that code to be nice, concise, readable, understandable, well documented, well tested, etc, because they will all be looking at it very closely. It has worked wonders for the overall quality of my code.

Re: What is the most effective thing you did to improve your programming skills?

#80
post #55

Earlier quoted context omitted.

If you're only focusing on the 'writing really good code' aspect, sure. But in the wider world, writing a book can be a spectacularly bad way to invest your time. I've made way more money from my "Slicehost vs Linode" article than I have from my portion of "Tcl and the Tk Toolkit, 2nd edition", even though the latter required a ton of hard work.

I think the value is in the writing itself, not the monetary feedback.

Yes, I acknowledged that - but I think that most people would do well to at least consider the other aspects of writing a book as well.
Post reply on HN