5 ms·
This poses an interesting question: if you find yourself in such a position, working at a company that is doing so many things wrong, what do you do? I can th
by phaedrus 19y ago
This poses an interesting question: if you find yourself in such a position, working at a company that is doing so many things wrong, what do you do? I can think of several different things, but which is right?
1. Easy way out - go with the flow and add your own WTFery to the mix, and try not to let it destroy your soul.
2. Fight for what's right at every turn, and stand up to the status quo.
3. Pay lip service to the status quo, but subtly and sneakily introduce best practices one at a time. It would be an uphill battle, and hard to fight backsliding without blowing the undercover nature of your cleanup operation. In order to do this, you'd have to find the coworkers who still have a bit of a soul that hasn't been crushed, and get them on your side to help you.
- pc 19y ago"This poses an interesting question: if you find yourself in such a position, working at a company that is doing so many things wrong, what do you do?" Leave.
- babo 19y agoLook for another job right from day two. In such a situation quit is the correct answer.
- stcredzero 19y agoBack in the day, we used to call this the [JustQuit Pattern](http://www.c2.com/cgi/wiki?QuitSuddenly http://www.c2.com/cgi/wiki?QuitSuddenly)
- trevelyan 19y agoThe same thing can happen at good companies which make bad decisions with tech staffing and development for whatever reason. You have to try and build non-confrontational coalitions that want what you want and don't stress out other people. Sometimes you have to take stands on major architectural decisions. But if you're creating battles on day three as an incoming programmer you deserve to be fired.
- makecheck 19y agoIf you aren't in a high position, you really won't be able to swing the ship directly. All you can do at lower levels is drop strong hints. This can be done whether or not you quit (e.g. at an exit interview, assuming there even is one).
- wallflower 19y agoThe best (yet flawed) analogy I ever heard for a large company. People in a company are like gears in a complex gearworking. Some gears have more influence/leverage such that if a big gear (GM) moves a little a lot of smaller gears may start moving faster. And to cap off the analogy, sometimes a movement causes some other gears to go backwards. It was from a VP too.
- ambition 19y agoI've tried all three. #2 is a good way of becoming unpopular very quickly. #3 is a lot of effort. You need to be very committed to the mission to make it work.
- boris 19y agoI was in a similar situation and in my case I also had the fourth option: 4. Try not to touch any old projects. Instead try to "own" a new one where you can do things the right way. There are, however, a few problems with this approach: your will probably be implementing the whole thing alone and will quickly become unpopular with the others. In my case I ended up implementing a compiler frontend alone from scratch while everybody else were thinking it was a waste of time and we should have based our work on the old code (which, agreed by everybody, was hell of a mess). When time came to implement the backend, I had to bring one of the "old-timers" on board which caused a lot of tension (he preferred to do things the "old way", for example, to indent the generated C++ code manually instead of using the automatic indenter that I wrote). One other thing that I tried with mixed results was to "recruit" new hires with some sense of design to work with me on the project before they got exposed to the "dark side". In the end I left that place not the least because of the "us vs you" attitude which was, on the most part, the result of my own actions. I couldn't stand the attitude most people working there had towards software design (most of them were grad students so they weren't there for the long haul). I am now running my own development tools company and find it a much better way to spend my time. In the end I suggest that anyone stuck in a situation like this get out of it as soon as possible. The extra effort required to make it work is just a waste of your life.