Denys Pavlenko is an Engineering Manager of Platform Engineering at Personio SE & Co. KG, enabling better organisations by providing the leading HRM platform for SMEs in Europe. Former Domain Quality Lead at Magento Commerce as a part of eBay Inc. QA Coach at StartIT Training Center for IT Specialists, where he helps talented people to start their new careers in IT. Speaker at QA Conferences, one of the QA Meetup organizers in Munich, Germany. By leading quality at several different companies with different setups, Denys will help you with defining the vision and identifying the right quality strategy based on the stage of product maturity. He has a solid understanding of the Testing methodologies, and hands-on experience with setting up scalable and automated test solutions. Denys does like sharing the experience and challenges of building up QA teams and QA functions from scratch, and the main pitfalls of moving from Quality Assurance towards Quality Assistance and Platform Engineering within the org. He's been coaching Quality Assurance Engineers from Junior to Lead positions for the last 9 years.

My Mentoring Topics

  • Leading Quality and building up Quality Narrative within the org
  • Establishing Quality ownership and QA team setup in the org
  • Building QA teams and QA functions from scratch
  • Helping out with identifying the most suitable testing strategy
  • Practical Testing pyramid
  • Testing the world of microservices
  • Starting a career in QA or/and switching from Software Engineering to QA
  • Building up robust test frameworks by using prominent scalable and reliable solutions and technologies
  • Preparation for QA Interview, career advice, and inspiration
  • Hiring activities with a focus on QA Engineers
  • "Ask Me Anything" about quality
  • Agile Development
  • Helping to start a QA career
L.
12.April 2023

Excellent mentoring session. Denys helped me a lot with the intended objective. I would definitely recommend him for his professionalism and friendliness.

A.
17.March 2022

Denys and I had an amazing conversation. He demonstrates domain knowledge of management and quality control issues and concerns. Really happy to have come across this brilliant person.

A.
24.February 2022

The session was very helpful and I liked that we dived straight into answering my questions. The dissection of the topic, analysis and providing feedback was great, especially with your advice being backed up by your experience. Thank you as well for recommending the books, I will order them soon.

K.
9.February 2022

Thank you so much for your time, the session was a life saver, it helped shape the direction for my approach I am definitely now more confident in approaching the task. You had really good insights into the task, and your advice on the length of the test documentation as well as the limited tests on the UI for optimal effectiveness was great. Thanks again.

V.
24.January 2022

Was very helpful, Denys, thank you a lot!

Y.
30.May 2021

boards on trello, books, recommendations to move in one direction and how to achieve results

J.
28.April 2021

Learned about contract test / unit tests / tools like pact and detox

B.
18.February 2021

1) Got good suggestions and points about my CV for highlighting, 2) I should increase my know-how about the main topics and trend topics,

J.
8.February 2021

engineering manager roles òutput driven - outcome driven contract testing and exploratory testing

S.
1.November 2020

1. Insights about microservices Contract Testing 2. Overall QA strategy in microservices environment 3. Quality cultivating culture

I.
19.October 2020

There were much more than 3 learned points. 1. SonarQube. This is a free tool that can scan your code and provide reports regarding: unit test coverage, code smells, security vulnerabilities. I've already found a good tutorial and playing with this tool right now. 2. Principles that I have to learn to be a good automation test engineer: - SOLID, - OOP, - types of classes, - programming design patterns and their realization for a programming language I'm using, - Composition over Inheritance, - DRY vs WeEnjoyTyping. 3. Denys has strongly recommended to read Leading Quality book to be able to build successful QA strategies and push (sell) my ideas to a higher management level. The book is already purchased and delivered. I'm finishing another book to start reading this new one.

J.
5.October 2020

That Q&A is a really important step into a companies future, I have guidance for a management path and There are books for getting the help I was looking for.

V.
27.July 2020

- Understanding of actual requirements and responsibilities for Automation QA Engineer in Munich - Actual information about required technologies and methodologies for Automation QA - Inspiration and motivation for achieving my goals

O.
15.July 2020

1)KPI in IT, insight on german market hiring, relocation difficulties

Leading Quality - How Great Leaders Deliver High Quality Software and Accelerate Growth
Ronald Cummings - John, Owais Peer

Key Insights from "Leading Quality - How Great Leaders Deliver High Quality Software and Accelerate Growth" Quality is not just about testing: Quality should be considered at every stage of the software development process, not just at the testing phase. Leadership plays an integral role in software quality: The role of leaders in creating a culture of quality is paramount. They set the tone for the entire organization. The importance of a Quality Mindset: A Quality Mindset is not just about finding and fixing bugs, but about preventing them in the first place. Quality is everyone's responsibility: The responsibility for quality should not fall on a single person or team, but should be shared by everyone in the organization. Speed Vs Quality: The right balance between speed and quality needs to be struck. Neither should be compromised for the sake of the other. Continuous Improvement: Quality is not a destination, but a journey of continuous improvement. Customer Focus: The end goal of any software is to satisfy the customer's needs. Thus, quality should be defined in terms of customer satisfaction. Measurement and Metrics: The importance of quantifying quality through the use of appropriate metrics and KPIs. Effective use of technology: Technology should be leveraged effectively to ensure quality, including the use of automated testing tools. Collaboration and Communication: Quality cannot be achieved in silos. It requires effective collaboration and communication across teams. Training and Development: Regular training and development is vital to equip team members with the necessary skills to ensure quality. An In-depth Analysis "Leading Quality - How Great Leaders Deliver High Quality Software and Accelerate Growth" is a seminal work in the field of software development and quality assurance. It brings to the forefront the crucial role that leadership plays in ensuring software quality. Leadership, Culture and Quality One of the key insights of the book is that quality is not just about testing but a holistic process that permeates every aspect of software development. This notion contradicts the traditional view that quality is the sole responsibility of the quality assurance team. The authors argue that this approach is inadequate and outdated. In today's Agile and DevOps environment, everyone in the team is responsible for quality. However, this cultural shift requires strong leadership. Leaders should not only advocate for quality but also demonstrate it through their actions. Quality Mindset and Continuous Improvement The authors introduce the concept of a 'Quality Mindset'. This goes beyond just finding and fixing bugs to preventing them in the first place. It aligns with the Lean philosophy of building quality into the process. Continuous improvement is another key theme. The authors stress that quality is a journey, not a destination. It requires constant learning, experimentation, and adaptation. Speed vs Quality In the fast-paced world of software development, there is often a tension between speed and quality. The authors argue that the two are not mutually exclusive. In fact, they suggest that a focus on quality can actually accelerate growth. This is because high-quality software results in fewer bugs, less rework, and greater customer satisfaction, all of which contribute to faster delivery and growth. Customer Focus, Measurement, and Technology The book also emphasizes that the ultimate measure of software quality is customer satisfaction. Thus, it is important to understand the customers' needs and expectations. This customer focus should be complemented by appropriate metrics and KPIs to quantify quality. Technology, particularly automated testing tools, can be effectively leveraged to ensure quality. However, the authors caution against over-reliance on tools, reminding us that they are just a means to an end. Collaboration, Communication, and Training Finally, the authors underscore the importance of collaboration and communication in achieving quality. Silos are detrimental to quality. Instead, there should be open and frequent communication across teams. Regular training and development are also essential to equip team members with the necessary skills to ensure quality. In conclusion, "Leading Quality - How Great Leaders Deliver High Quality Software and Accelerate Growth" is a comprehensive guide that provides valuable insights and practical advice on how to lead a quality-driven software development organization. It emphasizes that quality is not just about testing, but a holistic process that requires the commitment of everyone in the organization, strong leadership, a quality mindset, continuous improvement, customer focus, effective use of technology, collaboration, communication, and ongoing training.

View
Building Microservices
Sam Newman

Key Facts from "Building Microservices" The Move to Microservices: This shift is about breaking down complex systems into manageable, independent, and loosely coupled services. Advantages of Microservices: They provide benefits in terms of scalability, resilience, and faster time to market. Service-Oriented Architecture (SOA): Microservices are a modern interpretation of SOA principles, but with a focus on organizational alignment and decentralization. Decomposition Strategies: The book discusses several strategies for decomposing monolithic applications into microservices including decomposition by business capability and domain-driven design. Data Management: Microservices should own their data and the concept of database per service is introduced. Integration Techniques: The best practices for integrating microservices such as APIs, messaging, and event-driven architecture are discussed. Deployment, Monitoring and Security: The book covers the challenges related to deploying, monitoring, and securing microservices and also provides best practices and solutions to tackle these challenges. Microservices Ecosystem: The book also provides an overview of various tools and technologies that facilitate microservices development and deployment. Anti-Patterns: The book also discusses potential pitfalls and anti-patterns to avoid when implementing microservices. Evolutionary Architecture: The book emphasizes the importance of evolutionary architecture in the context of microservices. In-Depth Analysis "Building Microservices" by Sam Newman is a comprehensive guide that provides a deep dive into the world of microservices. The book begins by explaining the concept of microservices and their advantages over monolithic systems. The author stresses the importance of breaking down complex systems into manageable, independent services. This approach allows for greater scalability, resilience, and faster time to market. The book positions microservices as a modern interpretation of Service-Oriented Architecture (SOA) principles. However, it also distinguishes them from traditional SOA by highlighting their focus on organizational alignment and decentralization. This perspective is consistent with my own experience: microservices not only change the technical architecture but also require a shift in the organizational structure and culture. Newman provides several strategies for decomposing monolithic applications into microservices. The most notable ones are decomposition by business capability and domain-driven design. Both approaches aim to create services that are cohesive and loosely coupled. This is a critical insight for practitioners, as improper decomposition can lead to tightly coupled services that negate the benefits of microservices. Data management is another critical topic covered in the book. Newman recommends that each microservice should own its data and introduces the concept of a database per service. This approach ensures data consistency and isolation but also poses challenges related to data integration and consistency across services. The book also covers various integration techniques for microservices. It discusses APIs, messaging, and event-driven architecture, providing a balanced view of their strengths and weaknesses. The author emphasizes the importance of loose coupling not only in service design but also in service integration. Deployment, monitoring, and security are often the most challenging aspects of microservices. Newman addresses these issues and provides best practices and solutions, such as containerization for deployment, distributed tracing for monitoring, and API gateways for security. The microservices ecosystem is vast and constantly evolving. The author provides an overview of various tools and technologies that facilitate microservices development and deployment, such as Docker, Kubernetes, and Netflix OSS. This information is useful for practitioners who need to choose the right tooling for their microservices projects. Like any architectural style, microservices are not a silver bullet. The author discusses potential pitfalls and anti-patterns to avoid when implementing microservices. These include the distributed monolith, the shared database, and the microservice chit-chat. Lastly, the book emphasizes the importance of an evolutionary architecture in the context of microservices. It advocates for incremental changes and continuous learning, which is in line with the principles of agile and DevOps. In conclusion, "Building Microservices" is a valuable resource for anyone interested in understanding and implementing microservices. It provides a comprehensive and practical guide, not only covering the what and why of microservices but also the how. As a professor dealing with these topics for many years, I find this book to be a reliable reference that aligns with my own experiences and understanding of the subject matter.

View
Monolith to Microservices - Evolutionary Patterns to Transform Your Monolith
Sam Newman

Key Insights from "Monolith to Microservices" Understanding the Monolith: The book provides a comprehensive understanding of monolithic architecture, its benefits and challenges. The Need for Transition: Newman highlights the need for organizations to transition from monolith to microservices to achieve scalability, speed, and reliability. Microservices Architecture: Detailed exploration of microservices, their architecture and how they differ from monolithic systems. Evolutionary Design: Newman underscores the importance of an evolutionary approach to design, rather than a revolutionary one. Decomposition Strategies: The book discusses various strategies to decompose a monolith into microservices. Data Management: The challenges of data management in a microservices architecture are examined in detail. Testing Microservices: The author explains the different approaches for testing in a microservices environment. Deployment Considerations: Newman talks about the key considerations while deploying microservices. Security Aspects: The book delves into the security aspects of microservices, including identity and access management. Team Structures and Culture: Newman stresses on the importance of team structures and culture in successful microservices adoption. In-Depth Summary and Analysis In "Monolith to Microservices", Sam Newman presents a comprehensive guide for organizations looking to transition from monolithic systems to microservices. The book provides a detailed understanding of both monolithic and microservices architectures, highlighting the benefits and challenges associated with each. Newman begins by exploring the concept of a monolith, its architecture, and the reasons why organizations initially adopt this approach. He discusses the limitations of monolithic systems, particularly in terms of scalability, speed, and reliability, and makes a strong case for the need for transition to microservices. Next, Newman delves into the concept of microservices, explaining their architecture and how they differ from monolithic systems. He emphasizes the benefits of microservices, such as their ability to enable continuous delivery and deployment, improved fault isolation, and the potential for a team to work independently on a service. Evolutionary design is a key theme of the book. Newman underscores the importance of an evolutionary approach to microservices adoption, rather than a revolutionary one. He suggests that organizations should start small, by breaking down a single monolith into a couple of microservices, and then gradually expand the microservices architecture. Decomposition strategies form another major part of the book. Newman presents various strategies to decompose a monolith into microservices, including the transactional, business capability, and subdomain decompositions. He also discusses the challenges associated with each strategy, and provides practical tips to overcome these. Data management in a microservices architecture is a complex task, and Newman devotes a significant portion of the book to this topic. He talks about the challenges of managing data in a distributed system, and provides practical guidance on how to handle data consistency, data integration, and data replication. Testing microservices is another critical aspect that Newman covers. He explains the different approaches for testing in a microservices environment, and emphasizes the importance of testing at different levels, from unit testing to end-to-end testing. Newman also discusses the key considerations while deploying microservices, including the choice of deployment platform, the use of containers, and the need for monitoring and logging. He provides practical advice on how to handle failure scenarios, and discusses the importance of designing for failure. Security aspects of microservices are another key focus of the book. Newman delves into the challenges of managing security in a microservices architecture, including identity and access management, network security, and data security. He provides practical tips on how to handle these challenges, and emphasizes the importance of a security-first approach. Finally, Newman stresses on the importance of team structures and culture in successful microservices adoption. He argues that organizations should encourage a culture of collaboration and ownership, and suggests that team structures should be designed to align with the microservices architecture. In conclusion, "Monolith to Microservices" is a comprehensive guide for any organization looking to transition from a monolithic system to a microservices architecture. It provides practical, actionable advice, and is grounded in Newman's extensive experience in the field. The book is a valuable resource for both beginners and experienced practitioners in the field of microservices.

View
The Manager's Path - A Guide for Tech Leaders Navigating Growth and Change
Camille Fournier

Key Facts and Insights from "The Manager's Path - A Guide for Tech Leaders Navigating Growth and Change" Management is a skill that can be learned and improved upon, just like any technical skill. Good leaders are not born, they are made - through experience, learning, and continuous self-improvement. Leadership in tech is not just about technology, but also about understanding people and organizational dynamics. Effective management involves a balance of technical skills, people skills, and business acumen. Transitioning from an individual contributor to a manager requires a significant shift in mindset and responsibilities. Team management requires strategic thinking, clear communication, and the ability to inspire and motivate others. Leadership at higher levels involves influencing the broader organization and industry, not just your immediate team. Successful tech leaders foster a culture of learning, innovation, and accountability within their teams. Handling growth and change effectively is a crucial aspect of tech leadership. Continuous learning and adaptation are key to staying relevant and effective as a tech leader. An In-depth Analysis of the Book's Contents "The Manager's Path - A Guide for Tech Leaders Navigating Growth and Change" by Camille Fournier serves as a comprehensive guidebook for individuals in the tech industry who are stepping or looking to step into leadership roles. At its core, the book emphasizes the idea that management, like any technical skill, can be learned and honed. It challenges the common notion that good leaders are born, not made, and argues instead that effective leadership is the result of continuous learning, experience, and self-improvement. This perspective is crucial in an industry that often mistakenly equates technical expertise with leadership potential. The book also underscores the fact that leadership in tech is not solely about understanding and applying technology. It's equally about understanding people and the dynamics of an organization. This requires a balance of technical skills, people skills, and business acumen. Fournier emphasizes that this balance is critical for success and effectiveness as a leader. The transition from an individual contributor to a manager is another important topic in the book. This transition involves a significant shift in responsibilities and mindset. Instead of focusing solely on one's own technical work, a manager must consider the broader picture, including team dynamics, strategic planning, and organizational goals. The book provides valuable guidance on navigating this shift. The text goes on to delve into the specifics of team management, highlighting the importance of strategic thinking, clear communication, and the ability to inspire and motivate others. These skills are essential for creating an environment in which team members can thrive and produce their best work. As leaders move up the ladder, their role becomes less about managing people and more about influencing the broader organization and industry. This insight is particularly relevant in the fast-paced tech industry, where leaders must constantly navigate change and drive innovation. Another noteworthy point made in the book is the importance of fostering a culture of learning, innovation, and accountability within teams. According to Fournier, successful tech leaders are those who encourage their team members to continuously learn, innovate, and take ownership of their work. This fosters a high-performing, adaptable team that can successfully navigate the rapid changes in the tech industry. Finally, the book discusses the crucial aspect of handling growth and change effectively. This involves being able to adapt to new technologies, market trends, and organizational changes. Continuous learning and adaptation are key to staying relevant and effective as a tech leader. In conclusion, "The Manager's Path - A Guide for Tech Leaders Navigating Growth and Change" provides a comprehensive, insightful guide for individuals aspiring to become tech leaders. It offers valuable insights and practical advice on a wide range of topics, from the basics of management to the complexities of leading at higher levels. It emphasizes continuous learning, adaptability, and a balanced skill set as crucial qualities of successful tech leaders.

View
Team Topologies - Organizing Business and Technology Teams for Fast Flow
Matthew Skelton, Manuel Pais

Key Insights from the Book: Four Fundamental Team Topologies: The book introduces four types of team structures: Stream-aligned, Enabling, Complicated-Subsystem, and Platform teams. These structures play a crucial role in improving software delivery performance. Interaction Modes: The book outlines three modes of interaction: Collaboration, X-as-a-Service, and Facilitating. These modes help to create clear and efficient communication pathways between different teams. Cognitive Load: The authors discuss the concept of cognitive load and its impact on team performance and productivity. They emphasize the need to consider cognitive load while designing team structures. Fracture Plane: The book introduces the concept of a fracture plane – a logical boundary that separates different areas of the system. This concept helps to organize teams around the system's natural boundaries. Team-first Approach: The authors suggest a team-first approach where the team topology is designed first, and then the work is assigned. This approach ensures that the team’s structure aligns with the overall business strategy. Evolutionary Change: The book discusses the importance of evolutionary change in the team structure, explaining that teams should evolve as the system grows and changes. Team APIs: The authors introduce the concept of Team APIs, a set of expectations and agreements that guide how teams interact with each other. This concept promotes consistency and efficiency in team interactions. In-depth Summary and Analysis: "Team Topologies - Organizing Business and Technology Teams for Fast Flow" by Matthew Skelton and Manuel Pais is a revolutionary book that offers a fresh perspective on team structure and interactions in the context of business and technology. The book presents a compelling argument for rethinking the conventional wisdom about team organization in favor of a more flexible, adaptive approach. At the core of the book are the four fundamental team topologies: Stream-aligned, Enabling, Complicated-Subsystem, and Platform teams. Each team structure serves a specific purpose and is designed to maximize efficiency in software delivery. The Stream-aligned team is responsible for a particular product or service stream, enabling teams to provide temporary support to overcome obstacles, Complicated-Subsystem teams handle parts of the system that require specialized knowledge, and Platform teams provide a self-service API to other teams. The authors also identify three modes of interaction between teams - Collaboration, X-as-a-Service, and Facilitating. By defining clear modes of interaction, teams can better understand their roles and responsibilities, thereby reducing friction and increasing productivity. A crucial concept introduced in the book is that of cognitive load. The authors argue that the efficiency of a team is directly related to the cognitive load it carries. They recommend designing team structures that consider each team member's cognitive capacity, thereby improving overall performance and productivity. The book also introduces the idea of a fracture plane, a logical boundary within a system where it can be split into different areas. This concept provides a useful tool for organizing teams around the natural boundaries of the system, promoting autonomy and reducing coordination needs. The authors advocate for a team-first approach to work assignment. They argue that by designing the team topology first and then assigning the work, businesses can ensure alignment between the team’s structure and the overall business strategy. The book also recognizes the importance of evolutionary change in team structures. As the system grows and changes, so should the teams. This approach ensures that the team structure remains relevant and effective. Lastly, the book introduces the concept of Team APIs - a set of expectations and agreements that guide how teams interact with each other. This concept promotes consistency and efficiency in team interactions, reducing the potential for misunderstandings and conflicts. In conclusion, "Team Topologies - Organizing Business and Technology Teams for Fast Flow" offers valuable insights and practical strategies for improving team structure and interactions. By applying these insights, businesses can significantly enhance their software delivery performance, leading to improved productivity and better business outcomes.

View
Accelerate - The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations
Nicole Forsgren PhD, Jez Humble, Gene Kim

Key Facts or Insights from the book Lean Software Development and DevOps practices have a direct impact on IT performance and organizational performance. Building quality into products is more efficient than inspecting at the end of production. High-performing organizations decisively outperform their lower-performing peers. They have more frequent code deployments, faster lead time from commit to deploy, faster time to recover from downtime, and lower change failure rate. The right culture is a critical aspect of IT performance. The book introduces the concept of a generative culture, which emphasizes learning and continuous improvement. Automation is a key factor in improving both deployment frequency and lead time for changes. Continuous delivery and lean management practices drive higher IT and organizational performance. Measurement and monitoring are crucial for improving performance. The book introduces four key metrics that matter for DevOps: lead time, deployment frequency, mean time to restore (MTTR), and change fail percentage. Transformational leadership is essential for achieving high performance in technology organizations. DevOps is not just for startups or tech companies - it can generate significant value in large, complex organizations. High performers make use of loosely coupled architectures and teams, enabling them to make changes more effectively and efficiently. Investing in DevOps capabilities can deliver powerful competitive advantage. Summary and Analysis The book, co-authored by Nicole Forsgren PhD, Jez Humble, and Gene Kim, is an invaluable resource for understanding the principles and practices that drive high performance in technology organizations. It presents a rigorous, data-driven argument for why DevOps and Lean principles matter, backed by four years of research and data from more than 2000 data points. Lean Software Development and DevOps are presented as vital methodologies for any organization that seeks to improve its performance and competitiveness through software. The authors argue that software development should not be seen as a cost center but as a strategic capability that can provide a competitive advantage. One of the key insights from the book is the importance of building quality into products rather than inspecting at the end of production. This is a core principle of Lean Manufacturing, applied here to software development. The authors argue that this approach reduces waste, speeds up delivery, and leads to better products. The book makes a compelling case that high-performing organizations significantly outperform their lower-performing peers, with more frequent code deployments, faster lead times, lower change failure rates, and quicker recovery from downtime. These performance advantages translate to organizational benefits, such as increased profitability, market share, and customer satisfaction. A central theme is the role of culture in IT performance. The authors introduce the concept of a generative culture, which values learning and continuous improvement. Such cultures foster innovation, collaboration, and high performance. Automation is another key factor in improving performance. The authors demonstrate how automation in testing, deployment, and other areas can improve deployment frequency and lead time for changes. The book emphasizes the importance of continuous delivery and lean management practices. Continuous delivery enables organizations to get changes of all types into production safely and quickly in a sustainable way. Lean management practices, such as visual management and a culture of continuous improvement, contribute to higher IT and organizational performance. Measurement and monitoring are identified as crucial for improving performance. The authors propose four key metrics that matter for DevOps: lead time, deployment frequency, mean time to restore (MTTR), and change fail percentage. By focusing on these four metrics, organizations can drive improvements in their DevOps practices. The book stresses the importance of transformational leadership in achieving high performance in technology organizations. Leaders must inspire and motivate their teams, promote a clear vision, intellectually stimulate their followers, and provide supportive leadership. Finally, the authors dispel the myth that DevOps is only for startups or tech companies. They argue that DevOps can generate significant value in large, complex organizations. They also point out the benefits of loosely coupled architectures and teams, which enable organizations to make changes more effectively and efficiently. In conclusion, the book provides a comprehensive and evidence-based guide to the principles and practices that drive high performance in technology organizations. It makes a compelling case that investing in DevOps capabilities can deliver powerful competitive advantage. The book's insights and recommendations align well with my own experience and observations as a professor dealing with these topics. I believe it is an essential read for anyone involved in software development or IT operations.

View