I’ll preface this by saying I’m relatively new to the industry (couple years of experience) as an engineer. I’ve loved coding and working with cool tech since I was younger but I’ve only recently started working in a professional setting at a mid-size startup.
I’m grateful that I have the opportunity to work on software full-time but I’m getting increasingly tired of the other aspects of the job (endless meetings, agile “ceremonies”, back-and-forth on Jira processes, etc.)
I know that I need to work on getting better at the other non-tech related aspects of the job in order to grow as an engineer but I’m having a hard time forcing myself to care about the things that seem to only slow everyone down without providing a lot (if any) value most of the time.
How can I change my mindset to get more out of the “corporate” aspects of software careers?
There's a spectrum of process from cowboy to multi-decade space mission, and as an experienced engineer, I know where I want to be, and I can grudgingly accept that other places on the spectrum can be appropriate if there's a real business justification.
Since it sounds like you're more on the cowboy side of the spectrum, one thing to be aware of while you're interviewing is that 'best practices' seems to be more process, so when you ask, most people aren't going to just come out and say they YOLO editing PHP on prod... you've got to ask and refine your probing questions so that you get to something close to accurate, while sometimes not revealing your preferences.
The other thing is that generally, the more experience and tenure you have, the more clout you have to skip process. Skipping meetings has consequences, of course, but sometimes it's better for you to have an hour of sanity and accept that decisions will be made without your input. IMHO, when you intentionally skip meetings, you should not re-litigate the decisions of the meetings, unless they're really infeasible or damaging to the business.
Nobody is going to reward you for becoming an expert at JIRA or for activities in various ceremony meetings, etc. unless you want to become a PM. Focus on delivering working software, working well with others and following the processes. If something being done is just dumb, like if someone is demanding a ticket per every file changed, talk to them about it and the overhead/issues it causes. If you don't own the process the best you can do is ask for changes.
The corporate aspects are the entire reason that they put money into your account.
The challenge is that you can’t avoid them and you need to work within the boundaries of those processes. So I suggest a level of acceptance that they exist but challenging them to be as lean as possible
If you want to mess with cool tech in your own time, create your own company or do cutting edge research at a university go for it.
Otherwise if you can get a well paid job where you get up do stuff you enjoy half the time suck it up and just deal with the corporate stuff. If I could afford not to work I'd miss a few aspects of working in software, but not too many!
And if not, find a luxury gig that pay more if you do shits, and learn to manage your managers and manage your expectations. Treat work as work and segment hobby programming from work programming.
Don't get married or kids unless you can't live without one, at least before 30.
Retire early and do whatever you want.
As for agile ceremonies, some of them are needed for smooth operation of the team. Some of them are pure fluff. A good manager will know the difference and make real-time adjustments to the process to find the balance. A team of 7 doesn't need to spend more than 4 hours a week in meetings.
Back-and-forth is a result of poorly worded AC or people not reading the AC. Sometimes it can be avoided, sometimes not.
You just need to understand that in corporate jobs, you're on a team. Everyone works for a paycheck just like you, so there's a social give-and-take that must take place.
Now, understanding this fact enables us not only to better understand why we do these things, but also provides a concrete way to criticize and improve those process. You can use data to figure out which processes aren't actually improving quality, velocity, and coordination.
Tldr: be the change you want to see.
Developing Chesterton’s Fence humility is harder than easy if only I had a pony and could eat M&M’s for breakfast opinions about meetings. Good luck.
https://fs.blog/chestertons-fence/
Without having a big impact, it's virtually impossible to grow in your career. Because of this, playing the corporation game is the most important part of our jobs.
We are first an employee for the company, then a software engineer. We mostly deliver value for the company by coding, but it isn't the only thing we do.
Working in a team and organization is very different from working alone.
In a big enough tech organization (10+ people), the impact of your "coding skills" is smaller than the impact you can have by just reorganizing the team in a more efficient manner.
How important those meetings and processes are important for the company.
Without them, you could still write software, but it would be very disorganized. The company needs to figure out what to focus on, focus on it, and moving Jira tickets across the board is a way to coordinate it.
Meetings and work relationships are the only way to get your organization to improve.
It's normal to feel frustrated at first, just don't let it become your personality or be too cynical about it otherwise you won't be able to have an impact.
Soon your emotions will adapt so you will feel less fed up by those things. For me.
It was only after a decade of experience I stopped getting triggered by those inefficiencies and understood how hard it is to actually run a team, much more an entire department / company.