Are you a solopreneur, entrepreneur, or small startup business developing web-based, mobile, or enterprise software as your first product? I may be the perfect fit! I’ve been a technical and outsourcing advisor on over 120 software development projects, many for small businesses just like yours.
I have been a Chief Technology Officer at a dozen startups, and I’ve guided software companies from the back-of-the-napkin idea stage to hundreds of employees and millions of customers.
I specialize in working with startup ventures that want to develop new software products with flexible, fast-scaling nearshore, and offshore teams. I have long-standing, trust-already-earned relationships with software development outsourcing companies around the world. I also have the business, management, and in-depth technical know-how to provide oversight during the product creation process. I help software startups avoid common mistakes, reduce risk, and achieve better engineering and financial outcomes from outsourced development teams.
If you have an existing team, I can get them rowing together and in the right direction. If you don’t, I can help you determine what you need and help you engage a team that fits. Need an interim CTO fast? I'm ready to step into your existing project and get things back on track.
I encourage you to check out my testimonials and reach out to me if you’d like to speak with some inspiring software entrepreneurs and startup ventures I have worked with over the years.
Benefits of working with me
I’ve worked with more than 90 software outsourcing companies around the world over the last 29 years. Clients hire me to facilitate engagement with these companies—and get it right the first time. Like restaurants, some companies get it right every time, some are hit-and-miss (depending on which chef you get), and some are consistently disappointing with greasy spoons or worse. Trusted relationships and past experiences are incredibly important, and I can help you with both.
After more than two decades of specializing in software development outsourcing, I’ve seen it all. Recognizing negative and positive patterns in outsourcing and software development allows me to help my clients reduce risk and ship better software faster. Please take a look at my testimonials. Notice that some of my best clients have significant outsourcing experience themselves. That says a lot. They know the risks and advantages of outsourced software development teams and have decided to work with me to manage the process and improve outcomes.
Since 1999 I have spent about half of my time living overseas, working on a diverse range of software and technology projects. I’m American, but I have lived and worked in six cities in India and the Himalayan country of Bhutan. I have extensive experience with teams in Asia, Latin America, Southern Africa, and Eastern Europe. I know which companies and cultures are the best fit for specific skills, programming languages, and types of projects. Brazil. Sri Lanka. Singapore. Columbia. India. Poland. Ukraine. South Africa. Slovenia. I know the teams, and I know the technologies. I can make connections and coach you through the outsourcing and development process.
An often underappreciated and overlooked aspect of offshore software development is managing code quality. A third-party code review can help your company catch security vulnerabilities, prevent software crashes, and identify performance issues before they reach production. As an investor, a code review can help you sleep at night. I routinely facilitate engagements with trusted companies specializing in ethical hacking, code review, and open source audits. I also offer these services—and my guidance—finely tuned for the specific needs of software investors.
I love it when my clients come to me with a problem that I can help them solve—software architecture, team building, Product Roadmaps, agile software development techniques, user experience, user journey mapping, monitoring systems, databases, AWS billing. Problem-solving allows me to apply my decades of experience and creativity, and to tap into the capabilities of the many subject matter experts in my network that I know and trust.
I am not looking to point you in the right direction and then disappear. I value long client relationships. Many of my clients have worked with me for years and across multiple startups. I can help you get started, and when the time is right, help you identify and interview a full-time CTO. Even then, you can still bring me in for new initiatives, new products, or at critical times to support you as you scale your software or scale the development team. My goal is to see your face on the testimonials page as another satisfied, multi-engagement, long-term, repeat client!
Without in-depth technical experience, a consultant can do more harm than good when building an outsourced team or guiding software development. I cut my teeth on K&R C in the late ’80s (using Emacs), was a SunOS admin and developer (doing what we now call DevOps) at Princeton University’s privatized network in the early ’90s, and wrote the software powering some of the first large-scale e-commerce web applications for brands including Bass Ale and Wilsons Leather for a software company I co-founded in 1996. I’ve led core engineering on dozens of projects, from embedded systems to industrial automation to mobile applications to enterprise systems supporting national telecom infrastructure. There is a good chance that I have experience with the technical domain and technology stack you want to use. I can also help you pick the right technology for your specific product or use case.
Outsourcing providers around the world are becoming more sophisticated. Many will tell you that they can help you with all phases of your business, from requirements definition to branding design to hosting and day-to-day operations. The reality is that most software development outsourcing companies have a surprisingly narrow focus; stray too far outside their wheelhouse and quality falls off a cliff. The vast majority of outsourcing providers are not staffed or trained to support your application in production—that translates into a lousy experience for your customers. And phone calls in the middle of the night for you. If you are new to building SaaS or mobile software products, please reach out to me about planning for production and operations!
I’d like to think that all outsourced software development projects go smoothly, but that simply isn’t the case. Far too many outsourced software projects fail to deliver, often in predictable and preventable ways. I work hard to reduce risk, to encourage best practices, and make sure the process goes as smoothly as possible. Beyond risk reduction, I also strive to make the development process predictable, pleasant, and straightforward.
“. . . supremely skilled as a technologist, a cultural facilitator, and as a sounding board for business ideas”
We hit the jackpot when we found Michael during a Google search. Engaging with high-quality talent is always difficult and risky regardless of how much time you invest or the quality of the referral source. In this case, what started with a simple web search has grown into a valued partnership that has now spanned two years and several startup companies. While searching for a “Consulting CTO,” we found a “Technical Co-founder.”
I have started multiple technology companies, and for CPA standards, I know a lot about the software development process. I also have considerable experience with software development outsourcing, having engaged teams in Ukraine, India, Poland, and Mexico. Michael, however, has a far greater depth of experience—particularly with overseas teams—and is supremely skilled as a technologist, a cultural facilitator, and as a sounding board for business ideas. Very few people have brains that are equally good at both the logic of engineering and the creativity of business, and fewer still are also excellent communicators and well organized. Michael is the rare breed that has it all in one package. His level of expertise is terrific, and he is a pleasure to work with.
He is responsible, responsive, and has exceptional integrity. In more than 30 years of working internationally for large and small companies, I can say that I have never felt more comfortable knowing that Michael is the one providing technical oversight for our software development and innovation initiatives. Michael has earned my highest recommendation, and I look forward to working with him for years to come.
Frequently Asked Questions
I provide services as an independent consultant. My clients engage me either on a
project basis or on a retainer basis. Most companies hire me to work on a
project-basis initially and then switch to an ongoing retainer model once we have worked
together successfully through multiple projects. Projects have fixed fees based on
achieving objectives that we agree on in advance. A retainer allows unlimited access to
me for advice or consultation by designated people at your organization.
I encourage (and assist) my clients in engaging and paying their outsourced software development firms directly. I do not act as a financial pass-through to outsourcing companies. Companies pay me directly either for specific projects or on retainer.
After many years of consulting, I have stopped accepting work on a time-and-materials basis. Here’s why: I don’t want my clients to feel like they are making an investment decision every time they may need my help, and I don’t want to be seen as self-aggrandizing when I realize that I need to put in more time to get the best outcome. My clients are always best served by a fast improvement or resolution, not a slow one. After completing dozens of time-and-materials-based projects, I have come to realize that pricing by time unit is a fundamental misalignment. So I’ve stopped doing it.
Here is how the process now works: You reach out to me via my contact page. We have a video conference and possibly follow-up calls to determine if we are a good fit for each other. When I have enough information, I’ll make a project proposal that typically has multiple options, each with a fixed fee based on the value delivered. Want to learn more? Give me a shout!
No. I love the life of a consulting CTO, and when the time is right, I can help you identify and hire a full-time CTO. In my experience, most software startups don’t need a full-time CTO, at least at first. When you are further along in your growth curve, there will be much greater clarity about what technical leadership skills you need. At some point, a growing software company will require a full-time Chief Technology Officer, and I’ll be the first to tell you when I think it is time.
I can do a lot, but I do not offer fully-managed development. I have learned through experience that attempting to provide fully-managed development adds considerable risk to the project. As a consulting CTO, I can play a larger or smaller role depending on the project’s scope, the budget, and the team size. Even when I play a more significant role, your company still has essential responsibilities while defining, developing, accepting, and refining the software. Don’t let anyone tell you that they can deliver completed software to you without a significant time investment on your part.
Yes! I have a lot of experience stepping into messy situations where a key technical leader has just left (or been shown the door). I will quickly assess the current situation, identify gaps, and work with founders and remaining team members to get product planning, project management, and software development back on track. I can then work with the team to identify and vet a full-time replacement CTO.
No. There are thousands of software outsourcing companies (and perhaps hundreds of good ones). If you are already working with a company that you are happy with, I can work with them. I can also help you vet and benchmark new companies to see how well they align with your needs and how they stack up relative to other companies that I know well. The only thing I will not do is work with a company where I have had a bad experience in the past. I also don’t go back to restaurants where I have had food poisoning.
In the US market, it can take months to hire a small but highly skilled software team,
and you are competing against thousands of companies who also want to hire (or hire
away) comparable developers. Outsourced software development companies can build and
scale overseas teams much more quickly and keep the team staffed over time. Overseas
software engineers are generally less expensive than US-based, but the game today is
about time-to-scale and time-to-market and less about cost arbitrage.
In the short term, hiring an experienced, independent, US-based advisor like me costs considerably more than depending solely on the resources provided by an outsourcing company. In the long run, my clients typically save many multiples of my consulting fees. In many cases, my clients can ship software that they would never have completed without my help. I encourage you to learn more about my background and see what my clients say about working with me.
I improve software development outcomes by concentrating on a few interrelated services and specialties. The four skill sets illustrated above describe my four areas of expertise and how they connect. A deep grounding in software engineering and development practices are needed to manage software outsourcing successfully. Validation of security and code quality are needed to deliver robust products, provide feedback to developers, and provide objective controls for investors and founders. None of these things matter if you build the wrong product for the market, which is why an understanding of Product Development/Product Management is essential.
Said another way, you can’t select the right technology without understanding the product requirements. You can’t choose the right outsourced development team without knowing the technology stack. You can’t know if your team is implementing your product well without review. You need deep technology skills and experience to understand technical reviews and improve the entire process. The skill set I bring to the table includes these four interlocking elements used to improve software development outcomes. Over the years, as one area has become stronger, the others have also strengthened and matured since they are interconnected.
I use these four skill sets to deliver three services on a consulting basis: Outsourcing Guidance for medium to large-sized software businesses, Consulting CTO for software startups (described above), and Software Investor Services, including code reviews and due diligence.
Learn more about me and my background and check out my testimonials to see what my clients think about working with me.
Yes. I have fantastic relationships with my consulting firm and agency partners. They are an essential part of my business, and I aim to provide not only excellent software development outcomes but also long-lasting commercial relationships that are mutually beneficial for everyone involved. I work with several companies this way, including a well-known firm specializing in software development outsourcing. Here is how it works: Your agency or consulting firm engages with me at as an independent contractor. I wear your company hat when meeting your clients. I can even add your company to my LinkedIn profile to become a part of your virtual team. I provide my outsourcing and technology expertise internally to your organization and externally to your customers.
“. . . opened up a world of technology options and monetization strategies that I had not previously considered”
I was introduced to Michael by a friend who had worked with him for many years and encouraged me to reach out to him. I was in the research and planning stage of a software startup, and our mutual friend thought Michael would be a good technology advisor for my company. He was right. Michael asked a lot of questions about the business model rather than just focusing on how to design and build my product. Working with Michael opened up a world of technology options and monetization strategies that I had not previously considered. I highly recommend Michael, not only for the technical part of building software but also for his knowledge of the software marketplace and his experience with early-stage startups. You will not be disappointed.
Ready to Work Together?
I’d be happy to discuss your project!