Are you glue? Do you keep taking responsibilities beyond the calling of your job where you're sure you deliver value, people appreciate you, even start asking your opinion... and yet for some reason still hovering at some unspoken junior level, job after job?
"You must be doing something wrong," they said.
"You need to get better at CS fundamentals"
"There's a difference between someone who spent 10 years doing different jobs and 10 years doing the same job."
"Maybe you're hoping to advance too fast."
"I don't have a CS degree."
"You've only been working for X years."
"That wasn't a real dev job".
I recently had a mind shift around this dilemma of not knowing how or where to evaluate my skillset, compensation and title. Those of you who know someone who can design AND develop can be thought of like a unicorn. But sometimes they're also told the skillset doesn't rival those of a full stack or backend developer, like you're only half a dev.
If you're like me: You're not not good enough. The responsibilities and specialization are simply not the same.
Want "pixel perfect" design implementations? Performant and robust interfaces? Logs to catch where users get stuck before customers complain? Better outcomes through user testing, feature triage and consistent experience across devices? Front end logging? Want framework-agnostic unit tests? A conveniently deployed single page app? See a solution architect make a questionable architectural decision, have a gnawing feeling it's not right, but you must have just missed something because you have decades less in XP?
These could be considered within the realm of "front end" or UX engineering but probably not something a full stack dev would focus on.
It's taken me a long time to realize these companies may be confused, or they don't value such a specialization. It's not possible to find a one-size-fits-all developer...and for years I thought that a full-stack, polyglot dev was the pinnacle of achievement and rigour. Then I met more devs and they all had different personal roadmaps, some went into devops and others just wanted to round out their weaker skills, some continued specializing just in front end. Some moved into management and bounced back into technical roles.
It also depends how a company is structured and whether they have engineering tiers. Early stage companies want to get the most bang for their buck, so they want a T-shaped generalist who can do some of everything. Larger companies have more room for specialization and refinement.
After talking a ton with recruiters and peers:
Instead of waiting to be told how senior I am and worrying I'm overvaluing myself, I've come to understand that my skills and specialization are valuable in their own right; there are actual job descriptions with them as roles where I wasn't looking besides "front end developer":
UX prototyper
UI Engineer
UX Engineer
UX Developer
UI Developer
Prepend any of these with intermediate or senior and that is my role. ππΌππΌππΌ
In previous jobs, I've been acting as that bridge between design and development by naturally gravitating to UX and UI implementation. I find fill gaps between design, dev, business expectations and provide alignment on the product goals.
There is simply no point in applying for full stack roles in attempt to find validation for such work. Time to bark up a different tree π½
Edit: I have 4 years under my belt in the tech space and worked in roles from dev, design and support and back to dev. I'm going on my 5th year.
Top comments (5)
There is no "missing" a technical curve. There is only ongoing and incremental growth through taking the time to study and improve yourself :D
As a career switcher working amongst juniors/new grads I feel like I'm more comfortable with how I am, less afraid to look dumb when I don't know something, and I've accepted the possible size of the mountain in front of me. As in, I'm in less of a rush to prove myself, because I'm always going to have to prove myself... the best kind of proving is not to try do everything and all at once, as I've since learned that's a disaster.
The unfortunate shift in the last 10 or 5 years is that we're in an extremely stack-based hiring market, and bootcamps create outsized expectations of what CS grads and bootcamp grads already know. Couple that with the fact very few workplaces invest in mentoring or rearing talent anymore. Experience of working in teams and critical thinking still counts for a lot...
Like Tanya mentioned in her article... it is scary to pursue what you want to do especially if we don't believe we're good at it and much easier to go for a safer option or the option that people think you're good at. I've shot myself in the foot by taking lesser-than jobs and responsibilities before that slowed my own growth into the titles or tasks I wanted, but also tried to make the most of those experiences to assess what professional measures and patterns are in software engineering.
Re: "...to see that all the skills that you have don't seem to match any offer" ... because they're all wishlists. Some employers don't know how specific or outdated or odd their legacy stack is. And others use recruiters that don't really understand different types of developers' work! On the other hand, if you run the skills by dozens of devs and identify the ones they commonly use... it is up to our own determination and interest to meet it part way too.
Awesome article this is actually things. I constantly ask myself as I take on new projects or working on outside of comfort zone.
Great post Jen
TY Ben, means a lot coming from you and also, I don't know why but I feel dev.to is the place to post such career-existential ramblings πΈ