1. Frontend Engineer
2. Backend Engineer
3. Applied Research Engineer
4. Research Engineer
5. Graphics Engineer
6. Game developer
7. Enterprise SE
8. Fintech Engineer (esp. in trading/algos)
9. Cloud Engineer
10. DevOps
11. System Engineer (compiler, os, browser)
12. Consumer Application Engineer (macos/linux/windows)
13. Machine Learning Engineer
14. Data Engineer
It’s always good to be best. I got told best ML engineer would earn a lot compared to best Frontend Engineer. (ofc, it might be wrong). But which role is good to be average at?
It would also be awesome to know barrier of entry vs reward. For example entering graphics engineering is extremely hard and reward is also average compared to average frontend roles. Once the profile is built up, the former will be a great deal because the investment pays off!
So, what are your opinions? Any idea?
I've worked with barely average developers and believe me, they frustrate the rest of the team. They'll copy-and-paste the same code 5x instead of asking where they should put a new module. They'll commit untested code into main, and leave it to the next guy to clean it up, just so they can close their ticket. Communication is often poor. We all don't know things. The problem with "average" is they don't ask questions.
At least I would try to communicate on important decisions. However, I have zero interest in making decisions, making presentation, trying to prove things or any of that. All I want is a task that is achievable in given allocated time and fits my skill level.
I have given up on hopes of learning. There is no such thing as learning after highschool. It's always one thing after another. College is chasing grades. Post graduate chasing papers. Never got a true chance to dive and learn. There is no room for failure. All I had to do was put of patch work to clear the subjects. How can I expect myself to be good when I have cheated the system throughout my life.
Hence, if I get the chance, I would love to be average. No responsibility. Slightly better pay. I feel I can study what interest me just to crush my own ego.
Hope it makes sense.
So do you have any clue how I can optimize the position in the industry? I am interested in the most of the subtopics in the field of computer science. I just want to find a route with highest reward for an average developer.
Apparently average research engineers makes a lot compared to say web developer, but the route requires PhD.
What do you think is a good track?
All that being said, I think someone is better off looking at organization styles and culture than job titles for a comfortable, earn your keep, engineering job.
However, I kindly request you to not conclude that wanting to be average doesn't mean not having interest in the field. It's the contrary. I am so invested, I know what mind blogging things people can do. And I also know I will never be able to reach where these people are.
Hence, I want to understand a way to find the balance. It's okay to be curious and learning. Also the fact life isn't fair for everyone. For some it comes easy, for some it may take lifetime.
Front end had you chasing frameworks. Front end for you own projects is OK but for a company get ready to learn the latest React nonsense while supporting Angular, JQuery Plugins and everything else that was in vogue over the life of your codebase. Unless you join a disciplined team that doesn’t chase fads or rewrites everything each time.
Game dev is famous for bad work life balance. Not sure about pay? Working for Roblox is probably decent?
The best paid will be FAANG (USA only) or Fintech esp. Trading.
For career development if I had time again I might go more into sales engineer, with the option to into pure sales or start a business with the help of all those friends you made! Or be a business analyst for a year or two.
Inside the Engineering wheelhouse it feels CTO is the real career progression and if you don’t want to be on that path it is harder to find career opportunities.
But more than that, a lot of concerns are the same no matter what framework you use. Making an app accessible in React isn't that different from doing it in any other framework. Browser APIs don't really change. Switching frameworks just means switching mental models for how you store and pass around data, but it doesn't fundamentally change the job. And the great thing about the popular frameworks is that once you internalize how they work, they can really speed up the way you work.
Frontend devs get to waste so much time chasing frameworks and fads, and never seem to be held accountable for a functional product that works well. Form state and error handling are afterthoughts compared to animations and drop shadows.
Dead Comment
My question, is there no way to be eternally stuck as "senior/staff engineer". I do not want anything beyond that. The salary of an average senior/staff engineer is always greater than median salary of the country.
That should solve all the living expenses.
Living expenses may or may not be constant. If you have a family expect them to increase alot while having less time to keep up with tech.
The rat-race is tiring. I have given up on it even before starting. The hardest thing in life is giving up. It took a long self talk to reach an agreement where I am truly an average in what I do.
There are so many people out there, who can do marvelous things. Meanwhile I am just an average dude trying to make a comfortable life.
I want to minimize my effort and maximize the reward. This is the motivation of asking this question. Not everyone can be good at things, there are so many factors.
I sometimes think I should have studied medicine because an average doctor has it better than an average engineer. It was foolish of me to follow a dream that was never supposed to be made for me.
Dead Comment