How To Become A Software Engineer/Programmer

Posted on June 9, 2009  Comments (10)

How To Become A Software Engineer/Programmer

my advice for budding software engineers is this.

1) Know that you love software before you commit to it. You’ll know when you take your first pseudocode class: a clear division forms between the people who get it and the people who don’t. If you’re in the “don’t” section, choose another career.

2) If you don’t like teaching yourself new things, the skills you learn today will be irrelevant in less than a decade. Accept the commitment to learn throughout your career as a coder, or accept your eventual fate as a has-been.

3) College degrees matter less than hands-on knowledge and time spent at the keyboard. I outpaced my entire class in college because I bought my own programming books that deviated from the coursework, and as a result I learned things they were not teaching in school.

5) Early on, decide if you want to focus on application development or software engineering. Application development deals with making user interfaces, interfacing different systems together, solving business process problems, and exposing applications to the outside world (i.e. web services and other remoting techniques). Software engineering deals with creation of utilities and processes that support information processing, tends to be more math intensive, requires a lower-level understanding of the trade, and rarely deals with the systems that expose the software to an end user. There are core differences in these two disciplines and 100 shades in between, so figure out what you like.

Good blog post; those thinking of a career in software development should read the whole thing. By the way if you are a programmer already that loves it and looking for a new position: my work is hiring a Ruby on Rails developer.

Related: Joy in Work, Software DevelopmentThe Software Developer Labor MarketA Career in Computer ProgrammingThe Manager FAQIT Talent Shortage, or Management Failure?

10 Responses to “How To Become A Software Engineer/Programmer”

  1. Jimmy
    June 9th, 2009 @ 11:32 pm

    Myself is a electronic engineering student.
    I do have to learn C++ and Micro-P.

    That’s the hard thing to do for this career. We need to keep intact of newest information or we will be outdated.

  2. Tom Cohen
    June 11th, 2009 @ 6:04 pm

    Great post. I really believe in what you said about the hands on know-how, that’s why in my military service I’m going to serve in a special unite that is the main source of software for the IDF. Hard to get that kind of experience elsewhere. 😉

  3. Anonymous
    June 13th, 2009 @ 11:11 am

    Step one: Know that you love software before you commit to it.

    Software is like a lot of things that you can’t really know if you love it or not until you try it.

    I think the easiest way to find out if you have any aptitude for this stuff is to just use our good old friend google to find a tutorial and start building something.

    I took lots of classes and honestly hated the classes but still love coding. Kinda weird. School does have its role, but with software, you just have to get your hands dirty and see if it agrees with you.

  4. Anonymous
    June 19th, 2009 @ 5:15 am

    Points 2 and 3 are right on the money. In fact, they could probably be tied together. “Things are changing so fast, the stuff you learn in college is outdated by the time you graduate.” I have been doing this for a while, so i’m speaking from experience. Looking back, i can’t say i regret it. I just wish i could learn faster because technology is literally moving so quick I can’t keep up with it all…

  5. Grant Crow
    June 21st, 2009 @ 3:27 pm

    I guess one of the reasons that makes software engineering so different as a career is the fact that it is so much more accessible as a career than others. Trying to teach yourself to be a Doctor or Engineer online and in blogs (although it has been done) is not recommended. Software engineering, on the other hand, can be self taught and worked wth froma young age, so it’s possible to ahve a really good insight into what that kind of work will be like – corporate politics etc aside!

  6. Anonymous
    June 24th, 2009 @ 11:24 am

    PHP + Linux is the best combination language and OS.

  7. Spyros
    October 5th, 2009 @ 10:23 pm

    You really have to love programming in order to become competent a it. I happen to be a professional programmer and i really love what i do. Make sure that you are keen on that and you will be on your way to mastering it.

  8. Votizen is Looking for Software Engineers » Curious Cat Engineering Blog
    April 1st, 2011 @ 10:35 am

    Votizen provides a nice presentation on why software engineers should work at Votizen.

  9. Increasing the Undergraduate Study of Programing and Software » Curious Cat Science and Engineering Blog
    June 12th, 2011 @ 12:37 pm

    But it seems to me, an understanding of computing is extremely important to those that want to lead in the next 40 years and we should be able to put more of that into undergraduate studies…

  10. Working as a Software Developer » Curious Cat Science and Engineering Blog
    December 17th, 2012 @ 9:27 am

    Technology plays a big role in that and along the way I found myself becoming a programer for a while; and then a software development program manager…

Leave a Reply