I once had a friend describe the moment before talking to girls and tell me it felt like the moment before you jump off a ledge. Talking to girls does not feel like jumping off a ledge to me. You know what feels like jumping off a ledge? Jumping off a fucking ledge. I've jumped into a swimming pool, and off of a giant bridge, and off of the Stratosphere in vegas, so I think my ledge-jumping credentials should adequate for at least knowing the feeling.
You know what also feels like jumping off a ledge? Quitting your job. Not hopping to the next one; I'm talking about quitting. Not sure its in my best interest, but I seriously think about it every day now.
Here's a recap:
I jumped to Microsoft because my Amazon job sucked balls. I hated it so much at amazon that I was willing to forgo an amount of unvested stock that...at today's prices makes me wish I had a higher tolerance for shitty work.
At Microsoft, I was put on a piece of shit software that was eerily similar to the shit I owned at Amazon, except that this time we didn't have any of the operations gear, and I wasn't about to spend nights and weekends trying to re-invent a deployment system. The other team member was a senior engineer with a love for over-designing things. I once saw him solve a small one-liner problem by creating an entirely new class.
Then I switched to a project related to Android. Why? Because Android is fucking awesome. Unlike iOS, you don't get fucked up the ass, and unlike Windows Phone, people actually use it. Unfortunately, the android project we wrote...was written by a handful of barely trained monkeys that do not understand Java language. Yeah, I know Java: the language everybody loves to hate. But if you're gonna use it, at least learn the damn language. So I now own steaming pile of spaghetti. I've been here before. This was probably the second worst code I've seen (after something I witnessed as a research programmer) but it was a close second. Like some of the things these guys did should be illegal. So I started fixing the critical issues. Except...well, apparently we only have one customer for this android project. Also, we sort of just handed the entire pile of shit over to them--the actual source code--and let them do whatever they want with it, without consulting us, even though their changes are stupid and conflict with our roadmap for the project. I apparently own merging the codebases, which means that my well-meaning efforts to remove some of the worst problems are coming back to haunt me, because our customer didn't remove any of the problems, and I have to take their changes.
Then, priorities change. I'm shoved onto another project that temporarily become more important. I'm on the project long enough to forget what I was doing on Android. Then back on Android. I can no longer access our customers SVN repository, and they drag their feet giving me access for months. I'm granted access again days before a deadline where we threatened to start slipping the completion date a day for each day I still didn't have access. I'm not the only one harmed by this prioritization bullshit. The entire team is getting randomized because no one knows about these super important projects that appear out of nowhere. Project managers pay lip service by pretending to agree that the context switching is an issue, but they apparently haven't even discussed this with senior management (we find this out the hard way by accidentally asking senior management a real question during a Q&A). Then, priorities change again, and I'm off the android project. In fact, the android project may be permanently shelved, because our 1 customer no longer wants it, and the company had no plans to release it because they are too short sighted to realize that if they want the market to use their software, they can't just stick their heads up their asses and hope people buy windows phone.
Organizationally, something weird has also happened with our management. We used to have this one guy who was effectively our leader. He owned everything end to end, and he had a singular vision for how it would work, and he could make even a jaded person who hates ads like me excited about the future of advertising (mostly, because we were going to take it to a place that doesn't piss of consumers). We'll call him Mr Badass. I was not impressed with him on a personal level, but I respected him professionally. Then, and now we're getting to the part that I only know by gossip, pieces of his kingdom were stripped away and given to other managers in different locations. It happened over time and for no good reason--probably politics. Also, some kind of guy came in near the top, from a tech company that no one cares about anymore, and then suddenly a bunch of people he knew happened to get hired from the same company, and now we have an enormously bloated management chain. Mr Badass promptly left. So instead of having one guy runs things well, we have lots of people running things poorly.
The message I'm getting, especially regarding the constant priority switching, and the incredibly poor decisions (who hands their fucking source code to a customer?), is that this is business as usual, and dealing with it is what I collect a paycheck for.
So, I think its time to stop collecting my paycheck.
And this is where the ledge jumping comes in. What exactly do I do next? Another job in Seattle? Another job in Philly? Live on savings while I develop the skin care thing? Should I keep my M$ job, tough it out, and stop bitching at least until I pay my car off or something? So many questions, and none of the answers are perfect.
If I could choose the perfect job, I think it would be me and a small, tight team of amazing programmers, writing niche software to solve highly specific problems in various industries--industries that large companies don't invest in because the ROI isn't there to throw hundreds of programmers at the specific problems. Skin care, self storage, real estate...any place with a need for software that isn't well known, because there aren't a lot of badass programmers around. Our small team of programmers would be faster and better than others because we are so small, and don't have to waste time coordinating large teams. And, obviously, because we honed our skills to become experts in small, specific areas of expertise, (i.e. X type of Android applications, etc) as opposed to going wide and being well rounded. Also, we would work hard and fast on interesting projects and never have to do stupid shit because of some large companies corporate strategy. In effect, we would be the programmer's version of a glass cannon. We can't do everything, and we probably won't handle industry wide changes well (i.e. no defense), but we are amazingly awesome at lucrative projects for niche industries (high damage).
If this skin care thing makes any money at all, I think that's the direction I want to try.
Or we could just make videogames. I mean, whatever.
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment