For the next 4 months, I will be joining another team dedicated to making our software better and addressing customer issues. I am excited for the change and optimistic about the problems I will be solving.
In the fall the company I work for started implementing a rotation program where developers throughout various teams join a single team working on client facing issues. Every team sends one developer for a standard rotation of 4 months and the first set of developers are now returning to their original teams. I did not get to participate the first time around, but excitedly volunteered to be next in line when the first developers joined the team.
FOMO - Fear of Missing Out
Although it is now my turn to go I have been having trouble wrestling with a distinct feeling of missing out. An extreme case of FOMO developed that I needed to reason through.
My current team does amazing things which continue to shift how our company operates and is at the helm of a very important project. We have hit a few milestones and continue to ramp up. Our next big project would be brand new territory that will drive forward a number of technical initiatives and directions.
Loving a good challenge, I am sad to not be taking part in this new work, but felt it was important to follow through and join the rotation as planned. Over the course of the current project I realized I am not very good at letting things go without participating. This will be hard for me to not be in the thick of it, but is a good opportunity to take the back seat for a while.
Excited to Learn
I love change and learning new things. With all the new things I will be doing and chances to learn I am excited about this new opportunity. Hopefully, I will become better developer as a result.
The problems and code I will be getting into during this temporary placement are going to be like drinking from a fire hose. The rotation will entail working on a code base I have limited knowledge of and is dauntingly large. It has been maintained by hundreds of people for over five years with no signs of slowing down.
This means I will get to learn new things from old code. There will be the good, the bad and the ugly. There will be surprising things. There will be things that make me cry. Through all this I hope to become a better developer by being exposed to as much code as possible. This idea comes from Scott Hanselman and his infinite Weekly Source Code series. He started this series years ago and has shown many fascinating projects each with their own thing to offer. I feel the code I am about to dive into head first will be no exception.
Another unique aspect of the team is that everyone else is also on rotation. This helps mix things up throughout the company. Different teams do things in their own way and cross pollinating all these developers and testers will invariably help spread ideas. There will be plenty of opportunities to work along side diverse people as others move in and out of the team.
While the projects I have been working on have a massive impact to the company they tend to be internally focused and tools oriented. The new projects I will work on have direct links to end users. In some ways this will be breaking out of my current development silo; branching out to a different domain with different constraints and obstacles.
The impact to individual users is more meaningful and tangible. Improving the performance of a build or deployment by 10% doesn’t help users understand their courses better. Fixing a long standing issue or improving navigation might be the difference a student needs to graduate. Who knows, I am an optimist.
I am looking forward to what the future holds and excited for this opportunity. There will be many chances to learn new things and improve as developer. The problem domain is motivating for me thanks to the potential to help others. I an confident my experiences will pull me outside of my comfort zone and help me grow. It is going to be great.
Ch-Ch-Changes!
What does this change mean for wonderful readers like yourself?
Depending on the problems I tackle I might try to do more deep dive / troubleshooting oriented posts. I have been working on a few posts where I take a problem we encountered and walk through the entire story. These posts have been really rewarding and I think you are going to enjoy them.
A crucial part of fixing issues will be testing and validation. It is one thing to hack a fix together and another to prevent the problem from ever happening again. Lately, our team has been exploring better ways to validate our applications and deliver higher quality products.
Topics like Continuous Delivery, deployment, automation and releasing software will still be present, but might not be as prominent until I return to my normal team. You cannot completely change who you are and I am sure I will bring my need for simple and reliable releases to this new challenge.
Stick around. I think you are going to like it.
Unlike Katniss I am happy to go. I was not sure if I could use the actual Hunger Games picture (or Brick Tamland) for this post so settled for this patient volunteer tending flowers. I highly recommend looking at the full sized image to see the entire picture.