Ask HN: What should a Principal Front end Engineer do?
I just started a job two weeks ago. I haven't done much. Created a UI component. I ran some performance tests and sent an explanation to the team.
I'm not being included in the sprints (we are between sprints, but nothing has been assigned to me yet), I am unclear if that's because I'm a principal or they just forgot about me. There are 17 people in the daily standups but only 5 of us talk.
I don't really want to be a feature grunt (been doing that 25 years), but I'm worried they simply forgot they hired me.
What should I do?
25 comments
[ 3.0 ms ] story [ 66.3 ms ] threadThough it's probably obvious to you, my first thought about describing to others how to deliver an ideal front end would be to "minimize impedance mismatch". Somehow you need to plant a flag in the minds of upper management that you know how to make an app "a joy to use", or totally obvious to use.
But is that what your management really wants from the person responsible for the front end? Or is it something else, like inventing a signature visual interface to better brand the product? Or streamlining the app's infrastructure to simplify reengineering/refactoring/repair?
If you're looking to create a manifesto that you can sell as a unifying strategy for UI, IMHO no company has valued front ends more than Apple, and Jef Raskin was one of those most dedicated to making computers 'obvious' to use. His manifesto ("The Humane Interface") has to be a good source of ideas on which to base your 'front end mantra', as would the book "Macintosh Human Interface Guidelines" by Apple.
Many companies have an onboarding process that can last a couple of months until you are put into a full rotation, the more senior the role the more time it takes because senior roles require much more understanding and information before decisions can be made.
The biggest thing you can do as you climb up the ladder is to rush things.
Don't worry, it will be over sooner than you think.
Is there any elephants in the room being ignored?
It’s also quite possible they just wanted a feature jock that won’t mess things up. Perhaps that’s what is actually needed.
If you are a principal engineer, they might've just used the title to try to recruit someone who isn't a novice.
Either way, if you want to assume a leadership position, just start doing shit. Especially if they're not giving you stuff to do, just start taking the initiative. Are tests set up? Do they use Storyboard for components? Set that up, or create new ones. Do they have Cypress or equivalent e2e? Do they have Jest or equivalent snapshots?
I asked if there was anything I should focus on and if not I could do an a11y analysis. He replied with spiking on upgrading to 3.0
What don't they know? Sure, it's many things. What's the first piece you can teach them (or at least some of them)? Can you work with them to implement something and help them learn that piece at the same time?
It looks like you just answered your own question about what you should be doing.
As general advice — as a principal engineer, similar to a staff engineer[0], your role is really to look ahead and solve the next problem. What isn't a huge issue now, but will be in 18 months time? Where are the companies projects moving? Can you predict that they're going to need particular support in the future?
[0] https://staffeng.com/
Depending on the company and product, it might make sense to focus on performance or building a shared component library. In our case, the average team's productivity was far below where I believe it should be because of dull tools. Figure out where your company needs improvement the most and make it better.
If you have the leverage, 17 people in daily standups is a good problem to fix.
My suggestion is to find out what your manager is doing... and try to do it for them. Or otherwise, do this with some other people in your team.
Possible outcomes are that they'll be happy, or they might say "no, don't do that, do this instead!".
As a principal your primary job is to be an engineering executive. That means making decisions, studying, and advising executives/planners, and directing the path of technology.
As a front end principal you need to find the shortest path to accomplish the business goals with front end technology. The biggest challenge is that junior engineers, especially on the front end, need tremendous hand holding and resist outside a small comfort zone. That is a challenge because as a principal you set technology direction instead of holding people’s hands, which is the job of their managers.
If as a principal you are too aggressive in your pursuit of product quality you will be sidelined and ignored. If you are too lax you won’t offer any value for your high compensation. This where soft skills become important. Set the bar high, communicate the importance of high standards in terms of money, and get buy-in from senior leadership.
> What should I do?
Document where the current product/process sucks and recommend a radical order of magnitude improvement. Write that clearly for stupid people but include strong evidence for your case. Get buy-in from those that are in a position to care about making/saving money. You don’t have to win the support of resistant junior developers if you make a strong business case. Then oversee the successful implementation and be planning the next big challenge.
I used that time to job hunt on the clock and ended up collecting my salary for a few months at the other place.