I feel your pain. I maintain my part time military job so that when I am sucked into a deployment I can be around more normal people from a variety of other professions and recover a bit of sanity.

As a JavaScript developer here are the things I most encounter:

1. Invented Here Syndrome. Nothing is more despised or feared than writing original code. Code written by a coworker isn’t trusted but code downloaded from the internet isn’t questioned and so everything becomes an untested dependency. The ability to write original code is somehow seen as an amazing marvel with an astonishing curiosity and simultaneously feared as an unknown demon.

2. Automation is not trusted. I find this surprisingly odd because for me the very purpose of software is automation, so automate all aspects of your job as well. Many developers like to do a lot of manual things they don’t realize they are doing which can be easily automated. Challenging those behaviors is like challenging OCD insanity of somebody who isn’t aware they are OCD. You would think test automation would solve for some of this, but there is so much manual effort curating things the user never sees while so much end to end testing is ignored because that requires a higher level of effort. Despite all of this external tools seem to always be trusted and if they can provide metrics or configurations to suck up more of your time they are valued for their automation.

3. Writing is frequently a lost and not valued skill. In the past at previous employers if I wanted any sort of clarity on technical or business requirements I completely ignore other developers and go straight to QA, because QA people are experts on communicating with specificity. Developers, on the other hand, are frequently incapable of writing anything down and expect everything to be a circular conversation that sucks up your time and theirs. The busier the developer is the worse this paradoxically becomes.

4. Everything must be a tool or a search. I often feel there is a lot of insecurity in writing software. I get the feeling as junior developers many people never form a proper mental model for how to write code and then spend the rest of their careers as expert beginners cornered with how other people should write code. It seems this often comes down to ignoring thinking about logic if a tool can do it for you and ignoring data structures if you can just run a search. I imagine it must be like becoming a lawyer and everything there after is a plea bargain to avoid reading law or forming an argument.

5. There is no formal training in the corporate world or required continuing education and so developers are expected to train themselves. This is problematic only because it is both somehow expected and simultaneously ignored. The only place I have interviewed at, seriously the only one, that figured this out is a design agency. They were more interested in my personal training/education than my day to day responsibilities at prior employers because they wanted to know about my capabilities.

6. Everybody in software seems to believe they are some level of a security expert. Whenever I see security and software combined into a single context I immediately think Dunning-Kruger. The security industry has remedies for such stupidity that software ignores (often deliberately). If you point this out the result is hostility, about what you might expect from pointing out over confidence. I have always found that fascinating since there is so much missing confidence in just writing any code.

If it weren’t for the pay and the massive free time to just stare lost into space I would given up on software long ago.