Leading Engineers: 5 pivotal lessons from my journey in a tech unicorn
Over ten years ago, I started as a Software Engineer Intern at Infobip, a company at the forefront of communication tech. These are the lessons I learned, crucial for anyone in tech.
What began as a first step into the tech world turned into a climb through the ranks, where along the way I was managing a department of over 150 brilliant engineers.
This wasn’t just about moving up a career ladder; it was a series of learning moments, each with its own set of challenges and victories.
From these experiences I’ve pulled together five key lessons that have shaped my career. These insights are crucial for anyone in tech, whether you’re coding your first app or running a large engineering department.
Lesson 1: Focus on Stakeholders Management
In a tech company, it’s not just about how good you are with technology; it’s also about how well you can talk about your work.
Sure, being great at coding is important, but it doesn’t mean much if you can’t share your ideas and coordinate with other teams. I’ve seen projects with the best technical potential hit roadblocks because the team couldn’t get their message across.
And it’s not just about internal team communication; it’s crucial to maintain clear and regular contact with all stakeholders involved.
I remember when we were launching our new Customer Portal, we faced a significant challenge. We had ten teams, including product managers and designers, all needing to work together, involving more than 50 people. Every part of the project had to be ready by a specific date.
However, we didn’t have an effective way for everyone to communicate. Teams were only focused on their tasks and missed the bigger picture. When one team fell behind on a crucial feature and failed to communicate this delay, it caused a major issue. Our stakeholders (in this case the product managers) were really disappointed as the launch had already been communicated to our clients, and we had to postpone it by two weeks.
To prevent future failures and ensure a successful launch in the next two weeks, we made some changes.
- We established a direct communication channel by creating a unified Slack channel that included all teams, designers, and product managers working on the launch. This eliminated miscommunication and allowed everyone to see what was happening in real-time.
- We also appointed a central technical leader to steer the launch. This person played a crucial role in ensuring that all teams worked together smoothly. They coordinated efforts, ensured everyone understood their tasks, and verified that all technical dependencies were promptly addressed.
- We started holding daily meetings where teams could showcase the features they developed as the launch approached.
When everyone is clear about the project’s direction and status, the entire team can move forward quickly and successfully.
Here are some practical actions that made a significant impact on me following this experience:
- Unified Communication Channels: Creating a central channel for all project-related communication ensured that every team member, including stakeholders, stay informed. Utilize the main communication tool your company prefers. At Infobip, I usually use a dedicated Slack channel for each project or task.
- Regular Review Sessions: Consistent review sessions enabled us to track our progress and share updates with stakeholders. These meetings were key in celebrating our achievements, identifying and addressing roadblocks, and fine-tuning our strategy as needed. Depending on the project phase, review sessions could be weekly, bi-weekly, or even more frequent, but they should ideally last no longer than 30 minutes to an hour.
During these sessions, the technical team is expected to present developed features to stakeholders and seek their feedback. Besides showcasing features, it’s crucial to communicate any new developments, impediments, or blockers. Actions to address these issues should be clearly defined, with specific individuals assigned to resolve them. Ensuring that future steps are well-defined and have designated owners is vital for maintaining accountability. Remember, if it’s not documented, it doesn’t exist.
- Technical Leadership: Assigning a specific technical leader for each project or task ensured that our technical choices were fully aligned with our strategic goals, synchronized across all technical teams, and by regularly updating our stakeholders, we kept them in the loop about any changes and advancements. Without establishing clear leadership and responsibility, you risk disorganization and failure.
- Stakeholder Management: Keeping an open line of communication with stakeholders, regularly sharing updates, and asking for their feedback ensures that your team is well-informed and that stakeholders are kept in the loop and satisfied. For instance, during the launch of our new Customer Portal, we encountered a significant challenge when we realized a crucial feature was behind schedule. Unfortunately, we hadn’t communicated this delay to our product managers in advance, leading to premature notification of the launch date to our clients.
If we had ensured proactive communication with our product managers about the inability to deliver the critical feature before the deadline, our clients would not have been notified about the release date prematurely. This oversight highlighted the vital role of timely and open communication with stakeholders to manage expectations and maintain trust.
Lesson 2: Being an engineering leader means not being the smartest person in the room
Stepping into a leadership role taught me this: your job isn’t about having all the answers, but about how you bring people together to find those answers.
This lesson became even more relevant two years ago when I took on a new challenge by moving from leading the department where customer-oriented applications were developed to heading up the Data Department.
Coming from a strong background in Java, I found myself in unfamiliar territory with database management and platform development. This role change wasn’t just about taking on new responsibilities; it was about delving into areas where I had much to learn about the system and its operations.
One of my first tasks in the Data Department was to set the strategic direction and roadmap for the year – a daunting task, considering my initial lack of expertise in these areas.
Despite the challenges, I viewed my shift to the Data Department not as a setback but as a significant opportunity to demonstrate real leadership. Aware of my initial gaps in this new area, I chose not to make decisions on my own. I knew my team included individuals with deep insights and extensive experience in data systems-knowledge I was just starting to grasp.
To fully tap into this collective wisdom, I organized two days of face-to-face meetings with key senior members of the department. Before these meetings, I had prepared by having one-on-one discussions with all senior members and stakeholders, collecting their thoughts on what would work best for our strategy and roadmap. This wasn’t about just throwing ideas around; it was about deeply engaging in dialogue, questioning what we thought we knew, and piecing together a strategy that best reflected our collective intelligence.
The two-day session was transformative. It wasn’t simply a brainstorm; it was a carefully planned strategy session where every idea was considered, and the best ones were chosen together. This approach underscored the value of collaborative intelligence and led to better ideas; it made everyone feel valued and confident in our mission. It showed me that leadership isn’t just about giving orders and being the smartest person; it’s about listening, understanding, and bringing together diverse perspectives to find the best path forward.
Lesson 3: Past successes don’t guarantee future wins
Here’s a truth I’ve learned: just because something worked before doesn’t mean it will work again. Every new project, team, department, or company is different, and what succeeded in the past might not fit the puzzle you’re working on now.
When I joined new teams, my first move wasn’t to impose my old playbook. It was to watch, listen, and understand the unique flow of the new group and the technology they worked on.
When having 1-on-1 meetings with team members, managers, and stakeholders, I started by asking a simple question: “How can I help you?”. This opened up a dialogue and set the stage for mutual respect and collaboration, an naturally reduced resistance and friction.
When you ask how you can help, you’re identifying the movers and shakers, the ones who can help navigate through changes, and you’re showing that you’re there to support and enhance their process.
This was especially clear when I joined the Data department.
Initially, I noticed a disconnect between prioritized tasks and the company’s overarching goals. Stakeholders were growing impatient with delays in implementation, and there was a noticeable gap in communication across teams. Despite my previous experience, which was mainly in leading a department where development focused on specific product and client use cases, I found myself facing a different beast. The Data team lacked the support of product managers, a gap I recognized needed filling. However, instead of imposing solutions based on my past successes, I opted for a more inclusive approach.
I began by consulting key team members to grasp their challenges in task prioritization and stakeholder satisfaction. Through questions like, ‘How can I assist in clarifying priorities?’ and exploring their workflows and obstacles, we started addressing issues together.
Instead of immediately hiring a product manager, as initially considered, we sought alternative solutions for swift implementation.
Our collective brainstorming led us to adopt a top-down goal-setting approach aligned with the company’s strategy and stakeholders’ expectations. We designated senior members to liaise with different streams (Cpaas, SaaS, and Infrastructure), effectively taking on some of the product manager’s roles. Through weekly meetings aimed at stream alignment and prioritization, we established a transparent system that kept both team members and stakeholders informed and aligned. This strategy significantly improved feedback within a few months, even without bringing a dedicated product manager on board.
This experience reinforced the lesson that being adaptable and open to feedback is crucial. Understanding the unique dynamics of the current environment and collaborating to find tailored solutions can lead to success, even when familiar paths seem easier. It’s a reminder that past victories, while valuable, don’t always prescribe the course for future achievements. Each new challenge requires a fresh perspective, not a rehash of old tactics.
Tailoring your approach to the present circumstances is crucial. Think of yourself as a coach who knows that last year’s plays won’t necessarily win this year’s games. You’ve got to assess what you have now, the latest technology, the team’s capabilities, and what you’re trying to achieve before you make your move.
Adopting this flexible mindset has been a game-changer for me. It has led to greater acceptance of new ideas, less pushback, and improved results. It keeps you on your toes, always ready to tackle the next challenge with a fresh perspective, not just reusing old tactics.
Lesson 4: Change is constant, embrace it
In the tech world, staying static means falling behind. The landscape changes so fast that what’s revolutionary today might be obsolete tomorrow. Through my experiences, I’ve come to understand the vital importance of being adaptable and open to integrating new technologies into one’s endeavors.
For instance, incorporating AI tools like GitHub Copilot into our coding process serves as an example of leveraging new changes to speed up development, improve outcomes, and bring new features faster on the market.
- Embrace Change with Open Arms
Recognizing new methods, tools, frameworks, or system improvements as opportunities are essential. Whether it’s implementing agile methodology to boost execution or adopting new programming languages for better performance and security, embracing change propels us forward.
When considering a change, evaluate its impact: Does it improve our processes or systems? Is it in line with our company’s strategic direction? Will it benefit our stakeholders and customers? These questions help weigh the value of each potential change.
- Agility in Learning and Development
Encouraging continuous learning within your people is key. It’s about being swift to adapt to new tools and technologies. But it’s not just about tools; it’s about developing a mindset within your team that’s open to changing technologies, projects, teams, and even departments if it serves the company’s goals.
This way of being flexible, seeing it as a tool to prepare people for change, makes sure we’re not only addressing the current needs of our projects but also working towards the main goals of our company. It keeps us agile, innovative, and, most importantly, ahead.
Lesson 5: Find yourself a mentor who isn’t your boss
Mentorship is a catalyst for growth, whether you’re in a technical role or a leadership position. Throughout my career, I’ve been fortunate to have line managers who were exceptional mentors. However, it’s important not to limit your search for mentorship to those directly above you in the job hierarchy. The broader your circle of mentors, the richer your learning and development will be.
- Guidance and Insights: A mentor’s experience and tailored advice can illuminate your path, whether you’re solving a complex technical problem or navigating team dynamics. They offer perspectives that enrich your understanding and decision-making. Furthermore, don’t overlook the power of situational mentorship – feel free to seek advice from those who can offer specific guidance tailored to your current challenges or goals.
- Accelerated Growth: With a mentor’s support, you can avoid common pitfalls and seize the right opportunities, leading to quicker professional advancement and better decision-making. As you experience growth, remember the value of mentorship and strive to become a mentor yourself. Sharing your knowledge and experiences can not only help others in their journeys but also enhance your own understanding and skills.
Thriving in the tech industry requires more than just technical expertise
Reflecting on my decade-long journey at Infobip, it’s evident that excelling in the tech industry goes beyond mastering technical skills; it hinges on a commitment to never stop learning, both in technology and leadership.
This journey has underscored the importance of adaptability, effective communication, and embracing mentorship. Each lesson learned has not only molded me into the leader I am today but also reinforced the necessity of continuous learning to navigate the ever-changing landscapes of technology and leadership effectively.
My experience has deeply rooted in me the value of perpetual growth, adaptability, and collaborative success, emphasizing that our development is an ongoing process that demands proactive participation.