5 ms·
Life of an Implementer: If you're good at it, don't do it for someone else
- iambot 15y agoTouché! ... I would say I sadly fall into this category, but as you I share the same opinion, and am enthusiasticallymoving forward.
- hedgie 15y agoIf most of this is true, you're working at the wrong place. Needing medical insurance will change most peoples' perception of this argument (assuming they live in the US).
- wccrawford 15y agoThis makes the assumption that a good implementor is also a good idea-person, manager, etc etc. Some people are best off working for someone else and just doing the implementing. Others -prefer- it for their own reasons. Anyone who can (and wants to) do it on their own, will. In their good time. There's no point in telling them to do it.
- joeyespo 15y agoIt's also a great way to begin. For someone new, it's going to be incredibly more difficult to balance ideas, manage projects, and market them than to focus on implementation alone. You offer your strengths and pick up more skills along the way. Then as you become more experienced and well-rounded, you can follow your interests and try handling other responsibilities.
- felipemnoa 15y agoI agree that implementers are undervalued in their own organizations. Unfortunately this happens because the implementer is too busy to play the "political game" to move up the ladder. It really is a lot of hard work to implement something. It will be in your mind all the time. While other people who are not implementing have a lot more time to play the political game and to refine their social skills to continue climbing ladders. Of course, there is also the implementers that want to do nothing but implement and would not want to play political games even if they had the time.
- mtraven 15y agoWhat a surprise that an implementor would think implementors are the most important people in the world. Of course, in most cases management has the exact opposite view -- implementation is an unfortunate cost of doing business, maybe we can get some people in India or Russia to do it on the cheap, while the important functions of business (marketing and sales) are done here. IMO, if you call yourself an "implementor" then you have already lost the battle against being commodified.
- benwr 15y agoYou're basically right. On the other hand (as should be apparent on HN), "implementors" don't always need management. Business does always require some sort of product.
- nostrademons 15y agoI think this, like many of the implementor vs. idea person pieces lately, focuses on the wrong question. If you want to be an implementer, the big question is how do you implement the best damn software you can. Sometimes the answer to that will be to go work for a big company with a large support system, and sometimes the answer will be to strike off on your own. The best implementers I know have done both, and often have financial rewards from both phases of their lives. There's no one unique answer that will apply to all points in your career; if you believe there is one, you're artificially limiting yourself. Don't worry about what other people do or how they're rewarded for it. Focus on doing what you do as well as you can do it, and seizing the opportunities where it'll have the most impact, and the rest will come naturally.
- crasshopper 15y agoNice contribution. I'm sure the people who wrote the STL are happy they did so.
- bluedanieru 15y agoMy take would be, if you do go to work for a big company, work for a big company that is in the business of making software. As an implementor you probably give a shit about process, but no company that isn't in the business of making software is going to be run by such people. At best, it will be run by people who pay lip service to process to shut you up, while disguising long-disproved methodology with catchy buzzwords and other bullshit. Somewhere above you in the chain of command you need to have someone with the desire and ability to Do Things The Right Way and the political capital within the organization to make sure it happens. Otherwise you're at the mercy of people who don't give a shit about software development (why should they?). As a software developer, that's not a position you ever want to be in. Of course, even in big software companies this often happens. But at least you'll have a chance.
- dctoedt 15y agoWhich leg of the stool is most important?
- crasshopper 15y agoWhy does this egotistical viewpoint keep coming up on HN frontpage? Do most programmers think they're the only important member of a team? Is everyone frothing to themselves at their desks, muttering that they could do better on their own and should quit to start their own business?
- gphil 15y agoNot sure why you got down-voted for this, maybe you touched a nerve. I up-voted you for having a realistic perspective. Obviously (good) programmers are some of the most valuable employees around--but what about sales, support, etc? One can't be successful on their own just by coding. At a minimum one has to also sell, document and support software for it to really create value.
- crasshopper 15y agoMaybe because it sounded like I was disagreeing with dctoedt, who is obviously right. See Poeisis' comment below.
- xiaoma 15y agoPeople who can sell are also critical, but the difference is that salespeople's performance is more easily quantifiable than most others' and the stars generally do take in outsized earnings via commissions and/or bonuses. It's also easier for their mediocre colleagues to take, when they know that the money the they make is tied directly to how much they're bringing in for the company.
- potatolicious 15y agoI'm with you - I'm pretty tired of hearing the tired arguments about how developers are the lynchpin in every single thing that's even remotely related to technology. Programmers have some of the biggest egos I've ever seen out of any profession. We give Wall Street bankers a run for their money when it comes to how self-absorbed and how self-aggrandizing we are. So very sick and tired of coders belittling the role of everyone else in this society - 95% of coders out there wouldn't even remotely be able to cut it on their own without the umbilical of a stable, sizable employer. There are a lot more skills one needs to survive in their own business than simply the ability to implement software.
- blacksmythe 15y agoTo summarize #1. A great developer is worth much more than they gets paid in an organization #2. A great developer could create much more value for themselves if they worked for themselves #3. If you can't go work for yourself now, take a non-developer position to leave yourself energy at night for developing your own project I think #1 is very true - a great developer is worth much more than is politically possible to pay them in any organization I have been in. (edit: edw519 has given good examples where he saved the company many hundreds of $k in a few weeks, and got an 'attaboy' in return) #2 is more of a stretch - you need other skills to start your own business and capitalize on your strengths (edit: the reason many of us follow this site). #3 is an interesting idea that I haven't seen expressed elsewhere.
- Alex3917 15y ago"#3 is an interesting idea that I haven't seen expressed elsewhere." It's actually a pretty old idea. The world is full of aspiring actors waiting tables, aspiring writers working at Starbucks, etc.
- kingnothing 15y agoI don't think your analogy is quite the same. A better one would be that a journalist or sports writer should take a job as an editor. That would allow him the ability to think about writing all day without actually writing anything, so that he can go home and work on his novel in the evenings.
- blacksmythe 15y ago>> full of aspiring actors waiting tables, aspiring writers I perceived the argument differently. A closer analogy might be that if you want to make it big as a screen writer, you should do something besides writing during the day, so you have the mental energy to write your screenplay at night. (not arguing the same point myself - if you want to become a great writer, you should be writing all the time. This might make sense if you have already developed your writing skills sufficiently).
- ryan-allen 15y ago
- jwhite 15y agoReminds me of this from a while back: http://news.ycombinator.com/item?id=2131550 http://news.ycombinator.com/item?id=2131550
- strlen 15y agoI don't understand articles like this. There's the assumptions that all coding is alike and that when I code for myself I get to solve the same problems that I can solve when coding for others. In reality, this simply isn't true. Case in hand: I like distributed databases. However, I alone, have absolutely no use for one. Nor can I (simultaneously) work on every single aspect of a distributed database: data replication and MVCC, network layer, B+Tree implementation, monitoring, configuration, bindings to other programming languages. When I program on my own (and every programmer should) and for myself, I typically write much simpler programs: tools and utilities (and that's typically the products that "micro-ISVs" sell), conceptual programmings (e.g., I am curious about a certain algorithm, so I'll go and implement a toy version of it) or programming for fun or mind expansion (e.g., re-inventing the wheel, but using OCaml and Lwt), or for career development (e.g., practicing C++ on my own as I primarily program in Java at work). Only a limited kind of programming that I do on my own (concept programming, mind expansion or "career development") is as technically fulfilling as the programming I do at work. There's no way I could do this kind of programming for a living: I am not delivering a usable product. Paxos algorithm is the prime example of it: I can implement a toy version in a weekend, but it would need months of further development and testing and years in production before being mature (and even then, I guarantee, there will be bugs in it). It would need a real world use case for the algorithm (that I, as an individual don't have), it would need operations engineers to deploy it to production, it would need other programmers to build systems on top of. The other approach is to develop products that I, as an individual, can build on my own. There's wide variety of this kind of software: project management tools, productivity tools, business applications. There's plenty of people who want to use these kind of systems and there are many micro-ISVs who continually build this. However, while this might (or might not) pay better, it simply won't be (at least for me) challenging enough to be interesting. There are some for who are able to find a niche where both "sufficient challenge" and "ability to do it myself" intersect, but I am not one of them. Not to mention, I would be spending at least 1/2th of my time doing book-keeping and accounting, technical support, marketing and the like. No thanks. Finally, I could take an "easy" job doing something other than programming that gives me time to do work in the evening. Problem with that approach is, again, it's going yield LOWER happiness than what I have: I am spending a huge chunk of my waking hours doing something I don't enjoy, then when I go home I do something I enjoy, but which (almost never) sees the light of day. In addition in order to spend my time doing something that is a "meaningful leisure", I have to give up time that I could be spending traveling, working out, pursuing other "meaning leisures" (reading, photography) or being with my girlfriend, parents or friends. That sounds like a surefire recipe to develop at least a mild kind of depression. Indeed, individuals who have a deep passion to do X (but where X has a manageable career route), but are unable to find a job doing X, are some of the least happy people I've known (janitors who spend or nightclub bouncers who their time doing physics and mathematics makes for feature films or chapters in Malcolm Gladwell books, but it's a painful way to live). Let's consider the more conventional role: working for a company (big one or a startup) as a programmer. In this case, I spend a much larger chunk of my time programming (yes, I also spend time in meetings, spend time dealing with operational issues -- but that chunk would be much larger if I were "my own" software company); after this I go home and can choose to either program or go out and do something else (depending on my mood). This way I am spending most of my day doing activities that I find to be a meaningful leisure. Suppose I do start my own company: I can go two ways. I can go the "micro-ISV" route and work for myself, or I can start a company that's expected to grow. Again, I'd much rather choose the second route: it's much harder, much more prone to failure, but I'll be able to build something that will scale sufficiently to allow me to focus on elements that I find more rewarding (while employees I would hire are able to focus on elements they find more rewarding). Edit: just as a clarification, I am not saying that all "micro-ISV" work is boring. I just haven't found anything that I could (reasonably) build into a product, such that working on that problem would be (to me) more rewarding than working for somebody else. This could still exist, but it's much harder to find.
- flocial 15y agoThese types of articles are are dangerous if they serve as collective ego strokes for somewhat talented developers. If you are one of those rare multi-talented first-class developer/designer/entrepreneurs, more power to you but implementation is both under-rated and over-rated. You will still accomplish an order of magnitude more by finding the right team. Steve Jobs is not an implementer. Wozniak was one of the most brilliant. With the collective talent at Apple, surely they could stop "working for the man" and live their dreams. Bad or slow implementation can kill the best of ideas but a great implementation of a mediocre product will go nowhere. It's more about assessing your true strengths and weaknesses, finding a team where your talents are a good fit but get a stretched enough that you're always growing at a healthy pace. If you feel under-rated maybe it's more about your communication than being under-appreciated as an implementer.
- dmor 15y agoThis isn't the right reason to start a startup.
- alinajaf 15y agoAs an aside, at the few companies I've worked at, much to the chagrin of other departments, tech has consistently been the highest paid part of the company, at least at my (lower end) of the hierarchy.