Why Software Engineering?

Posted: May 19, 2014 in Java, Newbies, Software
Tags: ,

Ever wondered why software engineering is one of the top jobs? While I’m sure that people considered a number of factors before publishing articles like the one linked (I’ve seen many that put software engineering in the top three), here’s my list.

  1. To be continually learning. Learning means interacting with something different to what you already know. The nature & content of what you deal with all the time is changing. This is far better than dealing with the exact same task or information all the time. It keeps things interesting. This is very different from the “functional consultant” role. One functional developer told me once, “We just follow the manual or the wizard. There’s nothing to it.”
  2. Dealing with something so immaterial. There are a thousand different ways to implement something. They can all be as different from the next way as night is from day, all while looking no different to the front-end user. There’s something about this that is very satisfying. It’s like working with magic. Where the part that is unseen is most important and most complex though from the front-end there’s no reference to anything that testifies to this.
  3. Problem solving. Nothing makes software engineering more fun than tackling a problem – something that looks impossible is just another adventure in solutions design. Add to that, complexity. We try to keep solutions simple but we still have to deal with the complexity that is already present. If this is done following standards and best practices the resulting solution can work well.
  4. Getting to make things. Everybody likes making things. Just look at kids with Lego or Minecraft. It’s much the same for software engineers. To type a bunch of code arranged in some particular way and watch it come to life and achieve something truly useful is an absolute joy. This is very different from the “technical consultant” role as an implementation covers so many layers. Techies normally work in a tiny space – like the database with some PLSQL. Being a software engineer means having to plan for and build in all the layers of modern, mature Middleware so as to achieve a quality, decoupled  solution.


  1. Hi there friends, how is the whole thing, and what you
    desire to say on the topic of this piece of writing, in my view its genuinely amazing in favor of me.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s