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.
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.
Didn't find what you were looking for? I've also completed commercial projects in Objective-C, MATLAB, IEC 61131, VHDL, Perl, VB.NET and probably more that I've forgotten.
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 patent-pending 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.
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".