Ask HN: List of titles and specifications for tech jobs?
FWIW, I'm looking for someone to lead all engineering efforts wrt to "everything analytics": - what to measure and where to measure (EDIT: meaning "which actions, e.g. clicks, constitute the start of a specific action? How can we determine that a user stopped for break? etc... more details below!) - which tools to use - how to integrate libraries/services - where to store data - how to access raw data - how to process raw data - how to access processed information
... at a 10-15 person (six developers) Startup.
EDIT: To answer the questions below and specify the role: we're in EdTech, so the data we want to gather is used to 1) give users an overview of and feedback about their activity, 2) create effective and evidence-based interventions, and 3) improve learning outcomes and engagement. More detailed objectives are determined by management and research roles, but they still need to be translated into code – almost like a restaurant owner can tell a chef to make a specific dish, but the chef still needs to know which pan to use.
47 comments
[ 1.7 ms ] story [ 42.4 ms ] threadOr to put it another way, whats the criteria for success. More sales? Faster development, less downtime?
- faster development
- happier junior devs: they demand more guidance in the given area
- better product, measured by usage, referrals and learning progress
- faster development
- happier junior devs: they demand more guidance in the given area
- better product, measured by usage, referrals and learning progress
> 1) give users an overview of and feedback about their activity, 2) create effective and evidence-based interventions, and 3) improve learning outcomes and engagement.
...which is product telemetry; on the technical side you want someone who knows how to use GTM or mixpanel or (any of dozens of other competitor tools) to track what users are doing in your app, and on the analytics side you want someone who knows how to interpret that data and create meaningful interventions or product changes as a result
The first part is relatively simple, any developer can figure out how to install one of these tools and start logging events. The second part probably needs an education SME who can take that data and do something meaningful with it, or a strong product lead (who would look at it more from a features-and-workflows point of view than from an educator point of view, different paths to maybe similar results).
Neither of those people would be who you'd want involved in deciding where to store the data or how to access or process it; that's more in the database admin realm.
Your list of objectives here, though: > - faster development > - happier junior devs: they demand more guidance in the given area > - better product, measured by usage, referrals and learning progress
The first two are completely unrelated to the above: the first is more about measuring cycle time, velocity, all that fun scrum/agile stuff; the second is ensuring that your junior devs have good mentors and managers. The third one is more of a restatement of the product telemetry goals.
Longwinded way of agreeing with many of the other responses you're getting: the reason you're having a tough time coming up with a reasonable job title is that you're describing at least four unrelated jobs.
(I'm not currently in edtech but have a long history there, and some in a couple of those unrelated roles; happy to discuss further if you like, I admit partially because I'm curious to see what new startups are doing in that space ;)
God-Emperor of code? Alright.
Artifex maximus programmanorum? You do you buddy.
Most people just chose "senior developer".
When one of them walks in a meeting room with a new client, they'll introduce themselves with a job title that they make up on the spot and satisfies these criteria:
- make it sound like a legitimate job title
- make it sound as senior as you can credibly get away with
- make it sound unique to the client's industry or requirement
- obviously: don't say anything stupid that will have legal consequences like "CEO" or "General Counsel"
It's working really well for them. They're having a blast doing it, and clients get to feel special.
For example a client in the retail business will say things like: Oh, I can tell the agency is really taking my business extra serious. I can tell because they don't just have any old senior developer working on my project, but rather my project is handled directly by their "Senior Head of Retail".
Or if a client asks: "Can you make me a responsive website?" One of them might say: "Yes. In fact, do you know who the gentleman sitting to my left happens to be? He's our Responsive Designs Art Director in Residence".
At least it points our the absurd arbitrariness of titles in software development.
15 years working on business/safety-critical infrastructure? -> senior engineer
3 months javascript bootcamp, no degree, 2 years of work? -> senior engineer
But then there is the plethora of Chief Marketing Officer, Chief Information Officer, Chief Whatever Officer which are being created more or less ad hoc.
in my experience it is still too early in the game to thin slice roles like this.
It makes sense to have broad buckets like:
this is how i might tag tickets. but small teams probably have to share responsibilities until there are enough resources to focusNo. Those are responsible for ensuring your platform doesn't go down and is well designed.
They aren't SMEs in Data.
No, there isn't.
What you're describing could be called a lead data engineer but you can also call them a lead software engineer if you don't want to distinguish between data and non-data engineers with the title. But the "what to measure" and "where to measure" parts don't really fit under it - that's more like a data analyst or someone in a business role (depending on what you're measuring and how important/advanced it is), or a data scientist... but then not every part of the job needs to be reflected in the title.
Basically there are many different ways to set up the titles, and most of them are fine.
1) Advertise a data engineer role and get applications from rebranded DBAs who can't code their way out of a paper bag
or
2) Advertise a software engineer role and get applications from software engineers who believe joining a couple of entities in their ORM counts as deep database experience
As an applicant it's hard to figure out which form of Data Eng, DevOps, SRE the company practices and is seeking. As a company, it's hard to communicate your interpretation of the terms.
IMO at least with DevOps one tell is if they consider it to be a role and not a philosophy, they probably are using it to mean sysadmins.
(You can drop the "Big" if you have less big and want to appear less cringe)
You could also attach a specification to the title like "Senior Software Engineer: Data [Services/Infrastructure/Platform]"
When I'm hiring I've settled on sticking with "Software Engineer" and gasp being as specific as possible on what I'm looking for. But nothing will ever be perfect, or even great.
titles are almost as hard as naming things
In my experience, what and where to measure should be led by your business folks. The rest of the responsibilities could probably be handled by a data engineer.
I guess my word of warning is that I don't think you'll find someone with three areas of expertise
1) understanding your business / industry at a level deep enough to know what to measure.
2) having the core statistics and analytic capabilities to work with someone in category 1) to get insights out of the data.
3) having a deep understanding of databases and engineering pipelines to make functional and reliable data infrastructure that allow folks in 2) to be good at their job.
If you are starting a new analytics department, I would be looking for an existing person at the company to take responsibility for 1) and look for a great candidate in 3) who has worked closely with others in 2).
In other words you can have a "M7 Security Senior Engineering Director"?
Another way is to take a look around LinkedIn and see what titles other companies are doing (especially ones in the same talent market as you). Look both in the titles of current/past employees and in the job postings themselves.
About LinkedIn – checking other companies job postings was actually the moment when I decided to 'Ask HN'. I wasn't able to extract systematic classifications from them.
1. Junior SE: Typically not responsible for anything. Expected to be a cost-sink for a bit but will ideally not spend long in this position and advance to whatever the next position is. Usually someone fresh out of school or new to the sub-field.
2. Software Engineer: This title can be an alternate title for Junior, and it can have several ranks inside of it (1-3 in order of experience). This person typically has 0-N years of experience where N is determined by industry. In start ups you see people not spend long here. In more established companies people can spend quite a few years here.
3. Senior Software Engineer: One of the only consistent titles in the industry. Always comes after Software Engineer. This person has experience and is typically responsible for maintaining a single code base, mild planning tasks, and sometimes overseeing 1-2 software engineers/juniors. In more established companies SSE has tiers, with the final tier having responsibility approximately on par with the next rank.
4. Lead Software Engineer: Some companies use this to refer to a final-tier senior.
[At this point the tree bifurcates]
5. Staff Software Engineer: This is an IC track "management" position. Less code contribution, more high level planning and architecture. Will typically oversee a few senior engineers but this is not required. Typically "do-ers" fall into this position and have 7-10 years of experience.
5a. Director/Junior Director/Manager: All of these titles can mean the same or different things and it REALLY depends on the company. At any rate, the "L-equal" title to staff is a people position that specializes in management of engineers.
6. Senior Staff Engineer: Usually awarded late in the staff engineer career path. Either represents the top tier of staff engineer, or as a special "preparation" tier for principal. Roles for principal and senior staff are similar but senior staff will have less expectation.
7. Principal Engineer: In some companies this replaces staff, and principal gets tiers. Generally principals are responsible for staff duties (see 5), but as they advance further in the tiers they become closer to R&D. Typically responsible for engineer oversight and code culture, spiking new services, planning, architecture, etc. The jobs can vary dramatically by company.
After this titles can vary wildly and it wouldn't be possible to nail down exact traits. You typically will have either research engineer, resident engineer, or another very important very small title coming after this.
In the event of data jobs typically engineering jobs are given an extra "data" in front of them. Data engineers (just add Data in front of 1-6 with the exception of people management) have additional responsibilities that involve dev-opsy infrastructure work as well as building pipelines. Usually data engineering positions require more in depth backend knowledge and can be performance critical positions (in contrast "regular" SE positions can be performance critical but typically are not as critical except in special cases).
[1] https://www.aonhumancapital.com.au/getmedia/9b5d9f13-294f-46...
You might also want to read The Informed Company by Fowler & David, which does a good job starting with a very simple setup and walking through how and when and what to add on - the folks you're looking for are in high demand, and if you don't find someone quickly, the book might give you enough to help your junior devs make reasonable choices for where you are now.
You'll be rich if you find one. Most companies can't even keep a decent list as the reality varies from team to team.
I'd be happy to help you narrow down a job title / job description that would help you recruit for your role. Email in profile.