Thursday, July 25, 2013

Dreaming of Glass Cannons

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.

Wednesday, July 17, 2013

Requiem for a Partnership, Part 4

My business partner talked to our accountant, who basically told her the exact same thing I did.  And now she agrees with me.


I will keep you posted.  Hopefully, part 5 is where I tell you we signed our operating agreement.

Requiem for a Partnership, Part 3

Aaaaaannnnnnnnd we're back.  My partner is suddenly no longer comfortable with our arrangement. 

Again.

It has been 25 days since our accountant suggested this method of investing, where in addition to both of us funding the company equally as partners, I also take on the role of an outside investor, and invest for a temporary allocation of profits until my investment plus 9% (APR) is paid back.  As an investment, its a pretty shitty one.  Credit cards pay 20% and have less risk.

My partner thinks I'm being unfair.  She says her friends agree with her that as a founder, I should just put more money in, and/or give her an interest free loan.  Not a chance.  From my point of view, I'm already doing more work than her.  She came up with the features.  I wrote the specs.  A graphic artists that doesn't know how to make graphics for software did the graphics  I made the design.  I made the rough wireframe.  I hired the coders.  I wrote the prototypes.  I taught the graphic artist how to deal with different screen resolutions and densities.

I told her if she thinks I'm being unfair to her, she should find another person to work with who is willing to do everything I am for only 50% of the ownership.  She didn't want to do that.

I then told her that if she doesn't like me making more money than her, then we could find someone else to invest.  She didn't want to do that.

I told her we could find a third (or fourth) partner(s) who could bring both skills and money.  She didn't want to do that.

What she has done, is given me a complicated counter-proposal for investing that magically comes out to the same dollar amounts going to each of us.  Exactly the same.  To the dollar.  Only it is so silly I don't know how we would explain it to the next round of investors.

I now have to decide if this chick is just nervous because this is her first time starting a company, or if we will just not be able to work together.  This is a difficult one for me, as I have never made a decision like this before.

Tuesday, July 16, 2013

Requiem for a Partnership, Part 2

We came to an arrangement.  I have been told I am crazy for investing in the company for only 9%.  I kind of agree, but I did it anyway.


In other news, went out on a date with an awesome girl last night.  I have a feeling this one is not going to blow me off.  We'll see.  Based on casual observation, the only solution to the girl who just left you is...another girl.  That is a terrible state of affairs, like if alcohol was the only cure for hangovers.

Monday, July 15, 2013

Requiem for a Partnership

My partnership with this skin care girl is hanging by a thread.  We are negotiating the operating agreement of our company.  She wants the following, which I consider non-negotiable:

1.  She wants me to commit to coding the Android version of the product in its entirety, even though all spas use iPads and we only want it for marking, and even though I spend all my time doing partner meetings and dealing with her and specs.  For example, I just spent a 4 day weekend not prototyping the cloud sync feature like I needed to, but re-writing some wireframes she did poorly.

2.  She doesn't have much money, which is fine.  I told her I would front all of the money if I made 9% APR on my investment.  This bothers her, as she feels I shouldn't make more money just because I'm the one bankrolling the entire operation.  She wants me to just donate my money for free.

3.  She wants a 51/49 arrangement of ownership.  Normally, I would be perfectly fine with this arrangement.  The problem is she wants the 51.  Not only is that ridiculous because I believe I'm doing more work, but I've seen how she reacts when we disagree on something and she feels threatened, and I'm certain she is going to want to put it to a vote instead of actually listening to me.


I think our partnership is about to implode.  This makes me sad, because I have spent months on this project.  The market is there;  the technical side is there.  It seems like a great opportunity.  Also, I will feel sad if she goes off and finds other people to do it with and makes millions of dollars.  However, it takes more than that to succeed, and I'm not going to do all this work to escape my corporate masters just to trade them for an emotional one.

Fortunately...I have learned some great lessons.  I got some experience dealing with emotional business people.  I learned the hard way that if you are going to contract work out, the written specs and wireframes are ridiculously important--they are more important than anything else, and the business people you are working with might not understand what it means to "sign off" on something.  They may look at it and say its ok, but you have to go in there and make sure they really understand whether something is missing.  They also may not understand that if a feature isn't in the spec, its not going to happen, not even if they mentioned it to you once a few months ago.

AAAAANNNNDDD.....she just responded saying we need to "finalize" our agreement in person.  No response to the parts of my email where I carefully laid out the three non negotiable things I won't budge on.  So I guess this conversation is going to have to make a few laps before it gets resolved.

Thursday, July 11, 2013

What's Depressing, Episode 1

You know what's depressing?  Seeing a girl that you already slept with appear on Plenty of Fish's "meet me" feature, and realizing she goes in the 'no' column.