Skip to content

Instantly share code, notes, and snippets.

@alan-andrade
Created August 24, 2015 05:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alan-andrade/684c7af743a45cb02aa3 to your computer and use it in GitHub Desktop.
Save alan-andrade/684c7af743a45cb02aa3 to your computer and use it in GitHub Desktop.

How to be a great software engineer ?

I've been asking myself this question for the past 6 months. I thought I'd find answers in books or people would tell me, but no luck. News is, none of that got me a precise answer. In fact, when I interviewed my friends, I was expecting to find my course, but more questions came up instead. I let the enigmas sink in my head and I kept my ears open. This is what I believe now:

There's no such thing as being "great". Being great is a paradox in which you cannot be great if you think you're great. Truth is, as you know more, the more humble you become. You realize you have no idea of what you're doing and you become more patient with others. You don't care about being great.

Great artists have died without knowing how great they are. Their driving force must be something else but the desire to be great. Recognition can't be part of the picture. To me, that force is love for your profession.

I couldn't find any book with the word "great" on the title. I realized it isn't used because it doesn't exist on this context. I figured I'd be doomed If I wanted to become something unreal. lol.

A piece of software is unique in many ways, somebody could ask, is this a great piece of software ? If you wrote it, what would you say ? If it solves the problem, I'd say it's the right program. It's unreadable, non maintainable and has no documentation. Still, it does what it's supposed to do. You see, it's impossible to get every detail right. Normally, writting software involves lots of give-and-take. So If there's no "great" program, how can there be a "great" programmer ?

I think that all we can do is to be patient, learn by staying open and teaching what we know. Software engineering is an art. You'll need your life to master it, so don't rush, and enjoy the ride. Oh, and smile please ! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment