At my employers we recently discussed how to define our positions on our business cards (and of course the email signatures too!). It was much more difficult than I could expect. In our R&D team there are four telecommunications engineers, one electronics engineer, four computer scientists, and two self-made computer scientists (meaning men with no paper stating their competence except their empirical skills). Our roles in the team are pretty vertical meaning that, in the projects we're responsible of, we have positions of project managers, analysts, designers and developers too. We thought about using our diploma names but would that really communicate our skills and positions? Moreover that wouldn't help for the sociologist who taught himself web-developing.
So we tried taking the road of “let's write what each of us thinks to be”. Heh... Nice try ah? When it was my turn we decided to use “Analyst”. It's pretty general (matching both my competences and the vertical-issue I mentioned previously) plus it conveys pretty well the role of a scientific-minded person. Of course “Scientist” was out of discussion because, in this market, that would just communicate “time-waster who doesn't get anything useful done” (who want's something that sounds like “philosopher” in a place where there are things called “deadlines”? How do you sell a variant of the theorem of recursion in the theory of computability?). That remembers me of Joel Spolsky's post about the Guerilla Guide to Interviewing stating you should look for somebody (1) Smart (2) That gets things done, and not somebody willing to discuss whether Spreadsheets are really just a special case of programming language. Ok that works for his company that ships Yet Another, Although Beautiful And Full Featured, Bug Tracking System, but what if you want to innovate? Would have Google designed PageRank (or any other Innovative, yes! with capital letter, idea by anybody else) without the guts to state certain scaaaaary questions?
But what's wrong about being a scientist? Do we really all have to be engineers to get things done? I have a bachelor and a master in Computer Science, so I think I have certain competences as a developer. Does that make me a developer? Does it mean I like writing code more than solving the problem? Do I like writing an efficient implementation of an algorithm I find on some book or do I prefer the challenge of designing that algorithm at first place? Maybe I'm a system engineer! Do I like identifying the components in a solution and design the way they interact to get the service work matching the specs? Or do I prefer trying to recognize the principles involved in the information flow that the problem really is (principle here follows W. Brian Artur's definition: the idea of use of a phenomenon for some purpose)? Ok, let's get to the point. Usually this debate ends with a fluffy definition: “Science concentrates on theoretical problems while Engineering on the practical ones”.
Does it mean I like thinking about hypothetical issues like the angels' gender? No-way. I like ideas that work, scale and have an impact, although little, on somebody's life. So wait, I'm an Engineer! No-way, I like thinking at problems that haven't been said out loud or solution which haven't been found yet. No, I'm no megalomaniac, I'm aware I'm standing on the shoulders of the giant and that Science goes on a tiny little sweaty step at a time, with effort, errors and luck. But damnit, just like Capt. Kirk, I like going where nobody has ever been before (which by the way sounds a lot like the definition of entrepreneurship, doesn't it?), don't we all do? And that's it! A scientist likes problems he doesn't know how to solve while an engineer likes solving problems for whom he knows the solutions. There's no hierarchy here. You like what makes you feel good. You like blondes, I like brunettes (actually I like both, both problems I don't know the solution of, yet! :) ). We all like making order in a different way, it comes down to the way we think, the way we are. In the era of Innovation there must be space for a Sciengineer, a person who likes to get the things, those that don't have yet a solution, done.
It's the era where the line dividing Google from Stanford is very blurry, it's the era where we don't know who brings more innovation: universities or enterprises? We're not time-wasters, we like thinking at the edges of the box. That might lower the number of lines of code we produce a bit, but are you sure it's the same about your revenues?
Update: somebody else wrote something like this before.
Update: apparently Richard Hamming had a similar take on this topic: "In science, if you know what you are doing, you should not be doing it. In engineering, if you do not know what you are doing, you should not be doing it. Of course, you seldom, if ever, see either pure state." [Richard Hamming, The Art of Doing Science and Engineering]