Skip to main content

Transforming Systems Operations Teams into a Unified Platform Team: The Cultural Change

· 5 min read
Alvaro Jose
Fractional CTO & Founder

Over the last months, I've witnessed firsthand the transformation of my team from a basic operation provider to an internal service provider.

In many organizations, systems operations teams are often segmented into specialized units such as DBA, backend operations, networking, etc. While this specialization ensures deep expertise and support to teams in complex situations. It also leads to inefficiencies as it focuses on the reactiveness to the needs of the teams & company and not a proactive approach towards the same long-term needs due to the lack of common vision. It also has the drawback that enforces the dev vs ops culture and not a DevOps culture that has shown over and over again the positive effect on quality and speed of delivery of stream-aligned teams.

’DevOps’ or ‘Dev vs Ops’

Traditionally, Dev and Ops teams have operated in silos, each with their own distinct goals and priorities.

FocusPriorities
Dev CultureDevelopment teams are primarily focused on creating new features, writing code, and ensuring the software meets user requirements.Speed and innovation
Ops CultureOperations teams are responsible for maintaining the stability, security, and performance of the software in production environments.Reliability and uptime

This separation can lead to several challenges:

  • Communication Barriers: Lack of communication between Dev and Ops can result in misunderstandings and delays. Developers may not fully understand the operational constraints, while Ops may struggle with the rapid pace of development.
  • Conflicting Goals: Developers prioritize speed and innovation, while Ops prioritize stability and reliability. These conflicting goals can create friction and hinder collaboration.
  • Inefficiencies: Siloed teams often duplicate efforts and use different tools, leading to inefficiencies and wasted resources.

The DevOps Solution

The goal of DevOps is to create a culture of ownership to stream aligned teams to do development and operations, breaking down traditional silos and fostering a more integrated approach to software delivery. While the existing operations teams become a provider of abstractions that simplifies that work, reducing the cognitive load of operating the system.

This brings the next benefits:

  • Enhanced Collaboration: Breaking down silos fosters a culture of collaboration, enabling teams to work together more effectively and share knowledge.
  • Improved Efficiency: Streamlined workflows and standardized tools reduce redundancy and improve operational efficiency.
  • Greater Innovation: A unified approach allows teams to quickly adapt to new technologies and methodologies, driving innovation and continuous improvement.
  • Customer-Centric Approach: By aligning development and operations goals, teams can better understand and meet the needs of end-users, resulting in higher customer satisfaction.

The Birth of the Platform Team

A platform team acts as a service provider for all internal stream-aligned teams, offering essential tools, infrastructure, and support to streamline their work and enhance productivity. We could start enumerating systems and solutions that a platform team can own. But the reality is that would be the same as creating a product without doing any research on your clients.

To truly drive value within an organization, a platform team must deeply understand and address the needs of stream-aligned teams. These teams are directly responsible for delivering products and services to customers, and their success hinges on the support and resources provided by the platform team. Here’s how a platform team can effectively drive value by focusing on the needs of stream-aligned teams:

  • Active Engagement and Communication: work collaboratively with stream-aligned teams to develop solutions that address their specific pain points, fostering a sense of shared responsibility and mutual support.
  • Continuous Improvement and Innovation: Implement iterative development practices to continuously refine and improve tools and services.
  • Metrics and Performance Tracking: Establish key performance indicators (KPIs) to measure the effectiveness of the platform team’s support and use data-driven approaches to make informed decisions about resource allocation and process improvements.
  • Empowerment and Autonomy: Develop self-service platforms that empower stream-aligned teams to manage their own resources and workflows, and provide comprehensive training and support to ensure proficiency in using the tools and services offered by the platform team.

The key benefits this strategy tries to achieve are:

  • Efficiency: By centralizing infrastructure management, tooling, and support, the platform team reduces redundancy and improves operational efficiency. Stream-aligned teams can focus on delivering value to customers without worrying about underlying infrastructure.
  • Consistency: Standardized tools and processes ensure consistency across the organization, making it easier to manage and scale applications.
  • Reliability: A dedicated platform team ensures that the infrastructure is reliable and secure, minimizing downtime and enhancing the overall stability of applications.

Closing thoughts

By fostering a culture of ownership and collaboration, and by providing abstractions that simplify operations, the platform team can significantly reduce the cognitive load on stream-aligned teams. This transformation brings enhanced collaboration, improved efficiency, greater innovation, and a customer-centric approach, ultimately driving the success of the organization.

As we continue to evolve, the key to driving value lies in deeply understanding and addressing the needs of stream-aligned teams. Through active engagement, continuous improvement, metrics tracking, and empowerment, the platform team can ensure that stream-aligned teams are equipped to deliver exceptional products and services to our customers. This strategy not only centralizes infrastructure management and standardizes tools but also ensures reliability and consistency across the organization, paving the way for sustained growth and success.

The Role of Transparency in Leadership: How You can Build Trust and Healthy Chains of Command

· 6 min read
Alvaro Jose
Fractional CTO & Founder

As someone who has spent years navigating the complexities of engineering leadership, I can tell you that transparency is one of the most critical elements of effective leadership. If you're aspiring to take on a leadership role, understanding the importance of transparency and how it contributes to a healthy chain of command is essential.

image.png

Why Transparency Matters

Transparency in leadership is about being open, honest, and straightforward with your team. It involves sharing information, explaining decisions, and being clear about expectations and goals. This openness builds trust, fosters a culture of accountability, and encourages open communication.

When leaders are transparent, they create an environment where team members feel valued and respected. They know that their leaders are not hiding anything from them and that they can rely on the information provided. This helps to:

  • Building Trust and Credibility: Trust is not something that can be demanded; it must be earned. By being transparent, you demonstrate integrity and honesty, which are crucial for building credibility.
  • Encouraging Open Communication: When team members see that their leaders are open and honest, they are more likely to reciprocate. This creates a culture where everyone feels comfortable sharing their ideas, concerns, and feedback.
  • Fostering Accountability: When you are open about your own performance and hold yourself accountable for your actions, you encourage your team to do the same. This culture of accountability leads to higher performance and continuous improvement.
  • Enhancing Employee Morale and Engagement: Employees who work in a transparent environment are generally more satisfied and engaged. They appreciate knowing that their leaders are honest and forthcoming, which creates a sense of security and belonging. When employees feel informed and included in the decision-making process, they are more likely to be committed to the organization's mission and values.

Transparency in a Healthy Chain of Command

A healthy chain of command relies heavily on transparency. In a transparent organization, information flows freely up and down the hierarchy. Leaders at all levels are open about their decisions, goals, and challenges, which ensures that everyone is aligned and working towards the same objectives.

When transparency is lacking, it can lead to misunderstandings, mistrust, and a breakdown in communication. Team members may feel left out of the loop, leading to disengagement and decreased morale. On the other hand, a transparent chain of command fosters a sense of unity and collaboration, as everyone is aware of their roles and how they contribute to the organization's success.

The Importance of Avoiding Secrecy in Strategic Decisions

While there are instances where strategic secrecy is necessary, it's equally important to recognize the potential downsides of keeping strategic decisions hidden from your team. Transparency in strategic decision-making can significantly enhance trust, engagement, and overall organizational performance.

image.png

Here’s why avoiding secrecy in strategic decisions is crucial:

  • Enhancing Trust and Engagement: When leaders are transparent about strategic decisions, it builds trust within the team. Employees feel valued and respected when they are kept in the loop about the direction of the organization. This trust fosters a sense of ownership and commitment, leading to higher levels of engagement and motivation. Research has shown that organizations with high levels of trust and transparency tend to have more engaged employees, which directly correlates with improved performance and lower turnover rates.

  • Improving Decision Quality: Transparency in strategic decision-making encourages diverse perspectives and input from various levels of the organization. When employees are aware of the strategic direction and the reasons behind it, they can provide valuable insights and feedback that might not have been considered otherwise. This collaborative approach leads to more informed and well-rounded decisions, ultimately benefiting the organization.

    For example, a study by Harvard Business Review found that companies that involve employees in strategic planning processes are more likely to achieve their goals and adapt to changes effectively. By avoiding secrecy, leaders can tap into the collective intelligence of their team, leading to better outcomes.

  • Preventing Misinformation and Rumors: Secrecy can often lead to misinformation and rumors, which can be detrimental to organizational morale and cohesion. When employees are left in the dark, they may speculate and create their own narratives, which can lead to confusion and mistrust. By being transparent about strategic decisions, leaders can ensure that accurate information is disseminated, reducing the likelihood of rumors and fostering a more cohesive and informed team.

Conclusion

In conclusion, transparency is a cornerstone of effective leadership and a healthy chain of command. By being open and honest, leaders can build trust, encourage open communication, foster accountability, enhance employee morale, and drive organizational success. As you aspire to take on leadership roles, remember that transparency is not just a strategy; it's a commitment to creating a positive and thriving workplace culture.

Embrace transparency, and you'll be well on your way to becoming a trusted and effective leader.

Job Trial Period: A Two Way Street For Success

· 6 min read
Alvaro Jose
Fractional CTO & Founder

Dear readers, I am back. I apologize for the hiatus, it has been a few “interesting” months in my life that have made me reflect a lot on some topics that before I thought were trivial, and one-sided. I will try to share some thoughts over the next few posts. So let's start with a subject that is really fresh in my mind, as it's what has been affecting me over the last few months.

To the question “During your career, did to pass a Job trial period?” the most common answer will be “Yes”. Traditionally, it is viewed as a tool for employers to evaluate potential hires, nevertheless it's crucial to recognize that these periods serve a dual purpose. They are, in fact, a two-way street that benefits both employers and employees alike.

What is in for Us?

The trial period is an evaluation period, it can even be seen as an extension of the interview process, as you will never get to know a person you will spend most of your awake workday day with.

With this in mind, the same as in interview, we need to remember is not a one-sided evaluation, Employers should evaluate ROI & employees should evaluate company fitness.

From an employer's standpoint, trial periods offer several advantages:

  • Skill Assessment: Employers can evaluate a candidate's practical skills and how they apply their knowledge in real-world scenarios.
  • Cultural Fit: It provides an opportunity to assess how well the new hire integrates with the existing team and company culture.
  • Performance Evaluation: Employers can gauge the employee's productivity, work ethic, and ability to meet deadlines.
  • Risk Mitigation: If the employee doesn't meet expectations, the company can part ways with minimal legal and financial implications.

Equally important, but often overlooked, is the employee's perspective on trial periods:

  • Company Culture Experience: Employees can immerse themselves in the company culture and determine if it aligns with their values and work style.
  • Job Satisfaction Assessment: It allows individuals to evaluate if the role meets their expectations and career aspirations.
  • Team Dynamics: Employees can assess how well they work with their colleagues and immediate supervisors.
  • Work-Life Balance: The trial period offers insight into the company's approach to work-life balance and flexibility

Maximizing the Trial Period

To make the most of a job trial period, both parties should approach it with openness and clear communication:

  • Set Clear Expectations: Employers should outline specific goals and performance metrics for the trial period.
  • Regular Feedback: Implement a system for frequent, two-way feedback to address concerns and acknowledge progress.
  • Encourage Questions: Create an environment where the new hire feels comfortable asking questions and seeking clarification.
  • Provide Necessary Resources: Ensure the employee has all the tools and information needed to perform their job effectively.

To achieve this, we need to use the correct tools for the job

Onboarding Plan

An effective onboarding plan should contain:

  • Comprehensive introduction: Include an overview of the company's culture, policies, and procedures.
  • Role-specific training: Provide training tailored to the new employee's specific job responsibilities.
  • Introduction to team and colleagues: Facilitate meetings with team members and key personnel.
  • Resource provision: Ensure the employee has all necessary tools and information to perform their job effectively.
  • Assign a buddy: pair the employee with a more experienced colleague who can provide informal guidance and support that can help navigate the day-to-day aspects of the job.
  • Assign a mentor: pair the employee mentor is usually a more senior employee who can provide guidance, share industry insights, and help them grow in their role over a longer period.
  • Regular feedback sessions: as a manager, schedule frequent check-ins to address concerns and acknowledge progress.

A well-structured onboarding plan helps new employees quickly integrate into their roles and the organization, reducing the learning curve and increasing productivity during the trial period.

30-60-90 Plan

A 30-60-90 plan is a strategic framework used for onboarding new employees or setting goals for the first 90 days in a new role. It breaks down objectives and expectations into three distinct periods:

  • 30 days: Focus on learning and understanding the role, company culture, and immediate responsibilities.
  • 60 days: Begin contributing more actively, implementing initial strategies, and identifying areas for improvement.
  • 90 days: Fully integrate into the role, start driving results, and propose long-term strategies or improvements.

This plan helps structure the transition period, ensuring clear expectations and measurable progress for both the employee and the employer during the trial period, with a framework that can help focus the feedback and

Evaluation of the outcome of a trial period

Pass

When a trial period results in a successful outcome, it's important to celebrate this achievement. Both the employer and employee should acknowledge the positive experience and use it as a foundation for future growth.

This is an opportunity to set new goals, discuss career development plans, and reinforce the mutual commitment to success. A successful trial period can lead to increased motivation, job satisfaction, and a stronger sense of belonging within the organization.

No Pass by Employer

If an employer decides not to continue the employment relationship after the trial period, it's crucial to handle the situation professionally and sensitively.

The employer should provide clear, constructive feedback about why the trial was unsuccessful, focusing on the root cause without personal criticisms. This feedback can be valuable for the employee's future career development.

Additionally, the employer should ensure all legal and contractual obligations are met, including any notice periods or severance pay if applicable. Treating the departing employee with respect and dignity during this process is not only ethical, but also maintains the company's reputation as a fair employer.

No Pass by Employee

When an employee decides not to continue after the trial period, it's equally important to handle the situation professionally.

The employee should provide honest feedback about their experience, highlighting any misalignment or concerns that led to their decision. This feedback can be valuable for the employer to improve their onboarding process or workplace environment.

The employee should also ensure they fulfill any contractual obligations, such as providing proper notice.

Conclusion

Job trial periods are an opportunity for both parties to evaluate the potential for a long-term, mutually beneficial relationship. By approaching these periods with transparency, open communication, and a willingness to learn, both employers and employees can make informed decisions about their future together.

This period should not be demonized, even if it ends in a “No Pass”, it should be taken as a good outcome as it's a relationship that would have most probably failed, or would create friction and other risks down the road when legal obligation from both sides are more complex. If you're the employee, remember this is not a failure. Your worth remains unchanged—it simply wasn't the right fit or timing. If you're the employer, don't be too hard on yourself. Not all relationships work out. The best approach is to move forward and end things on the best terms possible.

Rethinking Technical Tasks: Define any task as user value

· 4 min read
Alvaro Jose
Fractional CTO & Founder

Have you ever considered the various types of tasks within a team? Why do we often separate tasks into 'technical' and 'product' categories? Is this division a reality, or is it simply a reflection of our difficulty in articulating the value of non-functional behavior?

The Current Concept of Technical Task

Technical tasks are typically considered those that involve the underlying work on non-functional related endeavors. These can include activities like updating dependencies, improving performance, etc. While they may not always have a direct visible impact on the end user, In reality, almost every task a development team undertakes has some level of impact on the product. Even tasks perceived as purely technical, such as improving code quality or optimizing performance, ultimately contribute to a better user experience and product reliability.

Understanding the Net Value of Tasks

Any team effort needs to have a clear purpose, whether it's technical or product-related.

IIf we approach our work with the previous quote in mind, any endeavor a team undertakes should yield a positive return on investment. Let's express this value as a simple formula:

$ = Value - Cost

where:

  • Value: The benefit or worth that a task or project brings to the organization, often measured in terms of revenue.
  • Cost: The amount of resources, including time, money, and effort, required to complete a task or project.

It's normally simpler to calculate the expected value of functional tasks because their impact on user experience and business metrics is more direct and measurable. However, even technical tasks, when evaluated through this lens, can reveal significant contributions to the product's overall value.

The benefit we will achieve from this approach is a more cohesive and efficient development process, where all tasks are recognized for their contribution to the product's success. This integrated approach to task management allows for more strategic prioritization. When all tasks are evaluated based on their potential impact on the product, teams can make more informed decisions about where to allocate their resources. This can result in more timely delivery of features and improvements, better risk management, and a more adaptable development process.

Example of Task Calculations

Functional Task: Adding a New Feature

Task: Implement a new user login feature.

  • Value: This feature is expected to increase user sign-ups by 5%, leading to an estimated increase in revenue of $5,000 per month.
  • Cost: The development team estimates that it will take a week to complete this task (around 40 hours). Assuming an average hourly rate of $50, the total cost is $2,000.

$ Value Calculation: $ = Value - Cost

$ = $5,000 - $2,000

$ = $3,000 per month

Non-Functional Task: Performance Improvements

Task: Optimize the application's performance to reduce load times and enhance user experience.

  • Value: Faster load times are expected to improve user retention by 15%, leading to an estimated increase in paid users and an additional revenue of $7,000 per month.
  • Cost: The development team estimates that it will take 50 hours to complete this task. Assuming an average hourly rate of $50, the total cost is $2,500.

$ Value Calculation: $ = Value - Cost

$ = $7,000 - $2,500

$ = $4,500 per month

With these examples in mind, it makes more sense to start with performance improvements and not working on the functional task.

Embrace a Unified Approach to Task Management

To truly integrate technical and product tasks, teams should adopt a unified approach to task management. This involves recognizing that every task, no matter how technical it may seem, plays a crucial role in the overall product vision. Here are some additional strategies to ensure this integration:

  1. Unified Backlog: Maintain a single backlog that includes both product features and technical tasks. This ensures that all tasks are visible to the entire team and can be prioritized based on their overall impact on the product.
  2. Cross-functional Teams: Foster cross-functional teams where developers, product managers, and other stakeholders work closely together. This can help bridge the gap between technical and product perspectives, leading to more informed decision-making.
  3. Regular Reviews: Conduct regular reviews of the backlog and ongoing tasks to ensure that technical debt is being addressed, and that product features are aligned with technical improvements.

Final Thoughts

In conclusion, the distinction between technical and product tasks is often more conceptual than practical. By recognizing the interdependence of these tasks and integrating them into a unified development process, teams can enhance both product quality and development efficiency. It's time to stop segregating tasks and start viewing them as integral parts of a cohesive product development strategy. This holistic approach will improve the end product and foster a more collaborative and productive team environment.

Improving Mental Health at Work: Strategies for a Healthier Workplace

· 6 min read
Alvaro Jose
Fractional CTO & Founder

Last week, we discussed the importance of managing 100% utilization within the team to maintain their well-being. As individuals, we each react differently to experiences, which can have long-term consequences.

You may have noticed that I haven't been writing as frequently as I would like. I feel bad about this, but I was overwhelmed from overworking in multiple areas. Had this continued without any action, I might have faced significant burnout. So, let's talk today about mental health at work.

What is Mental Health & Why is it Important

Mental health goes beyond the absence of mental illness; it includes our overall emotional, psychological, and social well-being. It affects how we think, feel, and act, influencing our ability to manage stress, relate to others, and make decisions. Understanding and prioritizing mental health is crucial for maintaining a productive and positive work environment.

We typically spend 50% of our waking hours at work, this is why work can significantly impact our mental health.

Evaluating Mental Health

Self

It's important to regularly assess your own mental health. Reflect on how you're feeling, both physically and emotionally. While this can be challenging, several tools and methods can help:

  1. Journaling: Keeping a daily journal of your thoughts, feelings, and experiences can help you identify patterns and triggers of stress or anxiety.
  2. Mood Tracking: Apps or simple paper-based mood trackers can help you monitor your mood over time and notice any significant changes.
  3. Online Assessments: Various websites offer self-assessment tools that provide insights into your mental health status. These assessments often cover areas like stress, anxiety, and depression.
  4. Physical Health Monitoring: Since mental and physical health are closely linked, tracking physical symptoms like sleep patterns, appetite, and energy levels can provide clues about your mental health.
  5. Professional Help: Regular check-ins with a mental health professional, even when you're feeling okay, can offer valuable insights and support.

Using these tools regularly can help you stay in tune with your mental health and take proactive steps to address any issues that arise.

Others

As leaders, it's equally important to recognize signs of burnout and stress in others. Here are some indicators to watch out for:

  • Decreased Productivity: Noticeable decline in work output.
  • Increased Absenteeism: Frequent sick days or unexplained absences.
  • Changes in Behavior: Irritability, mood swings, or withdrawal from team activities.
  • Physical Symptoms: Complaints of headaches, fatigue, or other stress-related ailments.
  • Lack of Engagement: Disinterest in work or decreased enthusiasm for projects.

Factors That Affect Mental Health At Work

Several factors can significantly affect mental health in the workplace, and it’s essential to recognize these to create a supportive environment for everyone on the team. Here are some of the key factors:

  • Workload and Stress: Excessive workload and high levels of stress are common contributors to poor mental health. When employees are consistently overwhelmed with tasks and responsibilities, it can lead to burnout, anxiety, and decreased productivity.
  • Work-Life Balance: A lack of work-life balance can negatively impact mental health. When work encroaches on personal time, it can lead to stress, fatigue, and strained relationships. It’s crucial for organizations to promote a healthy balance between work and personal life.
  • Job Security: Uncertainty about job security can cause significant stress and anxiety. Concerns about layoffs, contract renewals, or organizational changes can create an environment of fear and instability.
  • Workplace Relationships: The quality of relationships with colleagues and supervisors can greatly influence mental health. Positive, supportive interactions can enhance well-being, while toxic or unsupportive relationships can lead to stress and dissatisfaction.
  • Organizational Culture: A company's culture plays a vital role in mental health. A culture that values mental well-being, provides support, and encourages open communication can help mitigate stress and improve overall morale.
  • Recognition and Reward: Feeling undervalued or unrecognized for contributions can negatively impact mental health. Regular acknowledgment and reward for hard work and accomplishments can boost morale and motivation.
  • Physical Environment: The physical work environment, including factors like noise levels, lighting, and ergonomics, can affect mental well-being. A comfortable and conducive workspace can enhance productivity and reduce stress.
  • Change Management: How changes are managed within an organization can impact mental health. Poorly communicated or managed changes can create uncertainty and stress, while transparent and supportive change management can ease transitions.
  • Personal Factors: Personal issues such as financial concerns, health problems, or family responsibilities can also impact mental health at work. It’s important for organizations to be aware of and sensitive to these external factors.
  • Team Dynamics: The dynamics within a team can greatly influence individual mental health. A collaborative, cohesive team can provide support and reduce stress, while a dysfunctional team can create additional pressure and conflict.

Strategies to Improve Mental Health

Addressing mental health in the workplace requires a multifaceted approach. Here are some strategies that can help create a healthier work environment:

Organizational Strategies

  1. Promote Work-Life Balance: Encourage employees to take regular breaks, use their vacation days, and disconnect after work hours. Flexible work schedules can also help employees manage their personal and professional responsibilities more effectively.
  2. Foster a Supportive Culture: Create a culture where mental health is openly discussed and supported. Encourage leaders to model healthy behaviors and provide training on recognizing and addressing mental health issues.
  3. Provide Resources: Offer access to mental health resources such as Employee Assistance Programs, counseling services, and stress management workshops. Make sure employees know how to access these resources.
  4. Manage Workload: Ensure that workloads are reasonable and that employees have the resources they need to complete their tasks. Regularly check in with team members to assess their workload and make adjustments as needed.
  5. Encourage Social Connections: Foster a sense of community within the workplace. Encourage team-building activities, social events, and opportunities for employees to connect on a personal level.

Individual Strategies

  1. Set Boundaries: Clearly define your work hours and stick to them. Avoid checking emails or working outside your designated work time.
  2. Practice Self-Care: Engage in activities that help you relax and recharge. This could include exercise, meditation, hobbies, or spending time with loved ones.
  3. Seek Support: Don’t hesitate to reach out for help if you’re struggling. Talk to a trusted colleague, supervisor, or mental health professional.
  4. Stay Organized: Use tools like to-do lists, calendars, and project management software to keep track of your tasks and deadlines. This can help reduce feelings of overwhelm.
  5. Take Breaks: Regular breaks throughout the day can help you stay focused and reduce stress. Even a short walk or a few minutes of deep breathing can make a big difference.

Closing Words

Mental health is a crucial aspect of overall well-being and productivity in the workplace. By recognizing the factors that affect mental health and implementing strategies to address them, we can create a supportive and healthy work environment. Remember, prioritizing mental health benefits not only individuals but also the entire organization. It’s okay to take a step back, evaluate your well-being, and make necessary adjustments. Your mental health matters.

Boosting Success in Engineering Changes: The Power of Patience & Alignment

· 5 min read
Alvaro Jose
Fractional CTO & Founder

Ever found yourself in engineering departments where tools and practices are adopted and discarded rapidly?

One example that might resonate are companies that try to implement their goals through OKRs. Typically, the first year doesn't yield substantial value, leading to a gradual disregard in the second year. Before the close of year two, a new acronym supersedes the existing goal definition, setting off yet another cycle.

ep1.jpg

Understanding Why New Methodology Implementations Often Fall Short

Whether we're discussing company-wide methodologies like OKRs or team-specific practices like pair programming, it's common to see implementations fall short. Often, methodologies bear the brunt of the blame due to misalignment.

Let's delve into the reasons behind these failures, and assess whether the methodology itself is at fault.

  • Difficulty in Tracking Results: When new methods are introduced, it's often challenging to see immediate results or advantages. This can lead to premature rejection of the new approach.
  • Insufficient Engagement: This covers situations where members aren't entirely on board with the new process. This could stem from inadequate understanding, disagreement with the methodology, or simple resistance to change.

While there are other reasons for failure, they typically fall under or relate closely to these main points.

Boosting Success Rates via Engineering Culture

As we've previously discussed, enhancing the success rate of engineering changes hinges on shifts in the following cultural aspects:

Patience

Remember, results take time

To foster patience within the engineering department, it's essential that the company culture not only values it, but actively encourages it. Here's how:

  • Celebrate Patience: Recognize and reward patience in your workspace. This could involve acknowledging those who demonstrate patience when faced with challenges, or associating rewards and promotions with the successful long-term execution of changes.
  • Highlight the Role of Patience: Keep reminding your people about the crucial role patience plays in long-term success. Share anecdotes or instances where patience has proven beneficial in the past.
  • Lead by Example: Leadership should portray patience in their actions and decision-making. This means resisting the urge to follow the latest trends without adequate evaluation, and allowing new processes sufficient time to integrate and yield results.

patience.jpg

Aligning Knowledge

Teamwork makes the dream work.

To effectively share knowledge throughout the engineering department, it's essential that our company culture actively supports and fosters it. This includes:

  • Transparent communication: It's crucial for everyone to understand why we're making changes and what we should anticipate. A thorough explanation of the process, timeline, potential challenges, and anticipated benefits can ensure we're all on the same page.
  • Offering support and resources: As we've discussed, lack of support can lead to frustration and potential failure. We must ensure our people have the necessary resources to successfully implement new methodologies.
  • Promoting open dialogue: We should create spaces for our people to share their thoughts, concerns, and feelings about upcoming changes. This approach encourages a sense of ownership and commitment, which can minimize the risk of premature termination.

teamwork.jpg

Final thoughts

Remember, embracing change is a journey, not a race. It's important to acknowledge that while the process may be fraught with challenges, the benefits of perseverance often outweigh the initial discomfort or resistance.

Patience, coupled with knowledge alignment, can significantly increase the success rate of implementing new methodologies in engineering departments. By fostering a culture that values patience and open communication, we can better adapt to changes, overcome challenges, and achieve our long-term goals.

Superstar vs. Rockstar Engineers: Balancing Innovation and Stability in Tech Teams

· 3 min read
Alvaro Jose
Fractional CTO & Founder

Have you noticed a broad spectrum of aspirations among your team members?

Some individuals are eager to tackle new challenges and progress rapidly, while others prefer maintaining the status quo. Do you find one approach more valuable than the other, and if so, why?

Drawing inspiration from the book Radical Candor, this article will discuss the categorization of engineers into Superstars and Rockstars. We'll examine their unique traits, contributions, and roles within the development process.

Superstar Engineers

Superstar Engineers are those who strive for more than just the ordinary, who are ready to take calculated risks for innovation. Within the technology sector, they act as catalysts for change and disruption.

Some traits you can find in the work of these engineers:

  • They continuously pursue growth and development
  • They’re not content with the status quo
  • They’re willing to take risks to innovate
  • They’re frequently the driving force behind breakthroughs in technologies, processes, practices, or products
  • They’re motivated by a passion for innovation and growth
  • They propel the team forward, ensuring it stays relevant and competitive

Rockstar Engineers

Rockstar Engineers are the backbone of the team, providing the dependability that keeps everything running smoothly. Without their steady influence, the boundary-pushing work of Superstars would be far less effective.

Some traits you can find in the work of these engineers:

  • They provide stability and consistency within the team.
  • They're domain experts, with a deep understanding of particular systems or processes
  • They ensure the smooth running of systems and processes
  • They manage and enhance existing systems
  • They're highly reliable, often serving as the go-to person for issues within their domain
  • They're incredibly dependable, often the first person you'd call for problems in their area
  • They value quality and take genuine pride in their work
  • While they may not be the most visible, their contribution to the team and the business is absolutely critical

Types of Engineers and engineering strategy

Having discussed different types of engineers, let's now explore how this impacts various aspects of our company or team.

Team & Company Composition

It's crucial to strike a balance between these two types of engineers inside a team or company. The optimal engineering strategy blends Superstars and Rockstars, ensuring the team has both the stability to manage current tasks and the innovative spirit required to stay competitive.

An overabundance of Superstars may lead to instability due to frequent changes, causing the team to remain in a perpetual state of upheaval.

On the other hand, an excess of Rockstars might lead to stagnation, preventing the team from adapting to necessary changes and reducing productivity.

Remuneration & Growth

Equally important than having the correct profiles is ensuring that both are valued equally.

This is often a challenge as engineering ladders tend to favor Superstars, who are generally more motivated to climb the ladder. These ladders often dictate an employee's financial compensation. Leading to Superstars accelerating their remuneration faster than Rockstars, who may hit a pay ceiling. For this, it's important to tie compensation not to a specific role, but to the unique value an individual contributes to the company or team.

Closing thoughts

Recognizing this duality and managing it effectively is one of the key roles of leadership in the tech industry. By acknowledging and valuing the unique contributions of both Superstars and Rockstars, leaders can foster a diverse, balanced, and highly productive team. This duality is not a hindrance, but a strength that can be harnessed to drive a team or company's success.

Key Strategies for Building High-Performance Teams in Tech

· 9 min read
Alvaro Jose
Fractional CTO & Founder

We all continuously hear about high-performance teams and the importance of becoming one. But there is actual no real definition of it. Is it?

  • A team that releases many cards
  • The one that delivers high-quality code
  • The one that has all the best engineers

The answer, at least for me, is none of the above.

What is a Team?

A definition by Professor Leigh Thompson of the Kellogg School of Management:

A team is a group of people who are interdependent with respect to
information, resources, knowledge and skills and who seek to combine
their efforts to achieve a common goal.

A group itself does not represent a team, for a group to become a team, there is a need for a common goal. As a group evolves into a team, it needs to go through several transformations.

Evolution From Group to Team

Teams typically go through several stages of development. These stages represent the journey from a group of strangers to a united group with common goals.

Tuckman's model describes the four stages of team development as:

  1. Forming: This is the initial stage where team members meet for the first time. Everyone is polite and positive, and there are high expectations but little understanding of the tasks ahead.
  2. Storming: As team members start to work together, differences of opinion may lead to conflict. This stage is marked by resistance, competition, and conflict as individual personalities emerge.
  3. Norming: Gradually, the team moves into the norming stage where they start to resolve their differences, appreciate colleagues' strengths, and respect the leader's authority. The team begins to develop cohesion and unity.
  4. Performing: This is the stage where the team is fully functional and works towards achieving the team's goals. There is a strong bond between team members, and everyone works collaboratively and efficiently.

On the top of Performing, we could say there is outperforming is where High-Performance teams live. This final stage is reached when the team consistently exceeds expectations and delivers exceptional results. The team is highly collaborative, innovative, and operates with a shared vision and purpose.

Transitioning from One Team Stage to Another

  1. Forming to Storming: The transition from forming to storming requires team members to start working together and engaging in discussions and decision-making. It's important for each member to feel comfortable expressing their opinions and ideas, even if they differ from others. This phase often triggers conflicts due to diverse views, but it is a crucial part of the team's evolution, as it allows members to understand and appreciate each other's perspectives.
  2. Storming to Norming: The shift from storming to norming is marked by the resolution of conflicts and the establishment of processes and norms. This stage requires effective conflict management and open communication. Besides, the team should focus on recognizing and appreciating the strengths of each member and fostering a collaborative environment. The team begins to feel a sense of unity, and a collaborative culture starts to develop.
  3. Norming to Performing: Moving from norming to performing entails the team becoming more focused on achieving shared goals. The team has now established effective working relationships and understood each other's working styles. At this stage, it's important to stay focused on the team's objectives and ensure everyone is working collaboratively towards them. The team becomes more autonomous, with members taking on responsibilities and roles that align with their strengths.
  4. Performing to Outperforming (High-Performance): The leap from performing to outperforming is achieved by exceeding expectations consistently. It's vital to maintain the momentum, continuously innovate, and strive for improvement. Commitment to the team's shared vision and purpose, trust among team members, and open communication are crucial factors in this stage. The team should also be flexible in adapting to changes and challenges and should be driven to continually improve their performance.

Untitled.png

Traits Of a High-Performance Team

  • Trust: This refers to the confidence among team members that each person will fulfill their responsibilities and maintain a commitment to the common goal.
  • Mutual Support: This involves members actively helping each other to succeed, promoting a culture of cooperation and interdependence.
  • Drive: This indicates the team's collective motivation and ambition to achieve their goals and continually improve their performance.
  • Edit Their Needs: This implies the team's ability to self-assess and adjust their requirements and strategies based on the evolving circumstances.
  • Open Communication: This refers to the team's ability to communicate effectively, ensuring that everyone feels heard and understood. Open communication fosters transparency and encourages team members to share their ideas and feedback.
  • Do Not Depend on a Leader: This means the team operates in a decentralized manner where every member takes initiative and responsibility, rather than relying on a single leader for direction and decisions.

Example Tools To Improve Team Traits

Getting to Know the Human Behind: Team Personal Presentations

Team Personal Presentations is an exercise where each team member creates a short presentation about themselves to share with the rest of the team. This can include information about their background, interests, strengths, weaknesses, and even fun facts. The goal is to allow team members to get to know each other on a deeper level, beyond just their professional roles.

This exercise can help to build stronger relationships within the team, foster empathy and understanding, and improve team cohesion. It gives team members an insight into who their colleagues really are, which can lead to greater trust, better communication, and a more effective working environment.

Untitled.png

Getting to Know How We Exchange: Communication Preferences

Communication Preferences is an activity that helps team members understand each other's preferred methods of communication. This can include when and how they like to receive information, how they handle conflict, and how they give and receive feedback. Understanding these preferences can greatly improve team collaboration and prevent misunderstandings.

https://excalidraw.com/#json=STnnDPzkDh1E7vMwED4Ln,53YwRgNjbRDrcQiMz6lfLQ

Getting to Know What We Care About: Moving motivators

The Moving Motivators exercise is a tool from Management 3.0 that helps in understanding the intrinsic motivations of individuals within a team. It involves a deck of ten cards, each representing a key motivator such as acceptance, curiosity, freedom, or power.

The participant orders these cards in order of personal importance. Then, they consider a recent change in their work or life and move the cards up or down based on whether this change has positively or negatively impacted each motivator. This provides valuable insights into what drives a person and how changes affect their motivation, which is crucial for effective team management and leadership.

https://excalidraw.com/#json=9p-2kVpQEkhCmKF-EouDI,OCPiUgI6FaQHTX1JMIKWeg

Getting to Know What Area to Improve Next: Team Health Check

The Team Health Check is an exercise developed by Spotify to assess the health of their teams.

Teams collectively assess how they are doing on several aspects, such as collaboration, value delivery, mission, fun, learning, and leadership. Each team member votes on each aspect using a traffic light system (green for good, yellow for okay, red for not good).

The results are then discussed openly, helping to facilitate communication about challenges, improvements, and actions to be taken. The exercise is not about blaming or pointing fingers but about understanding and improving team dynamics and performance.

https://excalidraw.com/#json=RnIvsEE-MBK6_FtvveL92,xfbgr6blEekHkZyGb3E7og

Most Engineering Hiring Processes Are Broken

· 8 min read
Alvaro Jose
Fractional CTO & Founder

Leading a team or a company necessitates having individuals who can assist in realizing your objectives. Undoubtedly, this involves establishing a hiring process. Have you considered how hiring for software projects may consume extensive time and effort?

The Average Hiring Process

Whenever I step into a company, my gaze is often drawn to their recruitment procedures. Typically, the process aligns with or forms a subset of this schematic.

average_process.png

Most companies employ these steps as filters, aiming to discover the “ideal candidate” with the least possible commitment. This turns the hiring process into a lengthy, high-effort endeavor that can span multiple months. As you can see, from application to hire, we're looking at an average of 32 days and a time investment of 15.5 hours.

In competitive markets—such as the one I'm familiar with—the top candidates are often hired within a maximum of two weeks after applying for a job. How can this be?

The Issue at hand

Over-engineering can be pinpointed as the root cause of the issue.

Here are the three main concerns that lead to this:

  • Risk Avoidance Leads to Over-Complication: Trying to avoid any slip-ups during the hiring process often results in a complicated and lengthy procedure. This method is more about reducing the risk of a bad hire, even if it sacrifices speed and efficiency.
  • Fear of Overlooking the Perfect Candidate: The worry of not finding that potentially perfect candidate leads to an exhaustive process. Every candidate is meticulously screened at each stage, lengthening the hiring period.
  • Concern Over Wasting Employee Time: The fear of spending current employee time on unsuccessful hiring processes is a worry. This concern stems from knowing that time is valuable, especially in fast-paced work environments. If the hiring process doesn't yield a successful hire, it's considered a misuse of employee time that could have been used for immediate needs and goals.

However, lengthy processes are the embodiment of these fears. The rationale is straightforward: the top candidates are often the first to be snapped up. If your hiring process is sluggish due to numerous feedback loops, chances are you're missing out on top-tier talent.

Remember, most companies aren't engaged in rocket science, which means you probably don't need a rocket scientist on your team. What you do need are team players who can collaborate effectively and add value to your product.

https://devrant.com/rants/2848905/interview-vs-job

Solving the problem

To attract and secure top-tier talent in a fast and efficient manner, it is imperative to streamline and reform our hiring process.

The objective is to create a process that is not only efficient in its operations, but also effective in securing the best possible talent for our teams. This approach must consider the existing challenges in the hiring process and devise solutions that counter these issues, while optimizing for speed and quality of hires.

To facilitate such transformation in the hiring process, we need to undertake the following steps:

Simplify Evaluation Process

The prevailing approach in many companies operates like a wishlist, confirming that candidates meet an extensive set of expectations. However, these wishlists often become an endless array of checkboxes that candidates must tick off.

A more efficient solution would be to invert this evaluation method, implementing a flagging system to identify what is unacceptable in a candidate. This method streamlines the process, as it's a true or false evaluation where we all have the same expectation. Instead of having a checklist of 100 items that can have different readings by the evaluator to be covered in 2 to 4 technically focused interviews, we're able to identify any red flags in just one or two interviews.

Let's see examples that I have seen in real life:

WishlistFlags
Coding Interview:
  • Does hexagonal architecture
  • Has done unit tests
  • Has done integration test
  • Follows SOLID principles
  • Writes Clean Code
  • Refactors when needed
  • Whiteboard Session:
  • Decouples Systems
  • Takes in count Scalability
  • Takes in count Security
  • Understands sharding
  • Understands different types of DB and their use
  • Understand evolutionary architecture
  • Technical Conversation:
  • Can explain the business of a project
  • Can explain the technical aspect of a project
  • Understands CI/CD
  • Understands testing value
  • Values Session:
  • Is an active listener
  • Understand fairness
  • Understand no blame culture
  • … | 🔴 Discriminates based on social or technical aspects. 🔴 Lies on an explanation when they don't know a subject. 🔴 Ignores feedback, continues without reflection. 🔴 Does not explain their train of though, after request. 🔴 Does not accommodate for people's needs regarding communication styles (ex. Drawing). 🟡 Makes things overcomplicated. 🟡 Is unable to explain certain aspects of what they do. 🟡 Does not execute or compile while working. 🟡 Does not do any kind of test while working. |

Here is how the simplified process looks like:

simple_process_1.png

Reduce The Feedback Loops

In line with product development, minimizing feedback loops can enhance agility.

Inserting filters into the process simply creates delay in decision-making, as feedback must be revisited before proceeding. These waiting periods regularly lead to candidates disengaging from the process.

Moreover, these filters may inadvertently prevent a potential candidate from showcasing their full potential in later stages of the process, frequently leading to premature dismissal of suitable candidates for the position.

Eliminating filters from feedback loops can accelerate the process and lessen the burden on our existing employees. By removing reporting for future steps and not discarding candidates early, candidate success rate will increase, resulting in fewer interviews in the long run.

simple_process_2.png

Final Words

In conclusion, the key to a successful hiring process lies in simplicity and efficiency. By focusing on eliminating unnecessary steps and reducing feedback loops, companies can accelerate their hiring process and attract and retain the best talent in the market.

Break Out Of The Comfort Zone: The Need for Big Leaps Over Incremental Improvements

· 7 min read
Alvaro Jose
Fractional CTO & Founder

Have you ever felt stuck or that you're not making progress towards your goal with the current approach you or your team are employing?

cz1.png

From a young age, we're taught the value of steady, incremental progress. The idea is that like a determined tortoise, we can reach our goals by moving deliberately in the right direction. But could there be a more efficient approach?

The Comfort Zone a Default State

It's widely recognized that individuals typically operate within their comfort zones. But what exactly is the comfort zone? Here's a potential definition:

The comfort zone refers to a psychological state in which one feels familiar, safe, and at ease. It is the area of experience where a person operates in an anxiety-neutral condition, using a limited set of behaviors to deliver a steady level of performance, usually without any sense of risk or need for change.

Sticking to what's familiar can often deter us from making significant strides in improving our lives. More often than not, we choose minor, incremental changes that don't veer too far from our routine.

This fondness for comfort zones isn't just personal—it extends into software development practices and product development too. Frequently, teams would rather make minor adjustments than take the risk of adopting an entirely new approach. This could be due to fear of failure, resistance to change, or simply not being aware of the potential benefits of a different approach.

Sure, these incremental changes are easier to manage and implement. They cause less disruption to our current systems and processes, letting us maintain stability and make small steps forward. But, they can also restrict our potential for innovation and growth. When we only focus on baby steps, we might overlook the chance to make a big leap that could bring about significant benefits.

This leads us to ask: Are these small improvements enough? Do they truly meet the needs of the team and the organization, or are they simply a safe and comfortable route that leads to average results?

Signs of Need For change

Let's consider some signs that may indicate the presence of comfort zones:

  • Stalled Progress: If we see little to no significant progress over a lengthy period, it could mean our team might be tweaking things without making a real impact. In this case, the next level of improvement could be further than anticipated.
  • Reluctance towards new ideas: A quick dismissal or resistance to new suggestions can indicate a deep-rooted reluctance to change. This resistance is often due to the comfort of the familiar, fear of the unknown, and potential risks associated with change.
  • Unchanging strategies: If we find ourselves continually resorting to the same solutions or minor variations of past strategies, it suggests that we're stuck in a comfort zone. A hesitation to try new approaches, especially when facing repetitive challenges, signals a comfort zone.

Therefore, it's crucial to continually assess your team's adaptability. If there are signs of stagnation, resistance to change, or a lack of creative problem-solving, it may be time to challenge the comfort zone and think about making more substantial changes instead of small, incremental ones.

If you are already measuring the behavior, you will notice comfort zones can be represented as logarithmic functions.

Untitled.png

Implementing Change

Recognizing the need for change is just the beginning. Here's how we can pave the way forward:

  1. Spot key metrics: Initiate by spotting key metrics that accurately represent the area you're aiming to enhance. These metrics should be specific, measurable, and directly tied to the performance or behavior you're looking to improve.
  2. Gauge the current situation: Use these as a benchmark to contrast your future performance and evaluate the progress of your initiative.
  3. Set a North Star: Set a clear, ambitious yet attainable goal that will steer your efforts. This goal should push your team to step out of their comfort zone, but still be within reach. Ensure this goal is in line with your wider business objectives and resonates with your team members, providing them a strong incentive to aim for the initiative.
  4. Estimate the gap: Evaluate the difference between your current performance and your North Star. This is the distance your team needs to traverse to achieve the desired improvement. Understanding this gap will give you a clear sense of the scope of the change required and will help shape your strategy for the initiative.
  5. Plan the change: Having defined your key metrics and North Star, begin plotting the course required for the initiative. You will be faced with 2 options:
    1. Bold Move: Occasionally, a significant departure from the current state to your ultimate goal is necessary. Always consider this as your primary option.
    2. Gradual Progress: If the change appears overwhelming or too abrupt, reduce it by taking smaller steps towards your ultimate goal.
  6. Review and Refine: Continually track your progress and compare it to your initial benchmark. Use this information to fine-tune your approach, adjust your strategy, and implement necessary modifications.

Final Thoughts

It's crucial to remember that change is not always easy, but it's often necessary for growth. Incremental improvements have their place, but occasionally, we need to take confident leaps to truly innovate and realize our full potential. By willing to step outside our comfort zones, we open ourselves up to new possibilities and opportunities for improvement. Next time you're with your team, ponder over these topics. It's vital to identify your guiding star to reach it. For example, consider this in the context of your team's productivity. What practices could make you the most efficient team? For me, the answer was Extreme Programming (XP). You might contemplate a significant shift from individual development with pull requests to mob programming, and smaller steps towards adopting Trunk-Based Development due to the need for additional tools.

Also, don't hesitate to think creatively about product development. For instance, we often have to shift Key Performance Indicators (KPIs) to meet Objectives and Key Results (OKRs), like increasing the lead conversion percentage. If the leap percentage is high, you might need to implement revolutionary new strategies, rather than sticking with the status quo.