At Smarter Grid Solutions, I lead advances in industrial IoT for Smart Grids from the perspectives of implementation and standardization. I developed the first strategy for contributing to open source software and application of threat modeling approaches to understanding security.
At ChinaNetCloud, I directly managed a team of up to 10 people, interfacing between the founder and the core development group. I help navigate through multiple restructuring events.
At SnapEDA, I built an effective international R&D team consisting of developers, UX, electrical engineers and other domain experts. The team organized around Kanban boards, allowing me to spend time understanding our customers.
Process is the way software development teams and stakeholders organize in order to achieve objectives.
As the CTO at SnapEDA, I implemented a Kanban-based process using Trello for all R&D tasks. The process is detailed on my blog, with example boards in Trello. I also transformed the development process, eliminating the need to test in production by developing automated build, test environments.
At ChinaNetCloud, I drove experimentation with several Agile processes, including Scrum and Kanban over a half year, eventually settling on Kanban as the best process to support stakeholder objectives, especially a desire to release often.
Recognizing the need for the startup to be able to respond quickly to validated learning and move quickly, I directed the team to progressively reducing the release cadence, starting from every two weeks and ending at multiple times a week through a steady focus on reducing friction in the software development process.
Software isn't about the language - it is about the ideas and the language is how you express your ideas in a concrete way. Still, it is one of the first questions we ask.
Smarter Grid Solutions - Packaging for IEC 61131
Industrial software systems are often neglected and the tools and systems often have only rudimentary support for software engineering's best practices.
At Smarter Grid Solutions, we are transforming our software development process for embedded devices to take full advantage of best practices. For our differentiated control applications, we have developed fully automated pipelines that take Simulink-defined state machines and enable developers to compose solutions and automatically deploy then on all major PLC runtimes.
The result? An efficient platform for embedded systems innovation.
SnapEDA - Part Validations
Details in circuit board manufacturing are absolutely critical. Sub-millimeter mistakes can result in poor soldering, bad boards, or even boards that are impossible to assemble. This presents a barrier to acquiring data from 3rd parties such as SnapEDA.
At SnapEDA, I invented a patented verification system that identifies data problems. What makes this powerful was recognizing that the same information is often specified in multiple ways that should be self-consistent. The verification system is able to answer the question of "does this make sense?" and present the results in an easy-to-understand format.
US patent pending 20170249410
ChinaNetCloud - Adoption of React
OpsStack is ChinaNetCloud's Operations as a Service (OaaS) stack management system. As the software architect, I recognized that jQuery was not going to be an efficient way to develop and maintain future requirements.
I evaluated several frameworks, ultimately selecting React over alternatives such as AngularJS and others. This evaluation included a migration strategy so that we could change the front end piecewise and training plans for developers.
I have spoken about the migration in "Evolving an application architecture".
Much of my work is proprietary which makes it difficult to publish. You can find clues as to what I'm working on in a few places:
And if all else fails - just Google for my name.