Thursday, November 7, 2024
10 Developement Practices Featured Technology

Learning to Write (Software)

I received a message on Facebook last week from a friend of mine that asked this question:

I have recently decided that I would love to go to school to learn programming. I just wanted to know if you had any advice or suggestions that could help me out (I know it’s a very open ended question)? Also I wanted to know if you had any suggestions on books to read regarding Design Patterns (particularly related to web development).

Great question. Let’s tackle those starting with the second part…

any suggestions on books to read regarding Design Patterns
(particularly related to web development).

Seriously, you can’t go wrong with the Head First Series.

image image image image

I know that the covers are a little hard to take seriously, but I what I really like about these books is that they are designed for learnability. imageThey are not designed to be reference books or course curriculum. This is the same reason that I liked learning from WebMonkey (back in the day… when they had current and relevant articles)

OK, now for the first part of the question.

I would love to go to school to learn programming. I just wanted to know if you had any advice or suggestions that could help me out

Here’s the thing. I don’t think that I learned any of the really good practices that I use today in school. I find that most CS programs are geared for people that want their PhD in CS… or want to work for Intel developing the next CPU chip or want to right super fast machine code for networking drivers and pace makers. These are all good, but most of them miss the point and the sort of Software Engineering that is required for solid, maintainable, reliable business applications (98+ % of the consulting that I do)

I don’t know of a single school that teaches, TDD/BDD, CI, DI/IoC, SOLID… I DO think that you can learn the fundamentals of programming (syntax) and even some of the good OO principals (but even that usually goes overboard with too much theory and not enough tangible reality).

So it really depends on your goals.

If you want to work towards your PhD – go to a university and get your B.S.

If you want to develop web (UI) – I would look at the the offerings at most community colleges. I find that community colleges are often more agile to the market place with certification programs and other offerings than many Universities.

If you want to learn the really good practices for maintainable, testable software…

image image image image image

go listen to this HanselMinutes episode, find as many sources of quality content that you can latch on to and absorb them…   plus. I’d go subscribe to the blog series that I’m writing on development practices.  😉

imageWhat advice am I missing?

Take a second to answer this quick poll on where you learned to write software.  I’ll post the answers when the poll closes on Feb 20th – last day of the upcoming Microsoft MVP Summit

Happy Coding!

Similar Posts

4 thoughts on “Learning to Write (Software)
  1. While I agree with your comments on CS programs, I don't think that negates the “should I get a degree” part of the question. I think having a degree makes it much easier to get your foot in the door at the beginning of your career. Computer Science isn't the only option out there.

    If you're interested in business programming, Information Systems is a viable degree. I got my BS in CIS 13 years ago, and still use some of the practices I learned in that program. The analysis, design, and programming that I learned are still relevant and useful as a foundation.

    Of course, I've also taught myself a lot of languages before and after getting my degree, using resources like you described in your article.

Comments are closed.