25 ms·
Do call yourself a programmer, and other career advice
- analyst74 13y agoYou should call yourself whatever based on the situation. If you are hanging out with a group of consultants, you call yourself consultant; if you are a special effects programmer, and talking to a model, you say you're in the movie business; if you are interviewing with the author, you call yourself programmer. The best way to connect with others is to understand how they perceive things and find ways to relate to them, not enforcing your own world view onto them.
- hackinthebochs 13y agoThis is one of the most useful bits of wisdom I've read on this site over the years. Thanks for this. (or in other words: "This.")
- deleted 13y ago[deleted]
- _yosefk 13y agoPrecisely. Add to that the fact that the situations you most commonly find yourself in are the result of choices you make, and therefore the behavior serving you best is a result of these choices as well, and you'll be making the same point as I'm making - namely, that there are different paths to be taken, and you'd want to behave consistently with your chosen path.
- bti 13y agoOr with friends and family: Friends => "I'm a back end web developer", Parents => "I'm a programmer", Grandparents => "I work with computers".
- HeyLaughingBoy 13y agoThis so obvious I'm amazed that it isn't discussed every time this topic comes up. Programmers seem to think that there is something "dirty" about adjusting your language according to audience.
- lsc 13y ago> Programmers seem to think that there is something "dirty" about adjusting your language according to audience. Yes. I am struggling with this right now, myself. I mean, not specifically that, but this general idea that putting effort into social bullshit that has little to do with my actual competence is dirty. It really /does/ feel dirty, and I have a difficult time articulating why. The problem is that I have moved myself more towards management, and so getting people to do what I want really is part of 'competence' now. A big part of this is that humility (false or not) is so absolutely core to getting along with other engineers, and so absolutely terrible when dealing with business types; behavior I have put a lot of effort into training out of myself now needs to come to the fore. I don't know. One track is to view social nonverbal communication as ethically neutral, but eh, that... might have other problems, too. As this is an active problem for me, I clearly don't have the correct solution.
- dmoney 13y agoI've recently found myself in a leadership role as well, and I don't think it has to do with whether people are business types or not. Humility is necessary to fit in with peers and to get along with superiors. Confidence is necessary to influence people (be they peers, superiors, or subordinates), and you can't manage without influence. A piece of advice I've seen in a couple places is to focus on service, whether that's service to your organization or to the team you manage, or the customer. The idea is that it takes your focus off you and your communication skills, and lets you argue from what the company or team needs.
- lsc 13y agoEdit: Yes, I know this sounds kind of... angry and juvenile. Bitter. That is what I meant when I said that I clearly don't have the correct solution. a big part of the problem is that I don't even know what most of these words I'm using mean - And honestly? I think it's "confidence[1]" that other people say they do. Of course, I know I'm not competent enough in that area to know that for sure. >I've recently found myself in a leadership role as well, and I don't think it has to do with whether people are business types or not. Humility is necessary to fit in with peers and to get along with superiors. Confidence is necessary to influence people (be they peers, superiors, or subordinates), and you can't manage without influence. But when you are dealing with less-experienced Engineers, your accomplishments are that influence. And when you are dealing with more-experienced Engineers, well, you should be giving them requirements, and listening to them tell you what should be done. I mean, yeah, sometimes emotional bullshit intervenes, but it's bullshit I can mostly deal with. As an example, I came in conflict with my apprentice a while back... I am fairly certain the conflict was caused by the fact that he had learned enough that he was, well, better than me for some of the parts of his job, and that wasn't the deal when he hired on. (I mean, it also wasn't true when he hired on; he worked here for a while, and he learned a lot.) I don't know how much of it was him not adjusting to our new roles and how much of it was me not adjusting to our new roles (and how much of it was me just not being able to pay him what he was worth; he ended up getting a much better job elsewhere.) I mean, I didn't understand how to /fix/ the emotional bullshit, but I had a pretty good idea of what it was about. that's the thing about dealing with people who are primarily engineers; I'm not saying that I am good at managing Engineers? but when I screw it up, I usually have a pretty good idea of how or why I did so. The problem is that when you deal with normal folks, they are influenced by what looks to me like empty arrogance. It's like they have no way of judging actual skill, so they say "Why don't we do what the tall guy says?" you know, they focus on things like posture and voice and how you dress... which really have nothing to do with anything that matters. My other problem is that I've always been way better at managing down than managing /up/ - that's the primary reason I started my own company. If you always focus on what you think is best for the company and/or the customer? you are going to come into serious conflict with the management above you. [2] >A piece of advice I've seen in a couple places is to focus on service, whether that's service to your organization or to the team you manage, or the customer. The idea is that it takes your focus off you and your communication skills, and lets you argue from what the company or team needs. Yeah, well, it's my company, so I think I do keep my 'eyes on the prize' as it were. But that doesn't really help when it comes time to negotiate that big new bandwidth contract (or get them to interpret that contract in my favor, after it's signed.) I mean, that's the thing. when you are negotiating with professionals, it's their job to take as much of the surplus value out of a deal as possible. It is, by definition, 'surplus value' - the difference between the highest price I'm willing to pay and the lowest price they are willing to give me. (the other thing about negotiating with professionals that is not fun is that they usually don't have the attention span or the knowledge of their product offerings to negotiate other than in the emotional manipulation way. I'm very flexible, and very willing to line up what I buy to what they have surplus. I'm also very willing to share what I would like, and what I can be flexible on. A professional? generally speaking, wants to collapse that down to a linear type deal, where we pick a product and hammer eachother on price until someone is exhausted. Their secrecy destroys any possible gain in value from negotiation.) Of course, now I'm conflating negotiation with influence in general, while I probably ought to think of those things separately. [1]Confidence as in "a confidence game" - I don't think anyone understands human interaction the way you can understand, say, how a program works. The meaning of a word someone used early in a conversation changes towards the end of that conversation. This is where I'm lost with verbal communication. The line between "saying nice things to give someone a good feeling" and "outright lying" is... I don't even see it. I have no idea where that line is or if it even exists. Does a professional think it's even possible to lie in a medium that isn't recorded? [2]some of the things my apprentice and I disagreed about would have fallen under this. The really funny thing, for me? was that I remember having nearly exactly the same fight with my boss when I was his age, and was working in a similar role. Things... look different when you have to balance the business end. But, fundamentally, I think I can learn to deal with those conflicts, because I understood where the guy was coming from.
- xyzzy123 13y agoFunny thing. It took me ages before I actually had the balls to call myself a programmer.
- jmduke 13y agoA few comments: 1. To me, however, a programmer is who I'm looking for, while a resume full of revenue increases and cost reductions sounds like an "anomalously high-cost parasite who types some mumbo-jumbo into Excel and PowerPoint, claiming credit for others' work". This is in no small part because you are a programmer. The vast majority of people who pay other people for work that involves programming are not programmers (and that does not make them any less smart, or any less lucrative.) 2. Abstracting a greater point from Ron Garret's career history is tricky, if only because the vast majority (by which I mean myself) of programmers will never reach his level of competence. 3. There is absolutely a chance that the value of the company which employs you will increase by ten times over the course of your employment. This chance is vastly overestimated by workers, especially in startups. Overall, I think Yosef is misconstruing a lot of patio11's original points (though the points Yosef makes, especially about forming relationships with coworkers, are still quite true.) Perhaps the biggest takeaway: the path to success in a chip architecture career is entirely different than the path to success in a SaaS/freelancing career.
- _yosefk 13y agoMy replies to your points: 1. Do you have stats? In absolute terms, a whole lot of people hiring programmers have programmed themselves. How do you know the other people hiring programmers are "the vast majority"? (I sincerely wonder about it. I cited two numbers by two bloggers, one says it's 80% of the cases, the other says 90%. I have no idea, but I intuitively feel it's less than 50%. Are there real stats?) 2. I mentioned Ron Garret because I replied to an article mentioning him and Google as a proof of something that this example actually disproves, not because I thought it's a good example to generalize from. 3. I agree, which is why I said that people overvalue early option grants (hoping for the value to rise tenfold which it probably won't); I added to that an explanation why late option grants past the point where value can possibly rise tenfold are undervalued (because the money you make is the difference in prices, which rises with the absolute value of the stock price even if the growth rate goes down.) I said near the end that I'm not sure I'm reading the original article as intended so you could say I misrepresent it; what I am pretty sure of is that a whole lot of people read it very closely to the way I'm reading it in my reply, and I'm writing for those people. Your "biggest takeaway" is exactly what I'd like the takeaway to be; all I'm saying is that SaaS/freelancing career is not the only path to succeed in "programming", and that there are other paths you might want to take and you'd behave differently if you took them.
- alxbrun 13y agoI was having a beer in this small Brazilian town, mid-afternoon. Two girls come to my table. We try to chat ; they can't speak any foreign language and my Portuguese is awful. - Me: What is your job ? - The girls: Programma - Me (for the next 30 minutes): Oh great, me too ! Which languages ? <here comes the enumeration of the 100 programming languages I know, each one pronounced in 10 different ways, Brazilian accent, etc.> Even "Java" didn't seem to mean anything to them. Strange. I assumed they had special programming languages in Brazil. 10 years later, in Palo Alto. I read some article about Brazil society. One word catches my attention. Programma = Prostitute. Oh. So yes, don't call yourself a programmer. Especially in Brazil when you don't know the language.
- deleted 13y ago[deleted]
- bartonfink 13y agoNot that this has anything to do with your story, but Lua was originally written in Brazil because of governmental restrictions on imported software which precluded the use of more mainstream languages. They did, in fact, have special programming languages in Brazil.
- kyro 13y agoWell, they are relationship hackers.
- fixxer 13y agoI don't know if I'm laughing more at the confusion on your part, or the likely confusion on their part after you told them you were a programma too. Hilarious.
- alxbrun 13y agoUp to this day I'm still wondering if the girls thought that "Java" was a very special service I was requesting.
- 13y ago
- coldcode 13y agoI have been a professional programmer for 32 years. When I stop calling myself a programmer I will call myself dead (if I could).
- el_fuser 13y agoMy "career" aspiration in school was to be a bearded, suspenders wearing unix admin/hacker. I don't ever want to get non-technical. I've been a project manager, and found the work excruciatingly boring. I've been a freelancer, and found the work mind numbingly boring. I much prefer working for a company where I can be neck deep in designing and building challenging products.
- dkrich 13y agoI think Patrick's article is one of the best-written I've seen about the realities of the intersection of programming and business for people who have come from a strict tech background with zero business exposure. In my experience what he says is spot-on in almost every way. Businesses exist to make money. Yes, very often making stuff is an integral part of the business model, but its still a business. To excel in a business you need to be responsible for growing its bottom line. This can only happen through increasing revenue or decreasing costs. This probably applies more to consulting than any other field. If you go to a potential client and try to sell them on the fact that you are the best Java developer in 5 states, they are going to look at you with glazed eyes and stop listening. Tell them you think you can bring them a 10% increase in revenue with a simple piece of software, and you will get much further. This is in fact how large consulting firms make sales every day. I assure you they don't send in their developers to sell clients, they send in people who are flashy and know how to appeal to a decision-maker's interests. I think more than anything his article explains things that are necessary to successfully convey value to purse holders who don't speak techie. If you restrict yourself to describing yourself in purely technical terms, you will sound great to other people who understand you but will never resonate with those who don't.
- ExpiredLink 13y agoI don't call myself a programmer because software development is not programming, probably not even mainly. Moreover, programmer gives other people a false impression of your work. Outsiders consider a 'programmer' to be a 'trained monkey that does the typesetting'. Software developer, in an all-encompassing sense, is the best description I have found for my work.
- diminoten 13y agoI promise you, outsiders have no concept of what a programmer does beyond, "Works magic with a computer." "Software developer" and "programmer" are equivalent to the layman. The negative association with the word "programmer" is an industry-specific thing.
- ExpiredLink 13y agoZed Shaw on corporate programmers (not mainly on titled ACLs): http://vimeo.com/2723800 http://vimeo.com/2723800
- nawitus 13y agoI thought the general advice is to call yourself a software engineer.
- Glyptodon 13y agoI hate the trend of calling people who code 'engineers.' It's just not a good title for anything to do with software. And invariably people who embrace its usage seem to be trying to compensate or ignorant of what a real engineer actually does or is.
- deadfall 13y agoI think engineer is a reference to "builder of" or "maker of". There are plenty of other things to hate.
- gibrown 13y agoUnless your definition of 'engineer' is someone who drives a train, I don't see how 'engineering' doesn't apply to coding. At least good coding. I was an electrical engineer before being a software engineer. There is a difference in what level of the stack I focus on now, but there is very little difference in how I design solutions and think through problems (though hopefully I've continued to get better). Most of my electrical engineering also involved coding day in and day out.
- btilly 13y agoHere is an explanation that I read in a book of Steve McConnell's a decade ago. Certain types of tasks (eg building a bridge) require an engineer to sign off on the work. And the engineer is personally liable should the design of the bridge prove faulty. An engineer is a person whose license allows them to make those representations and have it be accepted. Most software developers lack that license, and cannot legally sign off on designs. And as an industry we don't value software development's expertise as a final say on what does or does not fly. The consequence is chronic security problems, nonfunctional software, privacy specifications, etc, etc, etc. As a society, we are not OK with bridges falling down. But apparently we are OK with having software projects routinely overrun budgets by 100+% and still fail to deliver required functionality. Steve McConnell makes the case in http://www.amazon.com/Professional-Software-Development-Schedules-Successful/dp/0321193679/ref=sr_1_5?s=books&ie=UTF8&qid=1373686659&sr=1-5 http://www.amazon.com/Professional-Software-Development-Sche... that if a true software engineering profession was recognized - not just software developers being called software developers but actual engineering certifications in the field of software development - we could begin fixing this. I don't think it will happen, nor am I totally supportive of that approach - but he makes a case worth reading.
- tootie 13y agoThe business terms are "cost center" and "profit center". If you do IT for a financial firm, you are a cost to be controlled. If you do product development at a software company, your work contributes directly to profits and the more of you there are, the more profit they make. I can add that aside from software, consulting also treats programmers as profit makers although clients will see you as a huge cost. Good companies know that IT facilitates their work and should be treated with respect, but that mindset is still the exception rather than the rule. The one an interviewer told me I had asked an excellent question, was to ask how IT is viewed within this (financial) organization
- bigtech 13y agoIn a former life, projects were paid for either from 'expense' or 'capital expenditure' buckets. Investors like expenses to be low as possible, but capital expenditure is investment in the future. Managers were always trying to creatively finagle projects in whichever bucket had some available money.
- quaffapint 13y agoIn the huge mega conglomerate where I work, I was told by my old boss to not call myself a 'programmer', as those with that title they can outsource to India, I had to have something with Architect in it to hopefully keep me employed continuing the daily grind. Of course in all reality I am more of an architect, but when people ask what I do, do I say architect of this or that, and have to explain that, or simply computer programmer and that they get right away.
- cglace 13y agoYeah, I usually say programmer/software engineer rather than architect. Makes explaining it a lot easier
- johnrob 13y agoI don't agree with the point about later stage options: But what this misses is that you don't get paid in percentage points - you get dollars. A $100 share going up 20% to $120 means you make $20 per share. A $5 share going up 100% to $15 means you only make $10 per share. If you join a larger company, the shares will be more expensive but you will own less of them. Percentage growth is definitely the way to measure opportunity when it comes to options. In other words: (how much I might earn) / (how much I have to pay).
- kmkemp 13y agoMy thoughts exactly. Although, there are sometimes stock purchase plans that limit the raw number that you can buy (usually at a discount from the public price).
- DiegoNolan 13y agoWhen did 100% of 5 become 10?
- _yosefk 13y agoIf you join a larger company, yes you'll get less. If you stay in a company while it grows larger and you then negotiate for more options, maybe you'll get relatively many, as you're now rather uniquely valuable to that company. What people do instead is decide that options aren't worth it any more because how much the price will rise at this point, and ask for relatively small salary increases instead of relatively large option grants. This is doubly wrong since their salary is already pretty high at that point and there's a ceiling on salaries for various reasons that I don't fully understand but which certainly exist, while there's much less of a ceiling on option grants.
- btilly 13y agoThe percentage that matters varies depending on the stage of the company. For a non-public company, you have to pay the strike price, and you get stock with a particular estimated value. But you have no easy way to convert that stock into money. This is worthwhile or not depending on the ratio between price and strike price, and depending on whether the eventual price matches the current estimate. But if the company goes public, then the equation changes entirely. Now you can take out a short term loan for stock, buy at the strike price, sell at the market price, pay off the loan, and pocket the difference. Now you really should think of it as profit/option * # of options. The longer that you intend to stay, the better your odds are that the second way of thinking about it is right, and the more valuable your options are likely to wind up being for you.
- bitwize 13y agoNo, the person he's responding to is right. In general, hiring managers don't care about bits, they care about dollars. They're going to be looking for dollars you made for other companies because that translates into dollars you can make for them. Money. It's the universal language.
- yosefk 13y agoSure it's a universal language. It's also a simple one that I talk myself and I don't need anyone's help with. I'm at a mixed AI/semiconductor company. We don't need brilliant minds explaining us the obvious (or, conversely, entirely opaque) financial consequences of having written this code or that. We need people who'll do it. Now the question is how many people there are who need you to translate their dollar concerns into the language of bits, vs how many people there are who don't have trouble doing it themselves but what they do need is people who can then write the bloody program. I have no stats and I sincerely want to see some.
- _delirium 13y agoThat is not true across the board. Many companies are looking for specific technical talent. When nVidia is looking for someone to fill a specific niche on the CUDA team, they don't care about how much money you made for company A or B; they care whether you have the technical ability to fill the niche as they conceive of it. The hiring manager isn't naive, and already has an idea of why this position was created and what they're looking for in a hire. The interviewer is quite likely to be an engineer already on the team. What they want you to convince them of is that you have the technical skills to fill the role. If you start talking about ROI and business value, it can be seen as a red flag that you're from a more "soft" background like business informatics, and not a good fit for the position. Of course, if you're getting hired by someone who doesn't have a specific technical role they're trying to fill, or doesn't know what exactly they're looking for, the situation will be different. But that is not usually the case at chip-design firms.
- dwc 13y agoThere's a major point in this article that not many commenters seem to be picking up on: there's a fork in the road of careers. To one side is a multilane highway over fairly level ground leading straigh to predictable suburbia. To the other side is an uneven dirt path leading through mountains and countryside to parts unknown and has many forks of its own. Neither path is right for everyone. And hardly anyone needs to be talked into the highway, as it's the default choice and the common wisdom. The sad part comes when some bright, young up-and-comer leaves off their interesting personal projects in less used languages in order to focus on only mainstream stuff.
- UK-AL 13y agoIts also sad when some bright up and comer ends working for lots of little small companies, on a tiny wage when they could be earning a seriously better life working for a large company.
- dwc 13y agoI am that person and I'm not a bit sad about it.
- nbouscal 13y ago"earning a seriously better life" is one of the saddest phrases I've heard. You don't earn a good life, you make it.
- UK-AL 13y agoOf course you can. For a lot people the good life is a nice family, nice holidays, not being stressed. For that you require money. Otherwise you might end up in a tiny apartment, eating cheap food, feeling quite stressed.
- nbouscal 13y agoNo. Having a nice family, nice holidays, and not being stressed do not require money. Furthermore, your counterexample of a tiny apartment and cheap food don't actually contrast your definition of the good life. You can have a nice family, nice holidays, and not be stressed while living in a tiny apartment and eating cheap food. A lot of people do so every day, all around the world.
- zura 13y agoIn Georgia, it is the mostly used title - "Programisti". Because, we don't have one single word, the synonym of "Software". So word by word translation of "Software Engineer" in Georgian would be: Computer Program Provisioning Engineer. Nobody uses this title.
- laurentoget 13y agoI am suprised the author does not mention growing a beard and wearing sandals among his career advice. That sure has kept me from having to interact with the likes of Patrick McKenzie.
- dschiptsov 13y agoFirst of all, taking patio11 too seriously is a sing of having inadequate mental representation of so-called reality. Ironically, there is some unintentional truth is his blogpost - one really shouldn't call oneself programmer, because what he described is a dumb coder. Programmer could realize what is blogging, not vise versa.) A programmer (one who understands how things works and why) will easily avoid such scenarios like ending up in a coding sweatshop or toxic things like PHP, Java or JavaScript. It is obvious that one should avoid certain things, like one avoids scams, frauds or just wrong things. Real programmers, such as rtm, pg (god forbid!) sysoev would always find a niche for oneself and a project to do. The difference is that they themselves would choose what to program and why, not someone else. Another point is about whose opinion one should value and why. Programmers usually does not care what "talking-heads" are broadcasting, intuitively and correctly anticipate that there would be zero useful or even interesting information for them. It is like to read, say, Oracle's press-releases and PR pamphlets about mysql instead of actual Changelog files. So, right, do not call yourself programmer if you're mere a coder or blogger. There is some truth in it.)
- _yosefk 13y agoYou know, somehow your comment conveys a uniquely Russian atmosphere, making me feel slightly nostalgic.
- tempestn 13y agoHaving just hired two senior programmers (admittedly for a small "software company"), I couldn't possibly agree more with this: "To me, however, a programmer is who I'm looking for, while a resume full of revenue increases and cost reductions sounds like an 'anomalously high-cost parasite who types some mumbo-jumbo into Excel and PowerPoint'." Resumes full of marketing-speak go onto the discard pile very quickly. I want to hear about your skills, and I want to see that you can present them effectively (which is your first opportunity to demonstrate your intelligence and aesthetics). People who claim to be programmers but talk about revenue growth and such in their resumes are always the types who want to talk to you about how they "have tons of great ideas, [they] just need a team to implement them!" Well great, then start your own company. I'm certainly looking for smart people with ideas, but we already have a product and work that needs to be done. We're not here to provide a team to implement our new hire's hand-wavey built-for-adsense get rich quick site or whatever. Whew. OK, veered a bit into hyperbole there, but it demonstrates the visceral sort of mental response that kind of resume can provoke... Edit: Given other comments that agree with focusing on costs and revenues, maybe the take-away is that you should really have two separate copies of your resume, and do your best to find out whether a programmer or non-programmer will be reading it before choosing which one to send. Because it seems like the reactions are essentially polar opposites. Which honestly I find surprising. I would expect that what sounds like mumbo-jumbo to one intelligent person would largely sound like mumbo-jumbo to another intelligent person, regardless of specific discipline - even if those disciplines are as different as marketing and programming. Perhaps I just haven't ever received a good resume that focused on financials.
- el_fuser 13y agoI totally agree. If I'm hiring someone for my team, I need to see skill. Or smarts. If we're hiring an outside consultant, it's always for technical knowledge that we don't have. Again we need to see skill. If we need to hire another team lead, it's usually because we have no one to promote from within (either due to experience or lack of volunteers), and again we need to see skill. I don't hire for marketing, but I'd hope that they also want to see results and could care less if you've programmed before. Indeed it's likely irrelevant.
- 13y ago
- corprew 13y agoWhen I was first started out in programming, someone gave me the advice "never work at a company where you're a cost, always work at a company where your output is [directly tied to] the profit." It seemed like a truism, and was somewhat memorable. To date, the only really bad jobs I've had in programming/engineering/what have you were ones where my work output was seen as a cost and not as a product or service, so anecdotally it's worked out.