I've been meaning to write a post about my thoughts, feelings and emotions I experience in my life as a 'professional passionate programmer'. So if you were expecting a technical post today, sorry to disappoint :)!
I tend to write in the 'we' form, which is just how I like to write. I don't mean to define you -the reader- as who I am, you are who you are. But you might recognize yourself in these words, and you might not. But I do hope you enjoy reading it.
So, enough formalities, let's just get on with it :).
'Insanity' is the word that comes to mind when I think about the huge amounts of data that pass my consciousness every single day. It feels like there just isn't enough paper in the world to print it all. (It is estimated to take a staggering 8,300 miles of paper or 136 billion A4 sheets to print the whole Internet)
It is utter and complete madness.
Yet we, as programmers, are able to find numerous ways to fabricate order into this chaos we call the Internet, subtract that what we find useful to us, and store that knowledge so we can use it when we need it. For me, this is one of the coolest skills we as -successful- programmers tend to have.
To search and find that little speck of dust in the vastness that is our universe :).
The eternal hourglass of existence is turned upside down again and again, and you with it, speck of dust!
Developer by choice
Or is it? In most cases, each developer I meet -be it girl or boy- has that something special, that something that separates them from the rest. Call it geekiness or call it nerdiness. Call it whatever you like, we all have it to some extent.
No-one can ever understand the passion that drives us to get a bug fixed, to understand and solve a problem, to use a new gadget or just get hypnotized by hundreds and hundreds of lines of code.
But perhaps, that what drives us might also be our downfall. We are all perfectionists in our own way. 'The art of code' is not simply a line muttered in dark (architect-like) corners anymore. When we write code, it feels like we are writing poetry. And it has to be perfect. Which is never the case. Thus a passionate programmer is never truly content. we can feel satisfied, but we are always left wanting for more, never able to truly finish, held back by our environment; we are always, in a way, incomplete.
So, are you -or can you be- a developer by choice? I'm inclined to say 'yes'. But being a passionate developer, one that raises stakes, that takes technologies or applications to the next level, the one that breaths code; that is not a person you choose to be, that is someone that you simply are. Or aren't.
PPP (P to the 3)
To acquire the first 'P' in professional passionate programmer we have to be able to take those qualities, adapt them and use them as skills in often rough and harsh environments.
Adapting to work environments, adjusting to PMs, being a team player, doing scrum, working agile, source control, letting go of making things better; in a way, we lose a bit of our innocence in our work place. We lose a bit of our fighting spirit. We are not simply creating poetry anymore. Our passion to innovate suddenly needs to meet a business requirement that has to backed by some kind of budget.
Beauty and profitability often lie within collision course, and we often find ourselves in between them, when they collide.
It rules my life, this programming bug I caught.
I wake up thinking about the lines I wrote the day before and go to sleep with new ones in my head. A bug that I cannot fix feels like a curse that falls upon me. A curse that will haunt me for days and nights, steals my focus and my attention. Until I eventually find a worthy solution; which releases me from the power the bug has over me. Releases me from its curse :).
It's a passion for coding, it's a part of what defines me as a man.
And maybe this thing I am trying to describe is not unique for programmers. A geek, as described by Wikipedia sounds about the same, but more general:
In current use, the word typically connotes an expert or enthusiast or a person obsessed with a hobby or intellectual pursuit, with a general pejorative meaning of a "peculiar or otherwise dislikable person, esp[ecially] one who is perceived to be overly intellectual".
I love how Karen Mouws -a friend of mine- defines it:
I'm a geek. And proud of it! Why? Cause geeks have something I consider my lust for life: a neverending curiosity. I love education, gaming, sciences, history, animated series, comic books, baking, people, solving puzzles, Batman, movies, cars that transform into giant robots, my boyfriend who is just as geeky as I am... I love life and it never stops to amaze me!
- Karen Mouws
People often think that when you decide to become a professional programmer, you'll have to learn a lot. I tend to disagree actually. Programming, and the research that comes with it, simply co-exists within my life. New information reaches me through my sources, or I pick it up through the skilled hand of a colleague. Once you know a language or platform, all you need do is learn the specifics that identify something as the 'new thing' you want to learn.
So I'm not studying all the time; yet I am constantly learning new things.
Forever is a long word
It might not be like this forever. If the past is any indication I'll most likely grow old. And possibly weary.
But I can't really imagine living my life without this lifestyle, this thing that -among other things- defines me, gives me an identity. I might be thinking about my life in a simplistic manner now, I don't know. But I do see myself as a programmer. Or as a geek. To some extent, that is who I am, how I solve life's questions, how I fix problems.
And I love me for it :).
And to top it all off, I belong to an awesome group of people that think like me and act like me. Communities that are now able to connect using the Internet on an immense scale. Constantly improving ourselves, the technologies we use and the passions that hold us.
And I love us for it :).