I'm very happy to complete my 8th year at 10Pines, and I would like to share, for each year I've worked here, the biggest challenge I had and what I think I could have done better. In other words, the most important lessons learned each year.
Year One: “Absorb as much as you can”. I've been a lucky person. I was the first junior developer 10Pines ever hired. I was 21 years old and I had not had any experience in the software industry. Everyone around me was super super senior, not only in software development, but also in life. So basically every conversation, every pairing opportunity, every meeting I attended had me paying a lot of attention, hearing with my CPU at 100%, and trying to absorb those waves of knowledge. I learned a lot of things, it felt like two or three years of work. I'd say my biggest failure in those days was to stay as shy as I was when I started.
Year Three: “A Focus Year”. In contrast to the previous year, I had fewer languages to learn so I had time to improve my skillset in general. Focus on certain technologies, learning more concepts in depth. Being more professional, improving Git skills, proficient about IDEs (shortcuts, debugging, automation of tasks), and being more participative in meetings. I'd say this was the year where I could grow in different aspects. On the other hand, I felt I started to fall into a comfort zone.
Year Four: “Alright. Let's mentor!” The first versions of our apprenticeship program started and I felt I had to give something back of everything I had learned and help from my few years of experience. So I helped as a mentor. It was an enriching experience, though I felt I was not contributing enough to the design/technical discussions and realized I had a lot to learn for the future before doing more mentoring. It was at that point when I realized that “I know that I don’t know”.
Year Five: “Facing a big project”. At the end of the previous year I had started to work on the project I'm still working on today, which presented me a lot of new challenges: huge codebase full of tech debt, ~20 developers distributed team, complex infrastructure, many stakeholders to interact with, challenging requirements, keeping a 24/7 system running, and making mistakes: the biggest two I remember were (a) force pushing my feature branch to master, triggering a production deploy; and (b) changing in production a fee price to $55 when it should have been $5!. What could I have done better? Questioning and understanding more the requirements, and help the teams to improve, not just writing a bunch of pull requests to get things done.
Year Six: “A Crash Course on Agility” As I gained more confidence I was able to build stronger relationships with stakeholders. I started to participate more in meetings, thinking more about processes and how they could be improved. This was a different year, more people-oriented, while another part of me was still paying attention to implementation and technical details. I facilitated meetings like retros which was very fun. My biggest weakness during this year was that even though I went through new experiences, I felt I never got out of my comfort zone. Agility is not just having ceremonies, it's also about thinking in cultural changes that usually trigger difficult conversations, arguing and negotiating (for example, when planning technical debt). I did just a little of that.
Year Seven: “Growing by helping people around you to grow”. I started the year very tired. This was the first year where I questioned how I was managing my time. I still remember a great conversation I had with John Figueiredo, one of the greatest leaders I’ve met and had the pleasure to work with. He told me to think about the “multipliers” of each task I did (as a way to think about the value I’m adding or not). For example, coding a bugfix could be considered a 1x task; pairing to unblock a person, a 2x; and doing a knowledge transfer session, a 5x. I realized I was doing too many things, and most of them were 1x!. That's when I took mentoring more seriously, and I started to help several pines to reach their goals, defining challenges for them and coaching them on technical/human skills. And I think I failed at following up on those goals, I ended up postponing meetings and interesting conversations because I wasn’t able to fully balance project time and mentoring time.
Year Eight: “Stop to see the forest behind the trees”: Again, a pause to reflect about my career, my current role in the different teams and which adjustments I needed to make. I tried to be deeper in conversations, digging to get to the root of some situations and facing tough problems I hadn't tackled so far. I went through a process of proposing and preparing a presentation for an international programming conference, which was scary but fun! I realized how much I needed to improve my emotional intelligence, and the way I approached certain tech concepts that require complete and deep understanding. I questioned myself things like: “I’ve been working with Rails for ~6 years and I don’t know how X works in-depth”. Another moment where I realized a lot more stuff I don't know.
So, all in all, what a journey it's been! But I wonder, what will the 9th year look like? I'm not sure, to be honest. It’s a road less paved than in my earliest years, but I'm pretty certain it will definitely have something to do with improving leadership skills and training myself to be more professional. I'm sure 10Pines has something for me and, no doubt, after all these years, I have something for 10Pines!