A process of discovery and exploration aimed at developing a deep understanding of your systems, technical challenges, and business problems. In order to establish this understanding, close collaboration with you is integral to the process. It is not to embarked upon alone.
Any development project I undertake can be loosely broken down into the following parts: Discover, Explore, and Build.
First, let's discover what your business needs/technical challenges are all about.
What are you trying to achieve? What existing software solutions do you have? What are the non-negotiable vs. the nice-to-haves requirements?
Second, let's explore these business needs/technical challenges to establish a shared and deep understanding.
What are the various systems and processes? How do they interact? What are the first principles? Close collaboration is key.
Third, let's build the solution.
Discovery and exploration remain ongoing. There will always be more questions to ask and answer throughout the process, always more side trails to explore.
Develop an understanding of the breadth and depth of your system, and the relationships and interactions between the various parts.
Design solutions that incorporate and consider all aspects of a system.
Exploratory software development to better understand the solution you want, and really need.
Implement well-designed code, enabling future growth and reducing maintenance overhead.
Introduce new cloud services into existing systems or processes, or migrate existing non-cloud systems to the cloud.
Java, JavaScript/TypeScript, React, MySQL/SQL, AWS, and more…
Spencer played a pivotal role in redesigning our data synchronization platform for our evolving security requirements. His thorough analysis not only met our security needs but also simplified the product while introducing new functionalities. Throughout the collaboration, Spencer fostered a strong sense of partnership, valuing our input every step of the way
Spencer's dedication to the long-term viability of our product and company was evident. In addition to addressing immediate concerns, he identified areas for future optimization. Engaging with Spencer wasn't merely a project; it was an investment in strategic, lasting success. I highly recommend Spencer for his commitment to excellence and continuous improvement.
I was Spencer’s direct or indirect manager for approximately 5 years across 2 companies.
Spencer is one of the strongest and deepest thinkers I know. His drive to fully understand concepts and systems from first principles leads to his ability to spot insights and create innovative solutions that others would not. He excels at building long term solutions that can stand the test of time.
Spencer produces the best outcomes when the client’s values align with his way of approaching problems. Values like building for the long term, striving for the highest quality and shipping solutions that are predicated on deep problem understanding. When those values are aligned, magic can happen.