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.

After reading this question and it's answers, I've pretty much confirmed what I'd feared was true all along: I am a bad programmer.

Not by direct choice, though... The mish-mash of practices I do have are from the mish-mash of VB6 and VB.net that we were taught in school. Because we were unfortunate enough to be there in the middle of their transition, instead of learning one language fully, we learned two languages half-way. Along with it, we also learned a mish-mash or not-exactly-best practices.

Combine that with my current job where if you even try to remotely follow best practices, you will be fired ('Test environment? What's that? Just upload it to the server and go!', 'You spend too much time and attention to detail. Just get the thing made ASAP so we can move on!'), and learning from experience on the job is just not an option. Heck, one time I just mentioned the word "plan" at a discussion on what to do to get started on the next project, and I was on their shitlist for months. Had to watch my back and make sure not to deviate from their idea of work, for when I did I was literally screamed at in the middle of the office. I was to be fired before a coworker calmed the boss down.

All of this culminates to one very important point. I am going to have to pick up best practices on my own in order to get out of this place. Only problem is, though I've seen many programmers complain that others don't follow them, I've not seen anyplace to go to learn best practices, either. So my question is this: How does one go about learning these things?!

share|improve this question
24  
First place to learn is at another employer. – Steve Evers Nov 16 '10 at 17:02
5  
I strongly agree that you should consider a new job. – user1249 Nov 16 '10 at 17:17
I've considered a new job many, many times, but then my coworker has reminded me of a very important fact. In these down economic times, this place has one thing going for them that other places may or may not: Their checks don't bounce. – Aeo Nov 16 '10 at 17:19
2  
@Aeo - A bird in the hand certainly looks good, I'll give you that. But, if you're wanting to learn good programming practices, then step one is to find an environment that will allow it. There are lots of programmer jobs out there, I'd start looking if I were you. – Eric King Nov 16 '10 at 17:22
1  
@Aeo: You can look for a new job without quitting the old one, can't you? – Matt H Nov 16 '10 at 23:21
show 7 more comments

closed as not constructive by Mark Trapp Feb 19 '12 at 20:40

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.

7 Answers

up vote 7 down vote accepted

http://www.codinghorror.com/blog/2004/02/recommended-reading-for-developers.html

share|improve this answer
2  
+1 for Code Complete. Just reading that alone will be a massive improvement and help the hassles of a harried development process. – Philip Regan Nov 16 '10 at 17:24
Correct Philip. Even today Code Complete is Bible for Developers. One must read that book regularly to keep themselves updated. – PradeepGB Nov 16 '10 at 17:32
I might just go ahead and order Code Complete at the very least. I'd thought about getting it before, but the price had thrown me off of it. I suppose you get what you pay for though with as highly as this book is talked of. – Aeo Nov 17 '10 at 1:45

Well at least you are in a position to learn what NOT to do!

share|improve this answer
Yeah, definitely. – Aeo Nov 17 '10 at 1:43

You learn best practices from your own experiences, and from the experiences of others.

As others have said this is often books, blog posts, forums like this one, etc. While i'm not sure we have, as an industry, reached a universally agreed upon set of 'best practices' for every problem, there are at least ways of doing things that have been more successful than not.

One good way I could think of might be to study open-source projects that have been successful in both maintaining and scaling their offering. (This is conceptual, as I've never done it myself...)

And seriously... keep yourself open for a new job. Economy and workplace aside, I feel like I have learned so much more by changing jobs and getting experience with the different ways of doing things.

share|improve this answer

I'm in a similar boat -- but with a much better workplace. See the answers I got over at this question for some ideas.

share|improve this answer

A few links that hopefully help give an idea of where one could start:

Edit: Corrected bottom links on Alt.net which is a cool community as I recall.

share|improve this answer
1  
I'd been wondering what it was meant to do refactoring... Nice links! Though the Alt.net one seems to not work. – Aeo Nov 17 '10 at 1:52

Most best practices will seem like solutions in search of problems and not sink in until you've seen firsthand what happens when they're violated and also understand what exceptions exist. I'd recommend reading lots of programming blogs, but only after you feel that you've identified a problem with your code (like not being able to understand or modify something you wrote 6 months ago) and are open to solutions.

share|improve this answer

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