500 Words — Day Forty-Three: Retrospective
Tomorrow is the last day of my first job and the past four years have certainly been a blur. I have learned so much growing from a quiet junior developer to a confident software lead over that period of time. Even though things didn’t end how I wanted them to, I’m still grateful for the past four years and the people and projects I have gotten to know and work with. Even though the last four years have been a struggle, it’s the struggle that really forces you to grow, evolve, and adapt and I wouldn’t have become the engineer I am today without that experience.
The retrospective meeting occurs at the end of the sprint and tomorrow will be my last retrospective and my last official meeting with the team. In the retrospective, we are given the opportunity to discuss the highs and lows of the sprint. From there, we analyze what things worked and what things didn’t and then attempt to take the information to try and adapt the development process to grow from that information. While the last four years have been more like an ultramarathon rather than a sprint, it is good to reflect and try to evolve one’s personal process and hopefully take away some real lessons that can be taken into the next sprint, marathon, and ultramarathon.
There were so many things that ended up working out for me and I’m grateful that I was fortunate to uncover these things during these past four years. Being able to not only feel the pain of things being vastly broken, but being given the autonomy to influence change and to correct course was something I really appreciated and really allowed me continuously develop into the developer I am today. Whether it was being stuck in reviews that took several weeks or try to run a project with no clear direction or trying to drive a team to meeting an impossible schedule, being able to suffer, learn, and then influence change has really made the experience so valuable. Even though, I ended up not getting to deliver the vision I sought out in the beginning, I learned so many different ways not to get there and along the way found tricks and techniques to improve the process to get just a little closer. To try and move an outdated organization into a more agile one has been such a tough process but getting an opportunity to experience those failures, even though they suck in the moment, really gives me so much to build upon. And through these lessons, we were able to make progress and meet smaller milestones that we couldn’t have achieved without that initial pain.
Ultimately, the biggest issue was running out of time and trying to pretend it was never an issue. The pressure and the desire to succeed made us hesitant to be honest with our situation and it made things tough. I believe that everyone wanted things to work out and for our projects to be delivered as a success, but we were a small and young team and ultimately we paid for our lack of experience and initial optimism. And we took too long to adapt and speak up about that fact and ultimately it wore out the team and burnt me out. While I learned a lot with the freedom that I was given to fail, that lack of structure really started to press on the team and frustrate some of us that saw the massive problems ahead of us. And we gave it a good try to push through those problems, but eventually I found myself exhausted and unhappy with my work and the inability to see a path to completion. I could have been more honest about that and I wish I spoke up more with regards to those feelings, but I guess I didn’t want to be the deliverer of bad news and just delayed the inevitable and eventually the bad news had to get out. Also, I felt by hiding this feeling I ended up being more negative and that negativity infected the team and probably hurt more than help.
Moving forward, I need to become more vocal about issues that I see that I can’t control. It’s easy for someone who has always been a top performer to try and put the team on their back and carry the team to completion, but we’re all mortal and this was something I never could do by myself. So moving forward, I want to be more transparent. I also want to be more positive and to focus less on the immediate results and focus more on the progress and the long term picture. While the team failed a lot and didn’t reach any of its major goals while I was there, we made so much progress and did so much great work with the size of the team we had. Everyone I had an opportunity to work with that contributed to the project grew so much and contributed more than I ever could have imagined when I became the lead three years ago. While the overwhelming pressure got to my spirits here, there’s a lot to be proud of and I want to be able to view the positive and be someone that fuels a team with my energy rather than focus on arbitrary failures and take away from the team’s momentum. This means giving the team more praise for their accomplishments and turning criticism into a constructive process that moves towards our goals. In the end, every failure given the right attitude and approach can be used as a launching pad to correct course and get better.
Anyways, that’s all I have to say. I’ll be sure to use those points in retrospective tomorrow and hopefully the folks that remain can take something away to become an even better leader than I was during my tenure steering the software ship. I’m excited to apply these lessons learned towards my next venture and hopefully continue to grow and advance as a developer, as a professional, and as a leader.