4 ms·
First, the practical answer: you sound like you have been unlucky enough to work only in pretty awful corporate environments. Stand reassured: all companies are
by rixed 8y ago
First, the practical answer: you sound like you have been unlucky enough to work only in pretty awful corporate environments. Stand reassured: all companies are not like that. Simple rules to vastly increase your chances of working within better environments:
Rule #1:Avoid big companies.
Big companies seem to attract and promote more sociopaths. Or maybe they are just more visible because of the larger population? Possible explanations include: sociopaths are focused on their carrier path within an organisation rather than on accomplishing something, which attitude is only possible within a big organisation where many layers of hierarchy and processes offer shelter from the hard realities of customer (dis)satisfaction and competition.
Rule #2: Avoid the web.
The technical culture is just too bad there. Ideally you should look for a development job in a company that also employs other kind of engineers (telcos, construction, industrial equipment...) The culture will be more grounded in science (and the economy), and the objectives less vaguely defined.
Rule #3: As a last resort, consider leaving the USA and emigrate to Europe, where the corporate culture encourages less openly hypocrisy. Note, though, that this "fake it until you make it" attitude that tends to make American coworkers creepy to us Europeans has been shown to have a positive influence.
Now, I also wanted to address you depiction of the ideal engineering work as closing well defined tickets.
You are certainly already aware that explaining to a computer how to solve a well understood problem is a very simple task, compared to the work required to explain to a bug tracker what a problem actually is and what its solution should be.
The first task consists merely of translating a specification into a program, while the other task requires to understand a complex system, what it does, how and why, its history and to anticipate its possible futures, plan its evolutions, etc. This is so much harder, especially because to reach this point where you understand enough the problem that you can write the specifications (or directly the program) you have to collect information and ideas from many human sources and to also fight human incompetence, lazyness, malevolence and conflicting interests.
To do this efficiently you need a lot of knowledge, not only technical but also about the industry, the internal working of the social organisations you are part of, etc. That's being an engineer in IT here and now, and very few jobs will match what you are looking for.
And if you ever find one, chances are that you will then just play a role in some managerial intrigue and nobody will actually care about what you are doing.