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.