How To Make The CEO-CTO Relationship Work-Previously published on Forbes on June 17, 2019 The success of a venture-backed company usually depends on two main factors: its technical innovation and the velocity with which it introduces… .
The Art Of Technical Due Diligence-Previously published in Forbes on April 11, 2019 Technical due diligence (TDD) takes place once an investor (such as a venture capitalist, private equity manager or another company) has decided… .
For Machine Learning, It’s All About GPUs-Previously published in Forbes on December 1, 2017 Isn’t it curious that two of the top conferences on artificial intelligence are organized by NVIDIA and Intel? What do chip companies have to teach us… .
The Machine Learning Imperative-Previously published in Forbes on June 28, 2017 There’s no longer a debate as to whether companies should invest in machine learning (ML); rather, the question is, “Do you have… .
Time Tested Engineering Leadership Principles-I put together the first three of these four leadership principles during my first VP of Engineering gig, twenty years ago. Thirteen companies later, and having shared it with hundreds… .
DevOps-Driven Development-It is now time to add the concept of “DevOps-Driven Development” to our repertoire. “Test-driven” development, which originated around the same time as Extreme Programming and Agile Development, encourages us… .
(Boosting) Morale in Engineering-The recent article by Jessica McKellar titled “This Is What Impactful Engineering Leadership Looks Like”, and the question “Any suggestions on how to inspire my team?” published on Everwise, prompted… .
Sprint 0 “vs” Agile-Members of my teams usually look at me funny when I state at the start of a project that we need to plan. The boldest ones may even venture: “We’re… .
Basics of Performance Testing-At the risk of sounding harsh, I cannot remember the last time I interviewed a QA engineer who could clearly explain to me what a Performance Test is. Even more… .
How to Prioritize New Features vs Bug Fixes-The most lively debates that I regularly encounter leading an Engineering team revolves around the allocation of resources between bug fixing and the development of new features: “Why doesn’t Engineering… .
QA does not stop in QA-Quality Assurance does not stop after the software receives the “thumbs up” from the QA team. QA must continue while the product is Live! … because QA is not perfect,… .
Migrating a Self-hosted Architecture to the Cloud-While it may possible to migrate a self-hosted architecture to the cloud with servers in identical configuration, it almost certainly will lead to a sub-optimal architecture in terms of performance,… .
Is Amazon After Oracle and Microsoft?-Amazon is quietly, slowly, but surely becoming a software vendor (in addition to being the largest etailer), with product offerings that compete directly, and in some cases, are broader than… .
Day-by-Day Model of an Iteration-This post presents a practical guide of what happens during a typical Agile iteration - a sort of play-by-play for each role in the team, day by day. .
Agile Processes for Formal Releases-2-4 week milestones culminating in a show-and-tell where Engineering and Product Owner(s) engage in a discussion about priorities deliver a lot of the advantages of Agile methodologies, even without official… .
“Dailies” Bolster Creativity-Design reviews do not simply allow me to have my design reviewed, but also give me the opportunity to inspire my team mates with my own ideas, and kickstart brainstorming… .
In Favor of Design Reviews-Think holistically; code-and-test incrementally Design reviews give a chance for your teammates to contribute - and for you to communicate the impact of your proposed implementation .
In Favor of Architecture Design-An upfront architecture design phase can save a lot of time, and pain, prior to entering an Agile code development phase. Particularly, when complex requirements, high performance or new technology… .
Pair Programming – Does Anyone Do It?-Pair programming: not as efficient as individuals working on their own, but provides valuable benefits: code reviews and joint ownership of the code .
MVP – Minimum Viable Product-Defining the Minimum Viable Product requires the selection of a segment of target customers and deliver the smallest critical mass of features - as early as possible - provided that… .
Who Owns Quality? Part 4-We examine how we modulate our testing efforts throughout the various phases of a project, and how the roles of architects, developers and testing engineers evolve accordingly .
Who Owns Quality? Part 3-"Test early, test often" applies to performance testing - which needs to be run continuously starting at the architecture design phase all the way through the end of the project… .
Who Owns Quality? Part 2-Developers must take ownership of testing their code for functionality, integration and performance .
Who Owns Quality? Part 1-Understanding what role in the Engineering team owns quality is critical to determining how we run our projects .