I’m a passionate person, pouring my heart and soul into everything I do, including my profession as a software developer. I don’t just sit around and write IF statements and loops all day (like we did in college), or SELECT statements, or lame SVN commit messages (although sometimes those slip out when I’m not looking). I’m not in this for the money, prestige, or political power.
For me, it’s about the thrill of the chase.
I’m a lover of mysteries with a penchant for puzzles and an addiction to problem solving. The fires of this passion were first stoked when, at the age of twelve, I discovered the fictional detective Sherlock Holmes and ravenously devoured the entire series of whodunits in record time. Like a hound fresh on the trail of his quarry, I followed the clues with an electric anticipation, attempting to deduce the solution to the puzzle, the question, the mystery before it was revealed. Unfortunately and alas, this led to a rather unrequited love affair with a fictional character, whose brain I was hopelessly smitten with. But at twelve, those things are bound to happen and I got over the fact that we could never be together.
This first affair with mystery set me on an irrevocable path toward problem solving–a path that has been refined through the years by the fine-tuning inherent in studious endeavors. In high school, the passion burst to life again when I began studying chemistry, particularly the periodic table of elements. I remember being fascinated with the fact that the structure and order of the periodic table allowed scientists to deduce the existence and properties of elements that had yet to be actually discovered. Equations and their answers, math and the problems presented, never failed to catapult me into the thrill of the chase in pursuit of their answer.
Since then, leisure time for me has always included some kind of puzzle or game, from crosswords to sudoku to scrabble to boggle to jigsaws to reading stories and watching them unfold. What I find so appealing about a puzzle is not only the pure satisfaction that answering it brings, but also the pleasure experienced in pursuit of that answer. In this sense, the journey is just as important and rewarding as the end. I think Thomas Aquinas put it best when he said that play is valuable because we do it for its own sake, and the result of play is joy. At least, he said something like that. And he’s right.
So what does this have to do with writing code? Everything. Coding is formulating solutions, it is building structures, it is conducting them in a symphony of harmonious accord. Architecture is akin to a tetris puzzle where every piece has its optimal place. Debugging is like following the threads of a mystery, picking up clues until the culprit is apprehended. Production support can be data sleuthing toward an answer. Yes, some parts of development can be tedious, boring, maddening; but then the challenge becomes turning those aspects of it into opportunities for discovery and growth. The passion is in the fun of it.
This is a really inspiring and energizing post. I enjoyed reading it just as much as remembering my own passion for software development. Thanks for rekindling the fire.
I agree! Especially considering what we do is a thing between art and science. The techniques regarding software is quite important but no amount of training or education can do a difference if you do not have passion about what you do.
I can easily say there are coders who know much more than me but when it comes to passion, dedication and fun, all that skill and experience goes out of window. You may know how to hack an application expertly, (hack in the old sense, not breaking & entering into a system) but if you don’t have passion, or rather don’t want to, that app won’t be a reality.
@Ozgur: Absolutely. My manager looks for what he calls “spark” when hiring new team members. Applicants can have all the talent and experience in the world, but nothing is as valuable as the passion.
Coding is a wonderful pastime. I came to it from collecting green tree frogs. After collecting a bucket of frogs I would have to measure and classify them into small, medium and large green tree frogs. After a while the tedium of frog classifying caused my mind to wander to how I could make the job easier. Some people find the Baby Jesus, I found coding.
@Gekkor: Fascinating. (I found both.)
Couldn’t agree more! Well put!
as a software engineer, i find the work passionately addicting.
Yes I remember those days . . . .
….. but it seems the passion in me for coding has died.
I think I have to move on to other things . . . .
@Frans: Rediscover the fire. Code what you love!
Nice post. I spent about a quarter of a 40+ year career in Information Technology as a programmer. I found the job of maintenance programmer, where I had to change programs written by others to correct problems or make modifications required by changing business needs the most thrilling and satisfying. I often think of program code as the gelled thought process of other human beings. The variety of ways programmers solved problems was astonishing. For me the development of new code was boring, but working on other’s code was exhilarating.
@Richard: That’s rare indeed! Seems so many of us tend to be snobs and want to write all our own stuff, but you’re right! Working with code others have forged can be not only exhilarating, but informative, (even if it teaches us what not to do). Having a heart for maintaining code is a valuable asset–don’t lose it!
I wish I could find a job again where designing, creating, and debugging code was valued. Since the dot-com bust in 2000/2001, the tech industry has been anemic. Seems like no one needs what I do best any more. Directors (and above), Program/Project Managers, and Sales get all the credit and reward, while us lowly software developers get overlooked or blamed if things go bad. We are misunderstood and mistrusted by those that control our budgets. They begrudgingly pay us and force us to constantly justify the value of what we do. I’ve come to see that the most valued software developers are those that can use VB to create automated metric scripts for slick Excel graphs and Powerpoints. It’s no longer about coming up with good ideas and creating a good product. It’s about learning Corporate-speak, attending meetings, projecting man-hours and schedule, and providing constant status updates to people that do not trust us, are blind to the value that we create, and do not respect what we do. My standing joke that I tell is that my director doesn’t want to spring for a second monitor for the developers because he knows we’ll be able to goof-off twice as much! I’ve been in the industry for almost 30 years. It hasn’t been fun for the last ten. I keep waiting for things to turn around, but the longer it goes, the more I’m convinced that it won’t. It seems like all of the dreamers and innovators are dead …that most companies are just hunkered-down on defense. They’re not trying to develop new products but just trying to hang on to an ever diminishing market share, milking the old products as long as can be done. Unfortunately, I’ve come to see the entire United States like that. It feels as though we’ve seen our best days and are in the twilight phase of life. I hope and pray that I’m wrong, that we, as a nation, can once again dare to dream and do, instead of trying to tear-down anyone who tries.
Clint, I sympathise with your view. I enjoy the designing and coding, but am continually told to understand more about the “business” if I want progression. I was heartened by this article (found from Code Project): http://www.forbes.com/sites/venkateshrao/2011/12/05/the-rise-of-developeronomics/
As is mentioned, software is still “black magic” and resists managers trying to process-atize it. I personally think the whole developer community should play on this and require “business” to come to us in supplication, where maybe we’ll fix their problem if they pay/pray hard enough. There has been much talk about making software a transparent commodity, mainly by the IT community trying to get IT into business. Maybe it’s time to push back now that everything will fall apart if we’re not there. CodeGirl, you’re right, this isn’t something you can just do as a job, you have to love it.
@cyclingcoder: You say, “I personally think the whole developer community should play on this and require “business” to come to us in supplication, where maybe we’ll fix their problem if they pay/pray hard enough.”
While I understand where you’re coming from, I see it a bit differently. For me, it’s a privilege to work on a development team that exists solely to provide a service to the business who employs us. We are dedicated to working with the business in all aspects of product development and interface with many departments on a personal basis to ensure that we deliver what they need. It’s very satisfying to be a part of such an operation.
I used to think like you. Then I looked beyond my keyboard and I saw a world filled with lies, corruption, people dying of hunger, sadness and all the rest of reality. …But hey, maybe that’s why I love to code …I keep my mind busy solving problems I myself created instead of solving real problems. Cheers.
I am also a bird of same feather.
Very well written article. However, after 20+ years in software development, I think that passion and “sparks” in general are overrated. Moreover, in some circumstances they can be outright dangerous to a project’s health. I’m more likely to reject a candidate for too much passion in his/her eyes that for the lack of the “spark”.
Of course, I am talking about PROFESSIONAL softwared development. Hobby projects are another matter all together.. 🙂
The hard thing here is to pass through the boring times. When the software architecture has already been defined, when the business objects were already created I find it very boring to create user interfaces and make all the mapping to an application that is mainly CRUD based.
I’d love to work on projects that are more challenging on a way that I need to develop clever algorithms, A.I. stuff, etc… Games are a perfect example where those are used heavily, or even search engines, etc…
wow, I think I’m in love…
ok :p you are not totally an evil woman then :D. Judged you a bit too quick from the bra post :).
It is heartwarming to read a post from people who are so passionate about programming. It is like an art that needs an artist who can put his/her heart into it. Someone who thinks about it most of the time and considers it a hobby. It is so difficult to find really good, passionate programmers out there. If you know such divine programmer who is dreaming of working in an environment full of equally passionate individuals in Detroit,MI for atomic object, please let me know.
This is a brilliant article Codergirl. I especially appreciate when you said that part of the passion of coding and programming is turning those boring and tedious phases of the project into opportunities for growth. This may sound strange, but for me, when I code, it’s as if I’m programming more than just software apps or web development. For me it’s symbolic of so much more. The bugs and problems I run into during a development project often feel like they are linked to seemingly unrelated aspects of the project , company or even my own life. I notice patterns everywhere, and often, seemingly unrelated patterns can be a doorway to solutions in the bigger picture of problem-solving. I also think that passion can go a long way. Technology/programming is truly a magical thing.
Reblogged this on What's in the Pages.