There are some really interesting technical problems that need solving, which can be very satisfying to work on.
Some teams really have their act together and are creating great software using current (or not too ancient) technology.
Pay and benefits are probably above average if you can find placement at an appropriate level.
If you have the skill, patience, and force of will to make things happen, then there is vast room for improvement for teams with poor processes, work environment, and leadership.
Many teams are incompetently managed and staffed with those who are "retired in place".
There is much talk about One Boeing and RAA, but in fact, different groups are more often defined by their antipathy toward other groups, and management strives to avoid blame more than anything.
Managers shift jobs frequently to avoid having to live with the consequences of poor decisions.
Some teams develop using antiquated technologies that you might assume no one has used for 30+ years.
It can be very difficult, though possible, to effect change in the processes, tools, environment, and other factors that contribute to the success of projects.
It's as if none of the leaders has read any of the canon on software project management, and so they don't even know that their bad decisions are clichés.
Teams lack the authority to address most of these issues, and any change requires approval through at least 4 layers of management, and possibly one or more steering committees.
No one even knows how to correctly measure productivity, so sometimes they will replace one productive person with salary N with 3+ non-productive persons with salary N/2. I've heard of teams where one level 4 was doing 90% of the work on the team, and management (not even direct management) chose to "lay off" that individual, and now the team has hired 2-4 replacement level 1-2 employees, and they, of course, aren't able to do even a significant fraction of the work.
I know of instances where senior, high-salary employees are pushed out of the company as a short-sighted cost-saving measure. Many junior employees don't even get a mentoring or knowledge transfer period, because for complex projects this could require a year or more of overlap, and often < 2 weeks is allocated.
Hire experienced employees with proven track records of success, pay them fairly, and empower them to redefine your software development culture.
Ensure that everyone in the chain of command has an appropriate background to manage their reports. You wouldn't promote a dental hygienist to chief of medicine of a hospital, and likewise a senior manager for software projects should have a software background.
Separate software from the rest of IT functions, and have a C-level software manager at the same level as the CIO. Start to staff your software business with people outside of IT. Most Microsoft, Google, Apple, and other software people do not self-identify as being in the IT industry (except for those actually in their IT departments).
This was for an entry-level role. STAR format, 5 questions. I was asked about experience and difficult/pressure situations. Besides the 5 STAR questions, a couple of yes/no questions were asked, e.g., "Have you ever used tool X?"
One phone screen and then one video interview technical round and then a call with the hiring manager. The phone screen was standard behavioral questions, and the technicals were easy LeetCode questions.
Step 1: Phone screening with recruiter - job overview, resume review, and interview process outline. Step 2: Hackerrank - basic LeetCode question. Step 3: Panel interview with team - STAR questions, basic programming questions, and personal experie
This was for an entry-level role. STAR format, 5 questions. I was asked about experience and difficult/pressure situations. Besides the 5 STAR questions, a couple of yes/no questions were asked, e.g., "Have you ever used tool X?"
One phone screen and then one video interview technical round and then a call with the hiring manager. The phone screen was standard behavioral questions, and the technicals were easy LeetCode questions.
Step 1: Phone screening with recruiter - job overview, resume review, and interview process outline. Step 2: Hackerrank - basic LeetCode question. Step 3: Panel interview with team - STAR questions, basic programming questions, and personal experie