Tuesday, September 17, 2013

The Meaning of Life...

The Meaning Of Life As A Software Engineer When It Comes To What You Do At Work.  I know, it's not as sexy as just saying "The Meaning of Life", but if you're honest with yourself you'd admit that you wouldn't read a blog post with such a long title if I'd gone with the whole thing.

Anyway, this post is another slight deviation from software engineering, but I still feel it's important to software engineers and it technically is an "answer I couldn't find anywhere else" so I think I'm covered here.  I'm going to discuss (read: preach to you) what it means to be a software engineer.

As a software engineer your main, and possibly only, job is to make people's lives easier and/or better.  That's it.  That's the full meaning.  But it usually isn't so clear cut when you're actually working, especially when you're working for someone else.

At various points in my career I've come across some people-who-shall-remain-nameless-but-who-signed-the-check who wanted me and my team to focus on changes that make their lives easier while ignoring changes that would make a lot of other peoples' lives a lot easier and better.

It got me thinking, though.  When we're out there in the world coding away like happy little software simians we need to always be mindful of what we're doing and what kind of value we're providing.  It's really easy (for me at least) to start to slip down the this-could-be-more-elegant hole and the I-should-make-this-reusable-now-to-plan-for-the-future path while coding.  I like to ask myself one thing: who will this help?

Answering honestly, I can say that usually when I'm starting down one of the aforementioned roads I can easily pull myself back to what is important.  And what is important?  Haven't you been paying attention?  The only important thing in software engineering is making people's lives easier.  While you're coding, ask yourself these questions:

  • Whose job will be easier by using this feature?
  • Who will no longer get calls at 3 AM when something breaks because of this feature?
  • When this feature is released who will say "THANK YOU SO MUCH!!!!"?
There are other questions, but they're all on the same vein.  Just remember that what you're coding should have value to a user.  Always.

No comments:

Post a Comment