Previous Entry Share Next Entry
coaching my guys
swing
amw
Work is intense. Since New Year's the full team is back and i have hit the ground running. I'm at work till 6-6:30 every day, sometimes later, and i'm not the only one. It's nice to be working at a company where people actually want to get shit done. Whether it's out of passion or duty is beside the point, at least i don't feel like the only one who gives a shit any more. And that is the mantra i keep repeating to myself. Because this place is most assuredly not the wonderland i hoped for. But then, even though i hoped for it, i never really expected it, so here we are, Zen again.

So, the new gig. Even though they develop on weekly cycles and deploy every week, they are so far from agile it's not funny. The startup vibe is totally not there. Which, okay, when you have over a thousand employees you can't expect that. But it also means there are a bunch of what i call "bank developers" - the guys who are used to working for bureaucratic blue chips who think working at an internet company just means they don't have to wear a tie. In reality successful internet companies need to break free of that whole waterfalls and silos model and get their processes as lean as possible, because otherwise 5 dudes working out of a Starbucks in Palo Alto will eat you for breakfast. This is the "adolescent startup" phase our company is in. While the guys upstairs are making moves to IPO this year, some of the oldskool guys on the ground are still reeling from the English-language mandate and half the newskool guys are bringing in a blue chip mindset that looks good on their resumés, but could badly break the momentum for a company that is not yet at the "too big to fail" point like Amazon or Google.

Enter, me. One of the things my interviewers picked up on was my background in agile development and passion for improving processes. Although i was hired as a "developer", they could see i might be able to help encourage the team in a more cooperative and productive direction. Those wheels have been slowly coming into motion. Last month there was a big restructure of my product group, from 3 horizontal teams into 6 vertical ones. This is a very small first step toward making things more agile, although from talking with my colleagues that message has not been communicated very well outside of product management. Some of the other product groups in the company have self-organized into Scrum- and Kanban-like teams, but we're still trying to get our 60 guys to understand that product management, software development and quality assurance are not three competing factions. The new engineering head of our group who comes from a lean startup background has taken me aside to talk about how to solve this, and next week i am having my first get-together with two other guys to talk about how we can evangelize agile processes to a bunch of dudes who are already stressed out and frustrated with the restructure. The plan is to officially name the three of us Agile Coaches, the ones people can come to when they are confused or unhappy with the process. My hope is that by announcing this officially, we will also be able to coax the process a little more actively, and not look so much like naïve optimists shouting at the wind. But it is a very difficult situation because the existing process has become so entrenched, and with the guys upstairs focusing on profitability for the IPO, and the top guys in the tech department focusing on features to increase valuation, there isn't much bandwidth to get a consistent message to the guys on the ground.

Then, aside from this Agile Coach title, which will be a title and not a position, there is an opportunity for a not-yet-existing position they are calling Release Coordinator. This is sort of a DevOps-y concept of a project manager, not exactly a release management position (which is a term they use here for managing the quality of each release), and not exactly a project manager (who is more responsible for a project that may span multiple releases), but someone who stands outside the various vertical teams and makes sure that each of them are Getting Their Shit Done to ensure the whole product group gets their release out on-time, and who makes sure the other product groups are getting what they need from our product group each release, and vice versa. I've said i'm interested in the position, and while they are still fleshing out the exact responsibilities, i think it'd be a great place from which to improve the in-group development process and cross-group interaction through the whole technology department.

The danger is that because i'm a good software developer, my team lead in development might not want to give me up for a position outside of development. Because aside from all my nerding out about the business processes, i have also taken the reins of a new feature we are developing in my own team. Although on paper i'm not a senior developer (score one for the "flat hierarchy" German tech companies like so much), it's become clear to my team lead that i'm someone who can liaison with product management and QA, and help identify the work that needs to get done for developers. And because "team lead" in our company means "the one guy who is responsible for 30 developers on different teams", the role of kicking the ass of the developers on a particular team has fallen to me. At first i was very hands-off because i didn't want to walk in acting like i owned the place, but i spoke to my team lead yesterday evening before i left and he's given me the green-light to take a more active role in guiding the other developers on my team. That is an awesome thing, because i am so, so conscious of not walking all over my guys like an arrogant jackass, but because i wasn't sure how deep i could get "officially", i've been letting the more junior guys go off on tangents that have a negative impact on our code quality and team velocity.

Meanwhile, i still come home and tear my hair out that QA is basically a clique of German-speakers who rarely talk to any of the devs (many of whom are English-speakers) or that our PMs (many of whom come from a customer-facing/UX background) don't quite know how to break the features down for devs, and i want to cry when i realize the feature we're working on won't be released for months because they still haven't figured out how to do proper lean processes with minimum viable products and near-continuous deployment. But as frustrated as the process is making me, there are those shining lights here. There is that handful of guys in the company who ARE passionate about code quality, who DO want to improve the software, the process, the product, who really fucking care, just like me. And sure, it's not everyone, but that's okay - i didn't expect that. But unlike my last company, thank fucking Christ, it's Not Just Me. And that's my mantra, every day when i leave work at 6pm frustrated at my latest roadblock, there is another guy who stayed till 7pm and will be in the next morning before me. It's not a thundering behemoth of passion, but it is so, so much better than my last job, and a bunch of places i've worked, and there is so much potential i hope i can help unlock before i go completely insane.

And re-reading this i can't believe i'm talking like a fucking manager. Maybe it's finally time to grow up and realize that even though i swear like a sailor and have tattoos and go to raves and wear hoodies to work, i do get this industry, and at this point in my career my value really does extend a bit further than just bashing out some sweet code. I wonder if i'll step up this time? I really do want to help these guys - all the guys - to be more productive and happier in their jobs. God. I've got a manager brain.
Tags:

?

Log in

No account? Create an account