Visitors to this country are often surprised to find that Americans like to begin a conversation by asking "what do you do?" I've never liked this question. I've rarely had a neat answer to it. But I think I have finally solved the problem. Now, when someone asks me what I do, I look them straight in the eye and say "I'm designing a new dialect of Lisp." I recommend this answer to anyone who doesn't like being asked what they do. The conversation will turn immediately to other topics.
The usual opening question in Ireland is "where are you from", and it's similarly awkward to answer for me (I'm not really from anywhere specific). If you're a foreigner in Ireland, the follow-up question is often "when are you going back?" - not intended in a xenophobic sense, but rather an assumption that one wouldn't want to leave one's home area for the rest of your life.
But I'm not sure there really are better ways to start a conversation that leads into talking about the people, rather than third-party topics. Probably a better answer to "what do you do", if you don't like the gambit, is to talk about your hobbies, or make something up that is only tangentially, allegorically or metaphorically about what you do.
I grew up around reservations in the northern plain states of the US. The opening question tends to be some variant of "Who are your relatives?". It can be quite uncomfortable if there is / was some dispute between relatives of theirs and yours.
I don't know if this is strictly American though. In Italy, people are often referred to by their professional titles. We do that with doctors here, but they would say the equivalent of "Lawyer Smith" or "Engineer Jones".
I only know this from studying the language. I have never been to Italy, so correct me if I am wrong.
If you say, 'Computer Programmer' then they picture someone tinkering with computers, if you say 'Developer' or 'Engineer' they don't know it's anything to do with computers or software.
What really annoys me, is when people respond with 'Oh right, I.T.' or 'I have a friend who does I.T. too, yeah he fixes computers at... '
- I personally see being a 'Software Developer' as a far higher position than someone doing 1st line support in I.T.
> What really annoys me, is when people respond with 'Oh right, I.T.' or 'I have a friend who does I.T. too, yeah he fixes computers at... '
You shouldn't let this get to you. These people are just trying to relate to you based on this new information.
To someone outside an industry, most people in it can appear to do the same thing. Just think: how many types of airplane mechanics/portrait artists/theoretical physicists can you identify? To people in these and many other industries, I'm sure there's an incredible variety of roles and job descriptions.
I understand this. I just smile when they make the comparison, after all at least they are caring enough to ask and listen.
- On a similar note, the word 'Hacker' on this forum, generally refers to someone who lives and breathes code. However, outside of this community many refer to the term 'Hacker' as being a malicious person.
Therefore, whenever I have mentioned the 'Hacker News' community to anyone in my profession they usually look at me as if I've just admitted to partaking in criminal activities. Perhaps it's just a British thing?
I personally see being a 'Software Developer' as a far higher position than someone doing 1st line support in I.T.
That "friend who fixes computers at..." may not actually be first line support IT like you're assuming. Even if he is a System Administrator rather than a Software Developer, that doesn't say anything about the level of the position.
A 3rd-level software developer playing with eclipse making minor modifications to existing Java and writing features under close supervision from a senior developer is much less valuable than a 10th-level System Administrator with a proven track record of diagnosing production bugs, managing deployments, tuning applications like Apache, Oracle, MySQL, and building stable, scalable environments for the developers and QA.
By the time the career question comes up I have already asked them about theirs, shared with them what I know about it, and "thought out loud" about what I think is most difficult/interesting/new about their industry, that they think I am a peer or an insider.
We all know something about every industry and every line of work, or at least have the interest to inquire about it (if not for anything else, because we're completely ignorant of it.)
Share what you know, show interest, and shut up.
Allow people to see you under their own favorite lights. If you can hold a conversation with a scientist just fine, no need to tell him you're an entrepreneur. And if a business man likes your management acumen and eye for the market, no need to call yourself a code-monkey. You're all of the above, but keep the conversation at their pace, ask questions from most general to more specific, and let them categorize you through the course of a mutually comforting conversation.
This is why you don't jump into an elevator pitch with everyone you meet, just because you got an idea and a GoDaddy domain.
"Like everyone else, I hunch over a laptop and send emails all day :-) We're slaves to the machine, my friend, and I have done my part to enable them."
Really, I don't do anything in particular, I just project my inner paradoxical mix of shame and pride in my short, eventful but otherwise checkered career as a jack of all trades.
I sit in a a beige cubicle at a computer, and I type. Mostly I write computer code. In the afternoon I drink a lot of coffee to keep me from nodding off. Sometimes I talk on the phone or answer e-mails, other times I train people to use the software that we make.
When I am asked at a party, I put more emphasis on what the software that I work on does than what I do at work.
Programmers are literally minded, we often assume that we must actually answer the questions that people ask us. This is not correct. When someone engages you in smalltalk, they are asking you to tell a story. It doesn't even have to be a true story... (although outright lying is probably ill advised.)
Giving a job title or generic description is painfully dull.
Well, the problem here is that there are two types of people you'll make smalltalk with—those who you will eventually form a working relationship with (1%), and those you won't—and the two groups have separate "best solutions," but are hard to differentiate beforehand.
You can outright lie to the 99%, if you think that will help—but whatever you tell the 1%, they'll go on believing when you work with them.
That's a very good insight. Mentally translating the question into "What problem are you currently trying to solve and why should I care?" can make for much more interesting conversation.
If its someone at college (say, at a party), I say that I play with my iPhone all day. If they ask for clarification, that I make iPhone applications. Usually at this point, whoever I'm talking to will say something like "So you write stuff on the computer for the iPhone?" and I nod.
The alternative is usually "Software Engineer" or "iPhone Developer", depending on where I am and how specific I need to be -- general description of what I do vs what my current job entails.
Or, if I really don't feel like talking, "student" shuts most people up pretty quickly.
I get that too. I ask what the idea is, and then find some innocent-sounding reason to point out why I wouldn't be a good person to make it, rather than saying I'm not interested or I don't have the time. If the app exists, I'll tell them about it.
Either way, people are happy that they had the chance to talk about their idea and I'm not stuck doing something that I don't want to do.
Sometimes it might be wise not to let people know exactly what you do. As a warning, I was golfing with my father and group of people who have the same profession. I had been doing contract work with a Big Company as a report writer (yes, I know, but the money was really good). It so happens one of the reports was a customer facing document (receipt of sorts) and it was specified by people who dealt with other Big Companies and not regular customers. This caused said report to be pages long. The professionals in the golfing group all had dealings with Big Company and had received many pages worth of this report. My Dad mentioned, by way of explanation on what his oldest kid did, that I had contracted to Big Company and had written said report.
...errr...
I found out, for the next 13 holes, how much they disliked said report with detailed explanations. I was no longer contracting with Big Company, so no feedback was passed on. Dad now understands why I give a very short non-specific answer.
Depends who is asking. I have discovered that in many social situations, people don't really want an elaboration or know details. It's a "friendly" question and they want to try to relate. Perhaps with a followup like "my friend works on computers", "like apps on the iPhone?", or "oh, wow, I never got into all that tech stuff."
If they're actually interested and want to hear more, they'll follow up more detailed questions.
I'm pretty sure it's the same for anyone with specialised/deep skills.
Not necessarily. Some people ask me at what company I'm working or they want to find out more details about my work, e.g. what kind of products I'm building.
My biggest pet peeve, which perhaps is my own bias is that when someone says "programmer", I take it that they pretty much know how to use an if statement, loops, call functions, but that's it. You can hire people on Rentacoder and elance with that skillset for < US $10 an hour.
I guess "programmer" doesn't capture the bulk of the value of someone with a computer science background. But maybe there's my problem. Non-techies probably equate CS with just programming anyways.
My bias is exactly the opposite; I assume that anyone calling themselves a "software developer" or a "software engineer" is probably more interested in implementing a design pattern than writing good code, and probably knows about as much about computer science as he read on Coding Horror.
There's something to be said about purposely inflating one's title to sound cooler (there's certainly bad people graduating with CS degrees), but let's set that point aside for a moment.
Sounds to me like you saying that implementing a design pattern != good code?
An example of my bias is more towards something like this:
(1) someone with a CS background is more likely to notice and inefficient algorithm and know how to optimize it
(2) someone who just knows how to code in a language may not be aware of the presence of a suboptimal algorithm, much less know how to optimize it
How do you explain to a non-technical person the difference and importance between (1) and (2)? I guess it's going to be difficult, but I was curious if anyone was able to easily convey (1) or (2) in a quick short introductory pitch.
Well, the stereotype I was shooting for was someone who overarchitects things and who is really shackled to some particular set of concepts, methodologies, and tools; the sort of person who will go on implementing "factories" and "strategies" in languages and situations where they don't apply.
Personally, if I were tasked to explain that distinction, I would shorten (1) to "a good programmer" and shorten (2) to "a bad programmer."
You are right when you say that programming sounds like a fraction of the big picture, but there are good and bad programmers.
Also, I don't know how things are in other countries, but in Romania when you hire someone, the contract must specify an occupation from a national list. Most labor contracts that I know of, use "programmer", not "developer" or "engineer".
By the way, there were some problems a couple of years ago with a few jobs imported from Western countries. If I remember correctly, two of them were "credit officer" and "key account manager".
I usually get a short, puzzelled stare, followed either by either a "what, exactly?" if they wanna talk about it or a "oh, change of subject..." if they don't. However they answer, go with the flow.
BTW, I'm currently a sysadmin, but I'm a coder at heart.
That is one of my answers. The other is to grin broadly and say "Code monkey".
People get a bit of dissonance when they see me saying that, since I'm a bit old for using a keyboard full time. But programming is one of few things I've found that I love [Edit: and people will pay me doing], so I went back.
A related question I struggle with - how to explain to other people how qualified you are? You and I could both say we "know" Java but there's probably a big difference there. It's really hard without showing them your work.
What I do: I write the software that lets other software developers get their job done; and in a circular way, I use the software I write to write the same software. If someone is technical, I can explain that I work on compilers.
But when I want to explain to non-techies what it actually entails: I say I sit in front of a text editor which contains precise instructions telling the computer what to do; and I edit it, slowly and experimentally, trying to get it right. It's almost like a poetry epic: low-level rhythm and rhyme, but high-level story.
I'm a PHP Dev, but to non-tech's i say Web Developer, they often come back with "Oh so you design websites?", to which i say no, since i cant design for shit.
I always explain it as, theres a pretty part of the website that everyone sees and the clever bit of the website that no one sees, i do the clever bit. Which usually satisfies their curiosity, since they then probably think its very boring, which i suppose it is to them.
Without fail though, pretty much everyone assumes i can fix their printer etc...
I always say "Computer Scientist", I also think the term engineer is alright. I hate any phrasing that uses the word "programmer" because that is generally used to describe jobs involving wrangling Excel spreadsheets programming Word macros and other low rent IT jobs.
Of course I've read before that by time you get around to the topic of what you do for a living you should have so captured your audiences attention that you could say janitor and they wouldn't care.
CTO: I talk to my CEO and work out how technology can improve our business. Then I design what we're going to build, build it, and set it up to run on our servers.
If you're a CTO, do you actually do the things you claim in your second sentence, or do you tell others to do those things? I would expect the latter unless you're in a very small company, in which case "CTO" is probably an exaggerated title. (Eg: it really means "the tech guy" but you're incorporated so CTO is technically accurate.)
One of my pet peeves has always been managers describing what they do in terms of the work done by their reports rather than what they actually do themselves. It's not like managing isn't a lot of work, at least not for good managers. Why do managers take credit for others work instead of saying that they manage a team who accomplished X, Y, and Z?
I actually do all those things. I've had interns but I'm the only full time tech guy. The company is 4-6 people right now, depending on how you count. You can call my title exaggerated if you like, but I don't know what else I would call my job.
Also, I'm 24 and I have a master's in CS...I'm not a "manager" in the sense I think you're thinking.
I would call your title exaggerated yet accurate. It's the nature of a small group of people forming a Corporation; you get titles that sound big when they're really not, at least not yet. There's a huge difference between being a CTO of company with hundreds or thousands of employees vs being a CTO of a company with six employees.
Now I've never been a CTO at all, so I'm not trying to disparage you. I hope your company grows and you get the chance to grow into the title. Good luck!
I make systems that help people stop ships from banging into each other. Essentially, I write computer stuff that lets people play "video games" with real life 80,000 tonne tankers, the idea being to help them go efficiently while keeping them out of places they shouldn't go, and keeping them apart.
I build jobs to pull stuff out of databases, transform it, then dump it in others. Also I deal with a kinda slow, proprietary GUI tool with a little bit of immediate power, followed by a deeper lack of ability to make changes to the 'visual code' in batch, amongst other complaints. I'd rather be in vim...
To most people I say I sell software. This is what I primarily do today. If I write something, it's in the realm of hacking and to the right crowd I say I'm a hacker.
http://www.paulgraham.com/desres.html