Hacker News new | ask | show | jobs
by arno_v 4140 days ago
So instead of the ambiguous text 'Software Engineer' we now have 10 ambiguous texts ranging from 'Analysis' to 'Data Science'. I don't really see how that solves a problem, since these underlying concepts are also quite hard to define consistently.
2 comments

Is it just me or isn't Data Science used in an even more vague manner than Software Engineer is used. I mean on a daily basis I encounter people that call themselves Data Scientists who would never be able to use the title Software Engineer or even programmer as they wouldn't be able to write a single line of code if asked.
Exactly. I have a lot of acquaintances who self-describe as data scientists. They really run the range all the way from "they poke around with Excel" (ie not only could I do that in my sleep, but you couldn't pay me enough to do soemthing that dull) all the way to "novel algorithm design at the frontier of the field" (ie I could take classes, train, be mentored, etc and never be able to do what they do).
> Exactly. I have a lot of acquaintances who self-describe as data scientists.

My understanding is that "data scientist" is a term meaning "statistics person who lives in San Francisco"

Alternatively, "Does statistics, but on a Macbook"
I know you're joking, but Wizard (http://www.wizardmac.com/) for OS X is a really nice place to start before delving into SPSS, Stata, and R.
Or, another version, "programmer who read an inferential statistics tutorial online".
You're looking at this through a purely technical lens.

The guy who "pokes around with Excel" probably operates in a business context. He interacts with people who have no clue about data science, and is able to use the data to tell a convincing story. This can be dangerous if he doesn't know what he's doing, but 90% of things people want to use "data science" for are pretty trivial technically and probably can be done in Excel.

The guy designing a novel algorithm probably operates in a technical context. People like this tend to be very "in the weeds" and incapable of succinctly explaining their findings to people without the same context they have. This is a universal problem -- people who are extremely technically skilled often have trouble explaining their craft to, say, a marketing exec wanting to know how a certain characteristic is derived. In fact, the marketing exec will probably call in the Excel data scientist to translate.

Does this mean the guy designing the novel algorithm is somehow lesser? Absolutely not! But when you choose a deeply technical career path, you run the risk of losing the external context. This is why many companies have managers in engineering who aren't super technical -- they're technical enough to understand the jist of the concept, but their core skill is communication. If they're doing their job well, the engineers are left alone to do their job without senior business people sticking their noses in everything.

Coincidentally (or maybe not), I think the "soft skills" are sorely missing in this skills matrix. Every engineer will have to give a presentation or work with an external team at some point in their careers, and some are better at it than others. In my opinion, the guys with hardcore engineering skills are great, but someone with solid engineering skills who can communicate well is a rock star. You can replace a badass engineer, but you can't easily replace the cross-team relationships that a good communicator has built that can often short-circuit requirements problems before they get turned into code.

Many things are simply complex and there is no way to 'dumb it down'. QM is probably the best example where the 'every man' description has almost nothing to do with the underlying theory.

In the CS encryption is probably the best example of this where the basic algorithm can be identical between a system protected from the NSA and something trivial to break for the average researcher.

Yeah, but your code is ultimately achieving some business requirement or it wouldn't be there. Being able to articulate that is an invaluable skill. Requirements are generally poorly written, so if something needs to be done a certain way (e.g. so the numbers in the reports across multiple products are consistent) then the business sometimes needs to know the algorithm.
I'm not implying one is inherently better than the other (well, maybe my inner tech bias is showing, but in objective terms I agree - they all have their purpose) but the point was that "data scientist" as a job title is effectively meaningless. If you tell me that yor'e a data scientist it means absolutely nothing to me because the range it gets used is so broad
Thanks for your comments. Whilst we cannot remove ambiguity completely from our solution - we can minimise it. The ambiguity of text really comes into play in CVs and job descriptions. We attempt to minimise the ambiguity by asking software engineers/anyone involved in software development to describe their work in a uniform way and not relying up the traditional artefacts. So whilst the terms have ambiguity to them, companies and people are answering the same question and we are using those answers to match people so that they can begin a conversation.
I've got a problem. I've been coding for 12 years, yet have zero professional experience. How does your service rank me?
We don't do any ranking per se we just present how you want to spend your time. So it does not factor it in. It is up to you to decide what level of seniority the type of position you would consider going for.

It might be a bit misleading that we use Github for sign up right now, this is mainly just to ensure only developers are signing up - as the service only exists for them currently. We do not use Github for any number crunching.

I find it interesting that your graph leaves out any mention of innovation or invention.

It also ignores corporate cultures.

Backend engineering for a web startup is very different to backend engineering for a Wall St HFT house. I wouldn't expect someone who worked in one to be expert in the other.

Even within the web startup world, fullstack with MEAN is very different to fullstack with PHP/Apache/MySQL - not just technically, but culturally.

So I think what you have is one of those toy models that management love so much.

I'd like to see some hard big-sample-size evidence that it really does improve hiring outcomes in practice.

(1) Surely culture and technology stack are reasonably independent of the dimensions considered here (2) Wouldn't you agree that this asks an important question which is currently absent from the hiring conversation? (3) Even if the spider plot is an imperfect representation, isn't it a helpful starting point for a conversation between a potential employer and employee? (4) I'm not sure what your concern is about toy models and management. All models are toy models, the only thing which matters is whether they lead you to ask the right questions.
I like the concept but personally when I look at a resume I never* look at job titles anyways - they're effectively meaningless when compared between companies. Instead I read what they self-describe themselves to be doing, which is basically what you're doing albeit in visual form.

* Within a single company titles usually are meaningful, so title changes while staying at the same company I'll take note of - particularly promotions

Once you get to a certain size of company, you have the normal career path of (entry level functional job) > manager > director > vice president. Depending on the size of the company, there may be sub-levels such as junior/assistant > senior > executive/general. The levels usually mean the same thing across companies.

If someone goes from a manager to a director at a big company, that usually means something. Depending on the company, some titles can have negative connotations - "executive director" at many companies means "director who will never get promoted to VP".

Also, if they worked at a bank, "vice president" means nothing. Nearly everyone working at a bank is a vice president - government regulations restrict access to certain customer data and the ability to enact transactions on behalf of the bank to VP and above, so the solution is to just give everyone the title of VP.

> Once you get to a certain size of company, you have the normal career path of (entry level functional job) > manager > director > vice president.

It bothers me that that's considered a "normal" career path. The skills that make someone a good engineer/architect/etc do not necessarily make them a good manager or VP; even if they do end up doing well in a management role, they're then not actually using most of their technical skills. To me, it's a sign of a dysfunctional company if there's no technical advancement path.

Job titles tend to vary more in technical roles, but at least within the computing field, there's a normal career path that goes roughly engineer -> architect/lead/etc -> principal/distinguished engineer -> fellow. There are often several levels within each of those ("senior", etc), and smaller companies may omit the pre-fellow stage (the name of which tends to vary). For many companies, a quick search will turn up what set of titles they use for the top few tiers.

I would hope that isn't unique to software engineering, and that other fields have the concept of advancing within that field without becoming a manager.

> "executive director" at many companies means "director who will never get promoted to VP".

That's somewhat obnoxious, because "executive director" has a fairly well-established general definition that is equivalent to "CEO".

> Also, if they worked at a bank, "vice president" means nothing. Nearly everyone working at a bank is a vice president

...and if they worked at a B2B software company for which banks are a major set of customers, almost the same thing happens, because the customers think "if you aren't at least a VP, you aren't anybody."

In Canada it's not uncommon to see the seniority of Director and VP reversed (Director being the more senior)
I'm thinking more in the realm of things software developers (as that's what TFA is focused on) are often referred to as. For instance, an anecdote I like to give here is that I've worked at companies where "senior software engineer" meant "we didn't hire you fresh out of college and you're not a manager" (i.e. nearly everyone) and I've worked at places where SSE meant "you're nearly a manager in terms of seniority"

I was going to make the VP at a bank point but you already did for me :)

Yeah, I will agree that below manager level titles are pretty meaningless in general.
Ok, if you are indeed asking the same questions that helps. I would add some information per item with some explanation or definition, so it is as clear as possible what is meant by the different terms.
It is available right now if you hover over the labels on the chart. It is definitely not immediately obvious though so we shall have to work on that - thanks!