Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We constantly learn, evolve and grow as programmers. Think back to when you first started programming. If you could go back and do just one thing differently, what would it be and why?

share|improve this question
show 1 more comment

closed as not constructive by Walter, gnat, ElYusubov, Thomas Owens Nov 12 '12 at 13:19

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or specific expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, see the FAQ for guidance.

16 Answers

up vote 3 down vote accepted

I would have learned about business and marketing early, and started making and selling my own products from the start. Programming is great fun, but as an income stream it has severe upper limits: rate per hour, and the number of hours in a day.

share|improve this answer
show 2 more comments

Start Earlier

I picked up HTML in sixth grade, but I just played with variations on basic every few weekends through middle school and high school. Programming was always kinda fun, but it wasn't until late high school that I was able to start producing useful and interesting things. Now I have a ton of side projects I want to work on, but not enough time. I wish I'd pushed harder in middle school and high school, and learned enough to be productive early on. Thinking back to all the free time I had then that I pretty much wasted- that's the one thing I would change.

share|improve this answer
5  
Amen, I wasted my childhood playing outside... – ChaosPandion Nov 8 '10 at 13:15
show 1 more comment

I would have learned C much earlier. I started out with scripting languages and once you know C, lots of things make more sense. You can see the roots of how things are implemented and also get a much better understanding of the OS even from an admin perspective.

share|improve this answer
show 2 more comments

Think more. Type less.

share|improve this answer
1  
+1 because thinking is the least expensive way to avoid redesign – Gary Rowe Nov 8 '10 at 13:34
show 1 more comment

Be more realistic in estimates. If a job is too large for me, or I'm already doing too much, say so and decline. My largest failures in programming have been from excessive overoptimism.

share|improve this answer
show 1 more comment

I would have started using version control a lot earlier. So many wasted hours...

share|improve this answer

Nothing. I've learned and benefited from every step of my programming life, good and bad.

share|improve this answer
show 1 more comment

I would sit straight. alt text

share|improve this answer
show 1 more comment

Wouldn't have been so desperate to land my first job that I forgot my love for Java and joined a PHP job. For a last 2 years I'm trying for a career change but isn't able to do it yet. I would have waited a bit longer.

share|improve this answer
show 2 more comments

Keep an open mind. Locking myself into one platform and development community is something I wouldn't do. Even if I plan on working within that one platform (.NET in this case) there is a ton to learn from other languages, platforms, paradigms, etc. Over the past few years I've been trying to diversify myself to other things. It's had an impact on the way I think and overall made me better at my job.

share|improve this answer

Skipped the two years I spent programming in ASP/VBScript. ;)

share|improve this answer

Be more willing to take on challenges. It's easy to become complacent doing comfortable tasks. And, there's risk involved whenever you are stretching to the limits of your current abilities. But as the old saying goes: no pain, no gain.

share|improve this answer

I would have asked about the difference between Computer Science and Software Enginnering before going to University... and taken the latter instead.

share|improve this answer
show 3 more comments

I would have started to read (programming) books much earlier.

It's so helpful to gather knowledge, ideas, different points of views and theoric experience. When you do practice after reading, once you hit a subject that was in an interesting programming book, you understand it faster than having to analyse the problem/subject from scratch. It's valid for non-programming books because all experiences - even fictive- participate to enlarge your p...err no, to enlarge your point of view of the world and help to think more out of the box.

share|improve this answer

I would have taken a few CS classes as an undergrad. My degree is in Biomedical Engineering and my programming knowledge is mostly self-taught. I feel like I've learned how to writing code pretty well, but I don't know so much about the theoretical underpinnings of it.

share|improve this answer

I'd probably change my first CS course in university. While I had taken a couple Computer Science classes in high school and spent a few years programming in Commodore 64 BASIC, I wasn't familiar with variable types going into university and thus I didn't skip the most basic course which did count for credit but would have changed a few things as this would have accelerated how quickly I got into my upper year courses by a semester. I still took plenty of 4th year courses to meet the degree requirements anyway. This may be a little off from the intended question but it is one thing I would do differently.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.