I work for a tech company, now, doing "analysis" for a C-level executive. That is to say, I investigate, analyze, write up, and in some cases roving-audit what our company is doing in the IT space and report to him on a regular basis. Sounds like the ideal job for me, and in many ways, it absolutely is.
Recently, I was tasked with handling the infrastructure planning and buildout necessary to support the launch of a new product - a small product offering, initially, to be sure, but one completely separate from our existing service and hosting infrastructure. I was given fairly vague inputs and requirements, vague guidance on budget, and not enough time to do the job properly.
That last is the problem. I have been running around our company taking careful note of where we do things 'like a startup' that we should be doing 'like an enterprise.' I've been doing this for long enough, and with enough focus, that when I was given this task I accepted it - and then instantly snowed myself into a standstill thinking about all the things that a proper project plan would need in order to get done in the timeframe given, with the staffing available (i.e. me).
See, I never did that. It's not what I do. I know what not to do for 'sustainable and process-oriented deployment' because it's what I used to do all the time; I'm an ops ninja, if I can blow my own horn just slightly. I liked to get handed tasks with stupid requirements and even stupider resource commitments so that I could say "Okay, then, you want it to what? By when? Fine. Just don't ask me how it's doing it, don't look in the server room, and for God's sake get a real team working on building the next, proper version of the infrastructure so that we can rotate onto that when it's available, but in the meantime, I'll ninja your shit."
My friend listened to me complain about the lack of requirements, the lack of input data, the lack of staffing, and the lack of a project management skillset for about half an hour. Then he said: "Dude, some people build things, and some people break things. You're an ops ninja. You break things. You make shit happen in impossible situations when that's what the company needs done. Stop trying to do shit in a manner which you don't do, and be yourself. You can't fix how your company does things at the same time doing a project in a manner that's almost entirely new to you with insufficient support."
He's absolutely right. I need to do one thing, and in this case, that's make sure the infrastructure is available to run the product when it needs to go to production. That's it. Sure, it would be nice if I could do this in a completely documented, trivially scalable, enterprise grade manner; but realistically, that's not what I do. Good, fast, cheap, pick any two? I'm the latter two, thanks.
Now, my job is still to improve how we do things. But I need to remember not to let that get in the way of the more urgent, tactical objective: to get this code hosted and available when go-time comes.
Time to slide the wakizashi out, flip out, and kill the whole town. Because ninjas are flippin' sweet.
Posted by jbz at March 25, 2008 12:21 AM