Hi there, what a pleasure to meet you. My name is Ken and I'm a strong technical leader and software architect with over 15+ years in software engineering. I'm very passionate about building large scale distributed systems and specialized in building high performing engineering teams. Feel free to book a session with me to discuss Engineering best practice, Software Architecture & Solution, Engineering Culture, Career Development, People & Team Leadership, OKR & Goal Setting, Manage Hyper Growth and Startups.

My Mentoring Topics

  • Collaboration between Product & Engineering,
  • Product Strategy,
  • Engineering organization & team setup,
  • Engineering Best Practice,
  • Software Architecture & Solution,
  • Engineering Culture,
  • Career Development,
  • People & Team Leadership,
  • OKR & Goal Setting,
  • Manage Hyper Growth,
  • Startups
V.
3.March 2022

Session with Ken was very helpful and Ken himself is highly competent.

R.
16.December 2021

The meeting with Ken was awesome. He took the time to understand the challenges I face and gave me so many good advices. It was a pleasure to talk to him. Thanks a lot!

J.
18.November 2021

I had a really insightful session with Ken. He was very friendly and keen to share his experiences and advices with me. I was able to ask all the questions I had and Ken was able to answer all of them and give me some actionable takeaways. I really appreciate Ken taking his time to have a chat with me.

P.
4.November 2021

Our session was very helpful. This is the first conversation I've had that's helped me understand what I should be striving for as a tech lead at a high level. In the past, I've gotten advice that was very tactical, with tips and tricks for running 1-on-1's, larger meetings and so forth. I think there were a few key pieces of advice that I got out of this meeting. First, was to stay hands-on in projects and continue honing my IC skills. The second was assessing upcoming projects and their relation to business goals. The third was working effectively with other engineers, and providing guidance through best practices and processes for problems I know well and can delegate to others. As far as action goes, I think I can start making progress towards these goals through the following: - Using the Dropbox Career Framework to identify how I'm doing in my IC work, and grow in areas I'm weak in. - Writing notes on how we've historically built & scaled products at Brigit, and asking product / eng leadership how they made certain decisions. - Getting up to speed with the business metrics & KPIs that Membership values, and analyzing how upcoming initiatives would affect those numbers. - Define and teach best practices whenever applicable. - Learning about processes for better eng collaboration. This might not be applicable at first since I'm working with a smaller team, but would be great as the team grows. - Read Managing Humans / The Manager's Path / No Rules Rules This has been an invaluable experience for me. I really appreciate how you chose to explain what a tech lead should do holistically instead of diving into tactical execution. I think it's given me a framework of areas/topics I should be assessing. Besides that, I look forward to our next session!

V.
25.August 2021

Ken is one of the best mentors I have ever come across in my entire professional career. He doesn't get too technical in the sessions but his sessions will give you a lot of motivation and a clear path to achieve what you need. His communication skills along with his industry experience are top-notch. I am really looking forward to working with managers like Ken or I wish I meet someone like him as a colleague in the future.

d.
9.July 2021

The session with Ken was very inspiring and I loved his maieutic approach: addressing the right questions, rather than proposing any solution, providing tools to challenge the setup, rather than coming up with a recipe. We had a very interesting conversation and I would love to exchange ideas and thoughts further! An enlightened and enlightening mentor: I can only recommend him ! Thanks a lot for your time Ken!Much appreciated!

I.
4.November 2020

How to highlight in my CV the points that recruiters/hiring managers want to see. Great insights into the hiring process and how to answer questions in interviews. Hints on how to tell the right story

S.
29.October 2020

1) As part of engineering, define what is done/ready. 2) Mix up the companies you have worked at to see how different companies do things. 3) Coming late to work is not part of culture, it is part of behaviour. Ownership, sharing, shooting high/ambitious, owning/trust something to the end -> these are mindset/culture.

Anonymous
26.October 2020

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
Measure What Matters - How Google, Bono, and the Gates Foundation Rock the World with OKRs
John Doerr

Key Insights from "Measure What Matters" The OKR (Objectives and Key Results) system is a powerful tool for setting, tracking, and achieving goals. OKRs are designed to align the efforts of individuals, teams, and organizations towards a common purpose. Transparency is a key principle of OKRs, promoting accountability and collaboration. OKRs should be ambitious (moonshots) and complemented by more achievable (roofshots) goals. OKRs should be flexible, adaptable and not tied to compensation or performance reviews. OKR success is reliant on a supportive, feedback-rich culture. OKRs have been instrumental in the success of major companies like Google, Intel, and the Gates Foundation. The "superpower" of OKRs lies in its focus, alignment, tracking, and stretching capabilities. OKRs are not just for businesses, they can be applied to personal goals as well. Continuous learning and improvement are integral to the OKR system. In "Measure What Matters," John Doerr presents the OKR (Objectives and Key Results) system as a vital tool for goal setting and achievement. He does this through a series of compelling case studies from Google, Intel, the Gates Foundation, and even U2's Bono, illustrating how the system is adaptable across different contexts. Objectives and Key Results (OKRs) Doerr outlines the OKR system as a simple method to create alignment and engagement around measurable goals. The system involves setting ambitious objectives and then defining quantitative key results to track progress towards these objectives. This encourages focus and prioritizes action on the most important tasks. Doerr emphasizes that OKRs should not be tied to compensation or performance reviews, as this can encourage risk-averse behavior. Instead, they should be seen as a way to foster learning, innovation, and personal growth. Transparency and Alignment Transparency is a key principle in the OKR system. By making OKRs public within an organization, individuals and teams can see how their efforts contribute to the overall goals. This promotes accountability and encourages collaboration, as everyone understands their role in the bigger picture. Through the use of OKRs, organizations can ensure that everyone is pulling in the same direction. This alignment is crucial for achieving large, ambitious goals, or as Doerr terms them, "moonshots." Moonshots and Roofshots Doerr encourages organizations to set audacious "moonshot" OKRs, which are big, bold goals that inspire and challenge. These should be complemented by more achievable "roofshot" OKRs, which provide a more immediate, realistic target. The combination of moonshots and roofshots encourages organizations to stretch beyond their comfort zones while also providing a clear path to progress. OKRs in Practice The success of the OKR system is exemplified through the stories of Google, Intel, and the Gates Foundation. These organizations have used OKRs to focus their efforts, align their teams, and achieve extraordinary results. For example, Google's Larry Page and Sergey Brin credit OKRs with keeping the company focused during rapid growth. Intel used OKRs to drive a major strategic shift in the 1980s, while the Gates Foundation uses them to tackle complex global health issues. Conclusion Doerr's "Measure What Matters" offers a compelling argument for the power of OKRs. The system's simplicity, flexibility, and emphasis on transparency and alignment make it a potent tool for any organization or individual seeking to achieve their goals. However, as I often stress in my lectures, the implementation of OKRs should be done with care. It requires a supportive, feedback-rich culture and a commitment to continuous learning and improvement. Used effectively, OKRs can, indeed, rock the world.

View
The Effective Engineer - How to Leverage Your Efforts in Software Engineering to Make a Disproportionate and Meaningful Impact
Edmond Lau

Key Insights from "The Effective Engineer" Focus on high-leverage activities that significantly impact your output. Maximize your rate of learning by seeking feedback, experimenting with new technologies, and embracing failure. Understand the business context of your work and align your efforts with company goals. Master your tools and environment to increase productivity. Adopt a growth mindset and continuously seek to improve. Invest time in building relationships and fostering a collaborative environment. Develop effective communication skills to articulate your ideas and influence decisions. Adopt an iterative approach to problem-solving and product development. Prioritize your tasks effectively to manage your time and energy. Practice empathy and build a user-centric approach to software development. Measure your impact and continuously adjust your strategies. In-Depth Analysis of "The Effective Engineer" "The Effective Engineer" by Edmond Lau is a comprehensive guide that offers valuable insights into becoming a highly impactful software engineer. The book emphasizes the importance of embracing high-leverage activities that have a significant influence on your output. This is not about working harder, but about working smarter. As outlined in the book, understanding the business context of one's work and aligning efforts with the company's goals is crucial. This principle resonates with Michael Porter's concept of strategic alignment, which suggests that productivity increases when individual tasks are aligned with the overall strategy. Maximizing one's rate of learning is another key insight from the book. Lau suggests that engineers should constantly seek feedback, experiment with new technologies, and embrace failures as learning opportunities. This aligns with the concept of a learning organization as proposed by Peter Senge in his book "The Fifth Discipline." By fostering an environment that encourages learning and innovation, engineers can adapt to changing technological landscapes and enhance their performance. Mastering your tools and environment is an integral part of becoming an effective engineer. This involves not only understanding the technologies you're working with but also optimizing your working environment to increase productivity. This principle echoes the Pareto Principle or the 80/20 rule, which states that 80% of results come from 20% of efforts. By focusing on mastering the tools and techniques that yield the most significant results, engineers can significantly enhance their productivity. A growth mindset, according to Lau, is a key characteristic of an effective engineer. This involves continuously seeking to improve and viewing challenges as opportunities for growth. This concept finds its roots in Carol Dweck's work, emphasizing the difference between a fixed mindset, which sees abilities as static, and a growth mindset, which believes abilities can be developed. Building relationships and fostering collaborative environments are also critical according to Lau. This is in line with Robert Putnam's theory of social capital, which emphasizes the value of social networks in achieving individual or collective goals. Effective communication skills are also vital, allowing engineers to articulate their ideas clearly, influence decisions, and collaborate effectively with diverse teams. This reinforces the idea of Emotional Intelligence as proposed by Daniel Goleman, which highlights the importance of communication and interpersonal skills in professional success. Adopting an iterative approach to problem-solving and product development, prioritizing tasks effectively, practicing empathy, and building a user-centric approach to software development are other valuable insights offered in the book. These principles find resonance with agile methodologies, Lean UX, and Design Thinking, which emphasize iterative development, prioritization, and empathy for users. Measuring your impact and continuously adjusting your strategies is the final key insight from the book. This aligns with the concept of Kaizen, a Japanese philosophy of continuous improvement. Lau suggests that by measuring their impact, engineers can identify areas of improvement and adjust their strategies accordingly. In conclusion, "The Effective Engineer" is a comprehensive guide that combines practical tips with underlying theoretical concepts to help engineers maximize their impact. By understanding and applying these principles, engineers can enhance their productivity, adapt to changing landscapes, and make a meaningful contribution to their teams and organizations.

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
Learning Domain-Driven Design
Vlad Khononov

Key Insights from "Learning Domain-Driven Design" by Vlad Khononov Grasping the basics: The book begins with an introduction to Domain-Driven Design (DDD) and its core principles, explaining the context and the reasons behind its creation. Ubiquitous Language: Khononov describes this as the common language between developers and domain experts, pivotal in bridging the communication gap and ensuring that all stakeholders are on the same page regarding the domain model. Bounded Context: The author delves into the concept of Bounded Context, illustrating how it helps in maintaining model integrity and reducing complexity. Strategic Design and Context Mapping: Khononov highlights the importance of strategic design and context mapping, demonstrating how they guide decision-making processes about system design and inter-team collaborations. Implementing DDD: The book offers exhaustive guidance on the implementation of DDD, covering aspects like aggregates, entities, value objects, and domain events. Event-Driven Architecture: The author elaborates on integrating DDD with an event-driven architecture to improve system responsiveness, scalability, and resilience. Case Studies: Throughout the book, Khononov provides numerous case studies and examples that help readers understand the practical application of DDD. DDD and Microservices: The book presents an in-depth discussion on the relationship between DDD and Microservices, elucidating how DDD can facilitate the design of Microservices architecture. Challenges and Solutions: Khononov does not shy away from discussing the potential challenges that may arise while implementing DDD and suggests various solutions to tackle them effectively. DDD and Agile: The book also explores the compatibility of DDD with Agile methodologies, providing insights into how they can complement each other in developing high-quality software. Book Analysis and Summary "Learning Domain-Driven Design" by Vlad Khononov is a comprehensive guide that seeks to equip software developers with the knowledge and skills required to implement DDD in their projects. The book is structured in a manner that allows readers to grasp the basics and then gradually delve into more complex concepts. Khononov begins by introducing the concept of Domain-Driven Design and its core principles. He explains that DDD is a software development approach focused on creating high-quality software that meets business needs by aligning software design with business domains. This introduction sets the stage for the subsequent chapters where the author delves deeper into the intricacies of DDD. One of the key concepts emphasized by Khononov is the Ubiquitous Language. He demonstrates that this common language, shared between developers and domain experts, is crucial in bridging the communication gap and ensuring that everyone is aligned with the domain model. This is an important point as it underscores the importance of effective communication in software development, a theme that resonates with my teaching experience. Bounded Context is another pivotal concept discussed in the book. It is a central pattern in DDD that encapsulates the domain model and separates it from other models. Khononov elaborates on how a well-defined Bounded Context helps maintain model integrity and reduce complexity, improving the overall quality of the software. The book also covers Strategic Design and Context Mapping, illustrating how these concepts guide decision-making processes in system design and inter-team collaborations. These concepts are particularly relevant in complex projects where different teams may have different models and interpretations of the domain. When it comes to implementing DDD, Khononov offers exhaustive guidance covering aspects like aggregates, entities, value objects, and domain events. He provides practical examples and case studies to help readers understand these concepts better, which is consistent with the pedagogical approach I advocate. Event-Driven Architecture, another key concept discussed in the book, is presented as a way of integrating DDD to improve system responsiveness, scalability, and resilience. The author explains how events can represent domain concepts and trigger actions, leading to a more reactive and robust system. Khononov also delves into the relationship between DDD and Microservices. He explains how DDD can facilitate the design of Microservices architecture by defining clear boundaries and responsibilities for each service, thereby improving system modularity and scalability. The book also addresses the potential challenges that may arise while implementing DDD and suggests various solutions to tackle them effectively. This realistic approach is commendable as it prepares readers for the possible difficulties they may encounter in their DDD journey. Finally, the author explores the compatibility of DDD with Agile methodologies. He provides insights into how they can complement each other in developing high-quality software. This is a topic of great interest to me as it aligns with my research interests in Agile software development methods. In conclusion, "Learning Domain-Driven Design" by Vlad Khononov is a comprehensive resource that provides in-depth coverage of DDD. It offers a balanced mix of theoretical concepts and practical examples, making it an invaluable resource for anyone interested in mastering DDD. Whether you are a novice or experienced developer, this book will provide you with the knowledge and skills required to successfully implement DDD in your projects.

View
Don't make me think
Steve Krug

Key Facts and Insights Usability as a Necessity: In the digital age, a user-friendly interface is not a luxury, but a necessity. Don't Make Me Think Principle: A website should be self-explanatory and intuitive, reducing the cognitive load on the user. Importance of Testing: Regular user testing, even on a small scale, can greatly improve the usability of a website. Effective Web Navigation: Clear and concise navigation is crucial to user satisfaction and engagement. Home Page Importance: The home page is your website's first impression and should clearly communicate its purpose. Design for Scanning, Not Reading: Web users typically scan content, not read it, so design should cater to this behaviour. Use of Conventions: Conventions, like underlined links or a logo in the top left corner, bring familiarity and ease of use. Eliminate Happy Talk: Excess introductory text or 'happy talk' should be avoided as it impedes user tasks. Accessibility Matters: Websites should be accessible to all, including those with disabilities. Mobile Usability: With the rise of mobile internet usage, mobile-friendly design is a must. Less is More: Simplicity in design leads to better usability and user satisfaction. An In-Depth Analysis The primary concept in "Don't Make Me Think" by Steve Krug is the significance of usability, especially in the realm of website design. Krug posits that in the digital age, a user-friendly interface is not a luxury, but a necessity. He introduces the "Don't Make Me Think" principle, which suggests that a website should be self-explanatory and intuitive, reducing the cognitive load on the user. This aligns with well-established principles in cognitive psychology, such as the idea of cognitive load theory, which suggests that our working memory has a limited capacity. Krug also emphasizes the importance of regular user testing. This perspective mirrors the iterative design process proposed by Donald Norman in his seminal work, "The Design of Everyday Things." Even small-scale, informal tests can greatly enhance the usability of a website by identifying and rectifying issues that developers may overlook. Effective web navigation is another crucial aspect discussed in the book. Krug argues that clear and concise navigation is key to user satisfaction and engagement. This reflects the Information Foraging Theory, which compares users seeking information on a website to wild animals seeking food. Just as animals prefer areas with abundant, easy-to-catch prey, users prefer websites with clear, easy-to-find information. The home page is of particular importance, being the first impression a user gets of a website. Krug insists it should clearly communicate its purpose. This echoes the Aesthetic-Usability Effect, a principle stating that users often perceive aesthetically pleasing design as design that’s more usable. One of Krug's key insights is that web users typically scan content, not read it. Therefore, designing for scanning, rather than reading, is more effective. This concept is supported by the F-Pattern theory of web content consumption, which suggests that users often read web content in an 'F' shape, focusing more on the top and left side of the screen. Krug also highlights the value of conventions. Conventions, like underlined links or a logo in the top left corner, bring familiarity and ease of use. This is consistent with Jakob Nielsen's principle of consistency and standards in his 10 Usability Heuristics for User Interface Design. The book also discourages 'happy talk', or excess introductory text. This unnecessary content impedes user tasks, aligning with the concept of Signal-to-Noise Ratio, which is the measure of desired signal (useful information) to undesired noise (useless information). Accessibility is an important topic in Krug's work. He asserts that websites should be accessible to all, including those with disabilities, reflecting the principles of Universal Design. In today's era, with the rise of mobile internet usage, Krug emphasizes the importance of mobile-friendly design. This mirrors the current trend towards responsive design, which ensures that websites look and function well on a variety of devices. Finally, Krug promotes the principle of simplicity in design. He believes that "less is more" and that simplicity leads to better usability and user satisfaction. This is in line with Occam's Razor, a philosophical principle suggesting that the simplest solution is often the best one. In conclusion, "Don't Make Me Think" is a comprehensive guide to understanding and implementing effective web usability principles. It aligns with established theories and principles in the field, offering practical advice for improving any website's user experience.

View