I get bored easily. If I go to work and I only have my work to concentrate on I get bored and frustrated very quickly. This is why I always create side projects in the office.
The added benefit of my little projects is that they have helped immensely in my career. With a little bit of promotion and support from the higher ups these things tend to get well publicised and I get a lot of credit, which is great for the end of year review. It doesn’t even matter if it fails (although it’s obviously nice if it doesn’t). It’s the trying that matters.
What sort of projects am I talking about? Here’s a couple of examples from the last few years.
Dev Sharing Club, aka “The Developer Alliance”
One of my frustrations at work had always been the lack of cross team sharing. I’m not talking about the boring management-mandated “here is an hour of me talking about my project which you know nothing about and will forget about afterwards”. I mean genuine, useful sharing.
This meant that people had to volunteer to do it. They had to want to share something. The only rules were this:
Presentations were by developers, for developers
They could be on anything. It didn’t even have to be related to work
That’s it. I corralled a few friends to give the first few sessions to get it going and it became self perpetuating. We had talks on everything from new frameworks and languages, development practices, and even people showcasing their outside-of-work projects. Teams even shared their own projects, but instead of a boring overview would deep dive into interesting challenges they’d overcome or needed help with. The best sessions were the “lab” sessions where developers would teach an interactive workshop, perhaps on TDD or how to start with MongoDB.
This meant a lot of people got to meet other developers they wouldn’t have had chance to before. It meant everyone got to learn a ton of new stuff. Unsurprisingly, management loved it for this reason and jumped on board to provide resources and encouragement.
From my perspective it was low maintenance. Help keep the wiki clean and up to date, book a room, send some promotional mailouts, and occasionally ask new people and teams to present. It was interesting and meant I got to increase my network which was great for me. When it came to end of year reviews it was repeatedly brought up as a really positive initiative and my rating reflected this.
The Upskilling/Team Building Initiative
This one took a bit more work but conversely is a great idea for people trying to cement themselves as a senior developer in the department. In this training I grabbed a few other developers to help me with the organization. We took a selection of junior developers from across the department (between 8-16) and chucked them into a bunch of cheesy team building exercises (with enough googling you can find ones which are genuinely fun and not cringeworthy). After everyone got to know each other we had 4 managers come in and present a project each- the idea was that the project be something which could make a real difference and needed some of the “best and brightest” to tackle it.
With the projects presented, we got the devs to make self forming teams- they went on the project they wanted to go on, with the people they wanted to work with. Then we set them loose! We had regular check in meetings and provided guidance, as the teams had 3 months before the final presentation. As I’ve discussed before, mentoring is one of the most important things for developers looking to become more senior, and this is a great opportunity to mentor a number of people simultaneously.
At the end of the 3 months the teams then presented their findings to a group of senior management that we’d managed to get interested, providing the juniors with a great opportunity to practice presenting to senior management. As the organizers we obviously got to associate our names with the projects which was a nice plus for us.
Although organizing a development course was a bit more involved it was certainly worth doing for everyone involved.
You Don’t Need to Invent Something Yourself
If you’re in a sizeable organization then there’s a good chance there’s something already going on somewhere. We had a big developers forum trying to help improve life for developers in the org where I worked, and my stuff very much complimented what they were doing but on a smaller scale. I also joined the developer forum to help make a difference from the inside. I was actively involved in a number of initiatives and proposed a number too. This group already had a name and reputation in the firm which meant by being associated with it my own name became well known and I was given networking opportunities I wouldn’t have had otherwise.