Where do I fit in seniority?

Hi!
I’ll try to go directly to the point.

I’ve been developing in Unity for over 12 years, but it was mainly as a hobby. Last year, an opportunity to work with game development “fell into my lap”.

Well, I’ll explain where my question about seniority came from. I’ll first tell you a little about my “official” professional career as a Unity developer, which might even help to make the reason for my questioning a little clearer and also help you and me both to try and understand where I fit in all of this.

In this oportunity I said earlier I had to develop a game as a pilot project for a company and see if it would work for them to change the technology for the new games they wanted to make. It would involve integrating the games with their platform and also integrate them with a “factory” where people could create content for the game. This factory would send data to a database, then I would retrieve this data using an ID and display it dinamically during the gameplay. As I already knew web development, I ended up accepting, and it worked VERY well…
I created a “framework”, if you may call it that, with many components that meet all the needs of the company’s games where you can just drag and drop stuff 90% of the time to develop a new “skin”. I’ve already created about 11 or 12 gameplay mechanics and I created and coordinated the creation of more than 60 small games from April last year to now. When I say that I coordinated, it’s because there’s two external developers working with me, and I let them make games that are “skins” of the gameplay mechanics that have already been developed by me.
All of the company’s games run embedded in their web platform as WebGL builds. They even work on mobile devices, as I took great care during the development of the “framework” to ensure that it consumed as little memory and CPU as possible, and whenever something doesn’t work in a WebGL build, it usually works by creating a plugin that uses the browser’s resources. The codes work almost entirely using the Observer Pattern, with very few exceptions where the Update method is used.

Well, I joined the company without really knowing what was going to happen, but it ended up working well and this year, in January, I was promoted to Tech Lead and now I’m involved in the entire game creation process for all games, from the conception of the idea to the implementation and completion of development.

The problem is that I’m the only one in the company who works with this, the two external guys who work with me are devs who are REALLY juniors, to the point that I need to give basic OOP and git tips so we can communicate better. To this day, they redownload the project in order to get my updates, as I couldn’t make them understand the concept of pulling and mergin branches. For this reason, and because this is my first job with game development, I have no idea where I REALLY fit in seniority as a Unity developer… my promotion to Tech Lead is not a parameter because no one knows exactly what I am or what I do, they just know that I’m bringing what they want to life, and it also doesn’t serve as a parameter in payment, because I started out receiving pretty much the same as a “well-paid junior” and the salary increase in my promotion was more like a generous annual adjustment, so you could say that today I am being paid MUCH below the market for a Tech Lead in any area of development.

Based on the things I told you I did, could you have an idea of where I could fit in seniority, taking into account the game development market?
I know there are many other variables that you can’t know just by reading what I said, such as code quality, knowledge of design patterns, knowledge of OOP, in-depth knowledge of Unity Engine itself, etc… but I think that its enough for at least a shallow idea, right?
I guess I can say with confidence that I’m above average in all of those points, if it helps a little more.

Sorry for the long text.

Its really hard to say much about this without knowing whats involved in the games, as well as all the other things you mentioned, and the extent of your hobby expeience (‘years’ is not a great measure here).

But I’ll have a go becasue why not…


From what you have said and how you speak I would say you are clearly above a Junior. Mostly becasue the average Junior can’t deliver very well and you seem to be delivering very well (of course some people, like yourself, might be hired in a Junior position and be far better than that).

I would struggle to consider someone with only a few years experience in one company, building one small (sounding) thing, Senior, even if it was well done. Experience and skill comes also from seeing lots of dfferent things. If your hobby experience includes releasing games that are halfway decent then maybe that would tip the balance. If your career prior to games dev includes programming that may also tip the balance.

So I’d say somewhere between Mid and Senior.

I’d consider Staff Engineer or Prinicipal Engineer the step above Senior, even though Tech Lead or Team Lead is a more likely promotion. This is becasue the Tech Led role usually requires soft skills as much as hard ones.

(Generally its expected that team leads have similar technical skill level to seniors, but they don’t neccessarily need to if they are good at other stuff like motivating people, working with project managers to handle estimates, providing good feedback to juniors, etc… and hey you already have this promotion/title, congrats :wink: )

Let me add a few closing notes:

  1. Without details this is pretty much “How long is a piece of string” … If you want a better answer you would need to share your company projects or hobby projects, github,etc.

  2. Being able to deliver is (at least in most places) more important than just about anything else, so even if your skill set is mid-senior your other characteristics probably make you more valuable than a typical mid-senior.

  3. Expectations can vary massively between companies, even within the same city, with the same title and paygrade.

  4. [EDIT] I have to add that people these days do seem to do a lot of job hopping and title chasing. People with just a few years of experience often want (and sometimes get) titles that seriously overstate their expertise. I’m old fashioned so my thresholds might be a bit higher than ‘market’ :wink:

4 Likes

First up, “senior” and “lead” aren’t necessarily related to one another. “Senior” is about your level of technical expertise, the difficulty and complexity of problem which you can solve. “Lead” is about leading a team to achieve outcomes, and being responsible for the output of that team.

Second, as JohnnyA says, much of this comes down to “how long is a piece of string?”

You’re definitely in a Lead role, because you said you’ve got people who you’re, well… leading. The fact that they’re juniors doesn’t change the nature of that. If you’re not confident in running a team, or if you’re not confident you’re getting the most out of them, then I’d ask for professional development in leadership and management. That’s actually a pretty normal thing, especially for technical people taking on roles which also rely on “soft skills”.

As for “senior”, I’ve got no idea that would be of any value to you. Different places have different criteria. For some it’s just number of years. For others there are technical criteria. Personally, I’d expect a demonstrated breadth of knowledge, with depth in some area, and the experience breaking new ground rather than relying on established solutions.

The thing is, the management or HR people who decide on titles often don’t have a useful benchmark to go by, especially when a business first branches into this kind of work, so it varies heavily. The practical outcome of that, as JohnnyA also said, is that your ability to deliver is often more important than technical seniority. Nobody but you will know what it’s like under the hood. Furthermore, there’s a good chance that as long as it’s reasonably sane, it doesn’t matter.

A high level of technical expertise matters most to a business when there are significant constraints you need to work within or tight competition in the market. For example, Guerilla Games (Horizon: Forbidden West) can’t rely on a hardware upgrade to push its games further, their team has to squeeze more out of a fixed platform.

4 Likes

Despite the lack of information I gave you and despite me telling you that I have little proven professional experience, knowing you’re of that opinion and having you say that I at least sound like a developer who is somewhere between Mid and Senior makes me really happy!

I see… it makes things a whole lot easier to understand. You know, I’m a noobie at the market and as professional developer, and I always thought you had to be a Senior to be a Tech Lead. Now I understand that being a Senior would make you good at getting stuff done and would certainly help you do better in a Lead role, but it doesn’t garantee that you’d be a good leader. Got it.

Thank you so much for your time! I came here with little context and I was expecting way smaller and less detailed responses. You really helped me!

1 Like

From my experience titles rarely reflect the quality of the employee. HR often has career paths and systems in place to automate employee growth that does not necessarily reflect their proficencies. Your best analysis of where you stand will be when having candid conversations with your peers and managers about your growth.

That being said, you’ll run into people in Senior roles that perfom at Junior levels and you’ll sometimes need to manage them with code reviews, critical feedback, support for things like git, ticketing/workflow systems, etc much more than you expect. This is something you discuss with your manager in a respectful way.

I wouldn’t worry about titles much. HR will be focusing on the title and putting your salary somewhere inside a window of that title but as long as you’re satisfied with it then just focus on the team, productivity, and discussing with your manager if something is making you uncomfortable. Be a positive force on the team and take the lead when it needs to be done and things should flow naturally - you could probably roll this into “culture fit” as it’s something that every team and company is going to handle differently. But, if you felt taken advantage of, move that up the chain of course.

2 Likes

@LaneFox thats really well said although I think there’s a few things to elaborate:

  1. Salary is likely tied to title, if you accept a lower posting you are probably selling yourself short. You touch on this “if you felt taken advantage of”, but I think it should be stronger than that: I think its best to actively look to get what you deserve (although not to the point of ‘title hunting’ by constantly hopping jobs; that means you never build any real experience).
  1. From the standpoint of building a company putting people in the wrong roles can be quite detrimental. It is human nature/standard practice to defer to people up the chain. Even if you try to build an open culture and flat heirarchy at least some people will naturally fall in to this behaviour becasue it is what they are used to. If you have people in senior technical positions making bad engineering decisions some of the time these will get through.

Anyway probably straying a bit far from the original topic, but its an interesting discussion.

2 Likes

Do you want to know what abilities on your resume will set you apart from the crowd?
io games online

I’d be inclined to reiterate that senior vs. junior will mean something different at every studio, but I get the impression you have a specific goal within the topic of junior/senior semantics that I can relate to, though it may be uncomfortable to talk turkey:

‘Am I not justified in asking for a salary increase commensurate with the title I’ve been given?’

I’ve been in roles in the past where I wanted to ask that. IMO, the answer should involve more external consideration than internal consideration.

Firstly, RE: internal consideration, if you’re confident there’s no job involving Unity development they could throw at you tomorrow at which you wouldn’t excel, then it’s probably time to start looking at yourself as senior. If you can imagine scenarios in which you know you’d still struggle, then you should consider yourself intermediate until you’ve tackled those blind spots directly in personal projects.

Secondly, thinking externally instead, how much does the company need you? How much revenue are you generating for the team? If you left tomorrow, how much revenue would they lose over the next year? Don’t share any of that here of course, but ideally, you need to know these answers for yourself to know where you fit on the team. This, IMO, is much more important for determining your salary than any qualitative metric.

I think a lot of people consider it taboo to look at the situation from the perpective of the organization, because it’s honestly hard to admit when a given role is just not that important to the company. It also depends drastically on the size, the past success of the company, and the ease with which your role can be mapped direclty to a specific revenue amount. Generally, if you’re working R&D at Apple, Google, Facebook, etc., you probably won’t spend much time wondering if your own role is draining the coffers and not generating enough revenue to justify the cost of your own salary. But if you’re in a key role at a startup studio with four other people, it’s a crucial consideration. Too high a salary for any one individual can easily tank the whole studio.

I think a lot of people tend to primarily consider their own roles qualitatively, but in managing people below you, it’s best to think quantitatively instead, which may sound heartless at first, but it’s in the spirit of fairness, especially if you apply the same criteria to everyone including yourself. As you manage more people, you see instances of unfairness when people play favorites with the livelihoods of subordinate team members. Decisions about whether a certain team member must be laid off or promoted can’t just be about how skilled they are, or how well they collaborate with their peers.

IMO, first and foremost, it has to be about who is most necessary to keep the lights on and create growth, which in turn maximizes prosperity for the largest number of other people on the team, a constant truth whether team is small or large. If the presence of a given team member is actively generating more revenue for the company than the cost of their salary, they’re actively lifting up the livelihoods of the people around them. That’s certainly not to say they should be let go the moment they cross the cost/benefit boundary, but any role that exists squarely below that line will and should have a hard time accessing a pay increase, unless unfair biases have entered the decision-making process.

If you left tomorrow and the company’s bottom line suffered by a million dollars or more in the next year, that’s ten or more jobs the company now can’t provide to others. As much as we often want to blame faceless, evil corporations who pay too much attention to the bottom line, any company that doesn’t consider a cost/benefit analysis of a given role is in an ethical quandry either way.

If you’re that multi-million dollar earner for the team, they need you so badly that you could probably ask for anything in the realm of realism for that role, and they’d give it to you.

On the other hand, if you’re not sure how much revenue your presence creates for the team, I’d consider looking at your role the way you would in your manager’s shoes. If, at your level, you have no access to budget info, I’d try to start having casual conversations with people who know the budget for your team and adjacent teams. Can your manager afford to pay you more? If so, are there sacrifices your manager is making in order to get you that cash?

It can be awkward if colleagues or bosses feel budget discussions are outside your lane. Knowing budgets gives you an ability to approximate the salaries of your cohorts, which is very personal. Sometimes, you’re under a manager who wants to keep that info close to the vest, but if you have those conversations tactfully, you can show over time that you care about the success of the team by seeking to ensure that you and the people under you are never a drain on team resources. You can’t do that effectively without knowing the budget.

Once you have access to budget info, you know the company trusts you with vulnerable key insights that affect the whole organization. You can use that to create equilibrium between the salary you negiotate and the funds the team needs to thrive. You’ll also be able to see whether the revenue you send up the chain through your work is actually trickling back down in kind with bigger budgets when you succeed. If that’s not happening, it’s a red flag that justifies a lateral move.

Ideally, you’ll have higher ups who respect you enough to proactively pay what you’re worth when they can, and share budgets openly when they can’t. For instance, I once had a boss who brought me in under a generic VR developer title, and then adjusted my title to senior within a few weeks. After two pay increases, he admitted multiple times he was still underpaying me and wanted to change it, but it wasn’t in the cards at that time.

He shared budget info occasionally, so I could see he wasn’t pulling my chain. Eventually, I was helping our producers create those budgets. I continued to work hard on that team rather than seeking a lateral move for more pay, though I knew I could get more elsewhere. When he had the chance, he fought to transition me into a great role at a great salary. You won’t always get that level of transparency and dedication from higher ups. If lack of fair pay AND complete budget opacity are both the long-term norm, red flag. Move laterally.

While ‘senior’ vs. ‘junior’ is meant to describe level of skill, the decision makers of your salary are almost never in a position to assess your skill as well as you are. Even if they rely heavily upon interview processes that include questions from other seniors, objective testings procedures, etc., you still can’t really tell if someone is truly senior skill-wise unless you’re also a senior and you’ve worked with them for at least a few months.

Long-story-short, don’t worry too much about what you are in a qualitative sense, except insofar as it affects your pay. It’s all about whether the pay you want is in the budget and whether the budget is being allocated fairly.

In my experience smaller companies often lack the money and expertise to find the best or attract them. Therefore you may well be above your position compared to a bigger company and experience less rigorous interviews.
But if the team expands and you take on more leadership you will then find out!
Ultimately if you are comfortable in your position continue as normal!
It’s also common to experience imposter syndrome, thinking you are not as good as you really are.

Hey!
I’m really sorry for my absence.
The last couple weeks have been pretty rough for me and I really couldn’t answer everyone. It’s been pretty hard to even think for typing in english, as it’s not my first language.

Just wanted to let you know that I read all your answers and I’m extremelly grateful!
Knowing more about different opinions is important, and your answers have been really helpful for a better understanding of this subject.

Once again, thank you very much for your time!

2 Likes