Life of an implementer

Posted on

All day we use software written by someone. Except for some exceptions, you’ll never hear about that person, see them, and in the eyes of a company they are often viewed as “replaceable.” They are developers, and without them there is no software. Without software the people doing the “replacing” have no livelihood.

I understand the concept of division of labor, and an implementer can’t/shouldn’t do it all. But let’s get some things straight here:

  • There are more employees that do something that is not directly adding value to the product
  • Grossly there is more money spent paying non-implementers
  • Implementers are typically not the highest-paid
  • Someone doing the implementing strangely has less control over how it should be done

I agree to some degree we need project managers, testers, marketing, etc. but I think most companies have drown their implementers in a sea of busy workers. At the end of the day the people writing the software are often times overly micro-managed and lose too much control or freedom to people making less-informed decisions with wishful intent in absence of logic the implementer has probably already figured out weeks ago.

So if you’re a wiz-bang implementer, what’s your motivation to do it for someone else? You can very likely get paid more to do something that depends on the work you’re currently doing. I’m mainly comparing the idea of going from a programmer to a project manager/analyst.

Dreams

Most implementers have their own dreams as well. Almost every coder has one or too-many side-projects. Why do they never get done? If you’re a working implementer you’ll never have enough steam to critically think all day, and then do it at home. You may be able to do it sometimes, but when that big-hit happens at work your side projects will slip and eventually fail.

Long story short, if you’re good at coding and doing it for someone else – either make your own start-up or get a different job.

Once you’re working less hours, with less critical thinking, more control, and higher pay you’ll have not only the steam to get your dreams done but the desire as well. Compare the difference between coming home after a day of writing code and keeping all of that in your head for the next day versus coming home thinking about programming-related problems all day but not having tried anything out.

Edit: I didn’t have comments set to publish, so I apologize for the near 20 comments that got posted before I figured that out. I did read all your comments and responded to many. I only enable the comment filtering to keep meme idiots and spammers out and I publish comments I disagree with.

About these ads

61 responses »

  1. So true… this is why i don’t work in the programming field!

    Reply
  2. Well said! I just got switched to a non-programming project at the day job. One of my first thoughts was “now I’ll be able to work on that hobby project!”

    Reply
    • Having the discipline of a heavily-worked implementer and going back to working for yourself must be great. All the productivity without hours of meetings deferring decisions!

      Reply
  3. Thank you for this. It’s as though you are commenting on precisely my situation. I’m not sure that my way of understanding the world would let me be competent at the other jobs you suggest.

    Reply
    • I’m scared to move away from implementation as well. It comes so natural to me. So far it’s going pretty good, and I know a lot of PM guys that do it without issue so I am optimistic.

      Reply
  4. We are treated the 21st century factory workers, the slaves that build the pyramids that others plan. Yet, at least some of us can be, if not the Pharaohs, at least the engineers that built said pyramids.

    Reply
  5. human mathematics

    Low probability that your own idea will actually make money. Doing it for someone else gives you a cozy salary and the busy bees around you may be tidying up details you don’t think about. See what your mortgage rate becomes when your income per year is “variable”.

    Reply
    • I agree this is how it is currently, but is this good? I still think many companies are saturating their implementers with too much micro-management at a high cost. I believe a market is best when there are risks, rewards, and competition – not everyone sitting around safely getting paid.

      Reply
  6. The word is ‘paid’, not ‘payed’.

    Reply
  7. paid, not payed

    Reply
  8. Gekkor McFadden

    What a load of opinionated garbage. People like you should not be in the industry.

    Reply
    • Thanks for your rational. I wrote a whole article and tried to explain my thoughts, but your one sentence rebuttal is equally rational.

      Reply
    • Dick move ^

      Reply
    • Would be great to hear what you disagree with. I think the post rings very true, even if I am not sure about what to do about the situation. I definitely feel like my immediate managers value what I do, but I am nameless and eminently replaceable to the higher ups.

      For the record I work at a largish IT consulting company in Sweden called Tieto.

      Reply
  9. good post.

    Reply
  10. I like it. I love my coding. I think I am an implementer. I went one step ahead and started a company to implement software for others and employed coders hoping they would turn out to be implementers.

    Spent six years, my side projects which I hoped to nurture with the cash from creating software for others, remained on the sidelines. Finally one fine day I said to myself, screw it – http://bit.ly/k7wFFi!

    Now I am happier.

    Reply
  11. Sounds great. When you figure out how to have a life and/or family – which you inevitably grow into, costs real money, and is at higher risk to lose by not being able to make it on your own – please let me know.

    I think everything here sounds fantastic, but the road to the promised land is much more than a Nike slogan, and while there are a gifted handful of implementers that have the skills, discipline, great idea, and luck of timing to get themselves to a place where they’re self-sufficient, most don’t. The only item in that list that doesn’t improve with experience out of that list is luck. The rest, an experienced implementer – one who has either dedicated his life to his job or has a family and a mortgage, thus making the risk of going it alone much higher – would be much better suited to provide.

    Frankly, I grow disgusted with this mentality. There is no end of people telling everyone to quit their work-a-day jobs and how great it will be. But there’s nobody as loud saying how to actually go about it. That’s the part that I’m missing. Point me in the right direction, and I’ll be grateful.

    Reply
    • My real thought here is how sad this is. I’m actually very good at what I do, and I’ve always been extremely well received. People like my work, complement me, and all is well in that domain. The problem comes when you look at how much more money you can earn without the critical thinking and stress of doing real work. If you’ve got 5 people that depend on your work, they are going to ride your ass – we know that because without you they have nothing. I’m quite efficient actually and love a challenge, so I enjoy getting deadlines done faster in smarter ways – but when you look above you and see $150K being used to ride your ass while you get paid $60K, it’s depressing. Especially if their stupid or an asshole – or both.

      Reply
      • And I guess my point here is that this frequently repeated suggestion with no plan becomes farcical after a while. For example: Yes, it is sad that kids go hungry all over the world. They should go get some food. This is similar in character to what you present here.

        I disagree with nothing you’ve said. I simply want to know what plan is proposed for the competent people who would escape the situation, such that they need not give up their lives to do it. Or is your claim (and this isn’t a challenge, simply a question) that no plan is required? Just go do it and everything will be fine? It simply doesn’t seem that it’s that simple – quit your job and work freelance/for yourself for a better life – to me.

      • Sorry if I came off combative, I was responding to many posts and may have let that cloud my judgement. I do have a plan, and I will share that plan. I’m living this scenario, and I think as evidence by my post I’m not very jazzed about it. This post was designed to be an introduction into the concept of why a good coder might choose not to code in the field, and I really wanted to discuss the absurd concept that if you’re good at something it may no be beneficial for you to do it.

      • Ah. See, I was thinking of writing this exact same blog then, having just quit my code-for-someone-else job to move on, hopefully, to creating things for myself.

    • What cracks me up is the irony of someone asking for a “roadmap” to “going it alone.” It seems it should be obvious that “going it alone” means blazing your own path, and anything someone else can tell you will leave you feeling frustrated that there’s not enough info out there.

      I’ll give you a perfect example from first hand experience. One of the companies I work for in my “day jobs” is a software company whose product creates leverage for marketers. Of our typical customer base, a decent chunk are already established and just want the tool, a decent chunk are moving into the arena from a related industry or going from “job security” to independent, and a larger chunk are brand new to the industry as a whole.

      The first chunk needs nothing more than the software and they do fine. The second occasionally needs some guidance and moral support or reminders of their goals and they mostly pull through OK. The third chunk try our software for a while, then someone elses, then someone elses, buy course after course, and keep getting frustrated that none of these “solutions” are magically making them money.

      There’s a ton of great stuff out there for people looking to go it on their own, but NONE of it will work without your own blood, sweat, tears, and originality.

      As someone who successfully made it out of the rat race into a very comfortable self employed life, I can tell you it takes the stubbornness of a mule, to keep going forward through ridiculous amounts of failure, and obscene amounts of discouragement from anybody who stands to gain from your “job security,” and is an ENDLESS road of trial and error.

      I don’t have kids, and my girlfriend works too, so you have me on the family bit, but don’t get mad because nobody can hand you the magic pill. The stuff that’s out there is still very useful for the people who have the will and desire to give their own path the highest priority in their life, and push through failure to find the unique answer that works for them.

      Reply
      • Saying that there’s no formula is better than nothing. I don’t really expect there to be a formula. I’m just sick of people telling me to jump off cliffs when they’ve already comfortably arrived on the ground. Surely someone has used a parachute or hang-glider before and can offer some measly pointers?

        Suffice to say that I’ve even been a little disingenuous in my reply. I’ve recently done what everyone has been telling me to do. I am going it alone. But I don’t have a plan for where the next year of cash is going to come from. And I don’t know what work I will be doing next. If I’m going to build my own ideas, how do I stay afloat financially until those ideas are viable? I have some ideas, I’ve done some research, but of all the people I’ve heard from, the ones that told me to jump were the least helpful in convincing me I could do it, simply for lack of offering anything of concrete usefulness.

      • Well said. Quitting is not the magic key, because what’s really important is going to happen after you quit. It’s easy to tell someone to get out of a shitty situation – it doesn’t make it any less the right thing to say, it is just easy to say. It’s harder to be honest about the price you can expect to pay trying to get more control over your professional life.

    • Fair enough, and I’ve been there too. The solution, as is very well described in the original post here, is to keep a secure position that allows you to move.

      I have two major contracts that occupy 80 hrs of my time every week, but neither one calls on my highest skills, or best ideas.

      The point is to keep yourself afloat with secure positions, and use the income to fund your highest potential, and I think this is relevant for ANYONE, not just coders.

      If you’re a coder, code for yourself, and work alongside coders for a paycheck. If you’re a salesman, sell for yourself, and work alongside salesmen for a paycheck. It simply boils down to not giving away the best you have to offer to build someone elses biz, but using your skills to do something that comes relatively easily to you, so that you can support yourself and fund your passion until it grows to something sustainable.

      If I had to give someone anything like a “roadmap,” THAT would be it, and undev hit that nail on the head with the original article.

      Reply
  12. I agree 100% with all what you have said here. The implementer is often regarded as replaceable. With my boss often saying that if one gets too expensive he will find someone cheaper to do the job.

    Reply
    • This is pretty common. I didn’t mention it in the article, but how often have you really seen two developers (with real skills, not just paper holders) and equated them?

      Reply
  13. It’s quite interesting your point of view, with the context of your site’s title. I’ll be interested in hear more from you along the road.

    Reply
    • I’m in the process of doing a lot of things. I’m trying not to expose the company I work for currently or the projects I’m involved with right now. This is my first time writing anonymously and I’m loving it! After going to E3 and talking with other developers, project managers, and testers and comparing my experience in other areas I’ve got some interesting things to talk about.

      Reply
  14. Fix your site’s ginormous header.

    Reply
  15. Some points to consider: 1) pay is based on responsibility, market forces, and how much personal risk (money) you are putting in the game (all in theory anyway) 2) a powerful engine in a car is useless or has low value unless you have a drivetrain, chassis, gasoline, tires, a good road, gas stations, mechanics, etc) . 3) good non-implementers clear the way (law, insurance, accounting, communicating) so implementer can implement.

    “Long story short, if you’re good at coding and doing it for someone else – either make your own start-up or get a different job.” You are very correct. It is this observation that leads to the view of how very competitive the software market truly is. When the market was not competitive (pre-Microsoft), software we use today would have cost millions. :)

    Reply
    • I was going to get into the whole debacle of needing capital, etc. and the challenges there. I actually started my own small software company years ago. I will be writing another article about that in the near future and I have a hard enough time as it is staying on topic :) Remember, we’re horrible at scope control?

      Reply
  16. Usually I don’t comment but this post rings a bell. This is your first blog and is a very good read.

    Reply
    • Thanks for the encouragement. I used to write under my own name so I would get credit, etc., but writing more anonymously has let me be a lot more expressive and I can finally start saying some things I’ve never been able to.

      Reply
  17. Totally agree about keeping your coding skills for your own side projects, it’s how I work and it works VERY well for me.

    Where I disagree is about the “sea of busy workers” and “people making less informed decisions.”

    In my “day jobs” I work for a few start ups in a customer facing capacity, and work intimately with the developers.

    I find being a developer myself, while it helps me understand these companies developers perspectives and priorities, doesn’t make my feedback any more welcome when I speak on behalf of the customers, and this to me is evidence that when your sole focus is development, it becomes a challenge to clearly understand the needs of the customer, without whom there would be no business.

    In actuality, all the essential roles of a software business (or any business really) exist to complement one another, as each role becomes too myopic to satisfy all of the needs of the greater whole. It’s in the friction between these roles that the overall “best” paths can become evident and allow a business to grow in a way that secures its future.

    Reply
    • As I mentioned in the article, I agree we need division of labor – but I think the ratio is “out of whack” and I really do think there are lots of people making decisions that are completely not in their skill domain.

      Reply
      • You may be right in some cases, and I may just be fortunate to see otherwise in the small companies I work with, where the quality of a suggestion is cooperatively evaluated by the entire staff.

        I’ve worked in corporate before, and there’s definitely an element of bloat that takes place as a company grows that size, so I’d expect to see it there.

        In my experience at these smaller companies however, it really is a very democratic situation. Of course in any company one person calls the shot in the end, and in these situations it’s the business owner, often times dealing with decisions that can make or break the biz. I suspect it’s easier to make poorly informed decisions when you have the power of a worldwide brand and the job security of a layered bureaucracy to hide behind, like in this case – http://www.reddit.com/r/pics/comments/hvuhg/apple_why/c1yuah6

  18. An interesting read, that’s all i’ll say.

    Reply
  19. I think you’re going too far when asking all devs to create their own company. It’s not because your codes are good that you’ll make a succesful entrepreneur. On the “get another job” part, what kind of job do you suggest ? And how do you think we can switch ?

    Reply
    • I’m getting a lot of heat for recommending it, but I don’t think it’s fair. I agree it’s very difficult to run a company right now, but mostly for reasons that are illegitimate – like the fact that there is so much regulation. To be clear, I should have worded it the other way around. I’m really recommending that if you’re working for a company right now and you’re highly skilled, then switch jobs into a non-critical thinking role and if you have the experience and capital it may be worth starting your own thing. I personally would love to see an America where more have a business.

      Reply
  20. There is always more to the equation than meets the eye from the viewpoint of any one part. At least for my team, implementers work fewer hours ( they always have weekends off) and take less risk ( they make standard market salary. Whereas, I make 1/2 market salary ( and less than some of the implementers) but have a possible boon via equity and have not taken a full day off in 3 years. While they work side projects, or enjoy the weekend, I interact with customers, detail technical problems and work on adding to the priority lists and back logs. This means Monday morning is spent moving forward, not catching up.

    Other non-implementers run interference for them. CS covers their ass when they make a mistake handling the flood of phone calls and emails with a smile., gathering information on compatibility issues that slip through testing or determining when consistent User error can be fixed with better UX. The UX team spent 6 months in CS before they were allowed design a single thing to make sure they dealt with the customer’s point of view. They ensure design gets a well planned wire frame with exact interactions, language and drop-downs. Design sends layered, labeled clean page layouts and interacts with developers to include their input, ideas and limitations. My partner has spent hundreds of hours in lawyers and accountant’s offices making sure our structure, tax compliance, HR compliance etc were all in place and he gets to be the one fined if is not.

    From designing to proofreading, to keeping the customers off their implementation teams back these busy bees allow implementers to implement. They are critical to growth and development of the company.

    Implementers need not worry about cash flow position, revenue projection, negotiating better insurance rates, handling the simple things like paper towels and coffee service. Implementers are not planning cash outlays for the newest computer systems or server systems or benchmarking cost/performance for the 50 3rd party services or companies we do business with.

    Implementers are freed to do 2 things in our team. 1) talk about, develop strategy for and discuss best practices regarding coding in general and coding the product. 2) code.

    I’ve seen CS handled by a coder, accounting set-up by a coder, design and UX done by a coder, contracts written by a coder. In general, specialization is a very good thing.

    Reply
    • It’s true that not all of the “busy workers” are completely useless. But I’ve seen too many Monday morning memos from some manager who obviously a) Did not understand the technology being used (and did not know he did not understand) and b) had waaaaayyyyyy too much time on his hands, to take your description at face value. Either your particular organization is the best the universe has ever seen, or a number of grains of salt should be added in the interpretation.

      Reply
  21. Pingback: Top Posts — WordPress.com

  22. Great post. I was an implementer and then a manager, and then an implementer again. After the second time of being an implementer, I got back in management as soon as I could because it is way better. It helps to know what your implementer do, so you can jump in to push projects along, but having a voice in the direction of project is so much more satisfying then creating elegant solutions that no one fully appreciates.

    Reply
  23. Programmers are more like novelists than I realized, so thanks for teaching me that. It’s something I probably should’ve realized, since I was a code monkey back when the language of choice was GW-BASIC.

    Reply
  24. I agree with every single word you wrote.

    Reply
  25. Everything you say here is true but it’s only half the truth.

    First, why do we programmers program? Is it for the money? Most of us do it because we love it. I do it for free for the right causes. I do it for fun. However, I also do it because I suuuuuck at other jobs, like sales. I can’t sell water in the desert.

    But, “If you build it, they will come.”, right? WRONG. A great idea and a great implementation are only the start. You’ll need a sales team which means you will have to manage them. Crap, now you’re a manager…and each step takes you farther away from what you love – programming, engineering, etc.

    So, sure, maybe you aren’t making the “big bucks” but maybe you have security and job satisfaction and for many that’s enough.

    Now get out of the way, lazy. I’ve got a new business plan….

    Reply
    • > First, why do we programmers program? Is it for the money? Most of us do it because we love it.

      I work as a programmer for money. I do it in my spare time because I love it. If you’re occupying my time, you need to pay me. If I can earn more doing something easier, then I will.

      Reply
  26. I was recently promoted to a project management role after many years of programming and system admin. I have heard other managers say clearly that technical people are easily replaced. I was absolutely horrified by this attitude. I always knew it existed but when I was one of the tech people, the managers never came right out and said it.

    I keep my hand in as much as I can manage. Eventually, I won’t be able to manage anymore. If, by then, I have used the wonderful money I’m now getting to pay off enough bills, I’ll go to work for myself and get far far away from the idiots who don’t appreciate the years of education, experience, and hard work it took me to develop those “replaceable” skills.

    Reply
  27. Hi Undev,

    Thanks for the excellent article. Your rationale had a deep impact on me. I have been a “Star” programmer for the last six years or so but I have had enough. Now I am moving on to management :)

    Btw I am still eagerly waiting for your followup articles.

    Reply

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: