Michael K. Edwards

Michael K. Edwards Email and Phone Number

Performance is Architecture is Pride in Craft
Michael K. Edwards's Location
Santa Cruz, California, United States, United States
Michael K. Edwards's Contact Details
About Michael K. Edwards

I am a career systems engineer who puts people first and systems second. Experienced Principal Software Architect with recent expertise in both distributed software engineering and Linux systems innards. An enthusiastic advocate of rich tooling for developers, testers, deployers, and API users; expert builder of scaffolding and guardrails around legacy code to support moving fast toward new goals with confidence. Clever, but usually humble enough to put cleverness in service of transparent design intent and execution.

Michael K. Edwards's Current Company Details

Performance is Architecture is Pride in Craft
Michael K. Edwards Work Experience Details
  • Corista
    Staff Software Engineer
    Corista Dec 2023 - Jan 2024
    Concord, Us
    One of Corista's more recently developed components is a prototype that got shipped, which presents a resource challenge: only its primary author can work on non-trivial feature additions. What I did about this:• Survey internal users of the component to understand where it was working acceptably and what will have to change for it to satisfy their needs;• Integrate Checker Framework into the build procedure, as an example of a tool that finds latent bugs using static analysis;• Use Checker Framework warnings to guide an internal API refactoring, and overhaul the implementation to a standard of "zero warnings (with a small number of suppressions)";• Integrate Behavor-Driven Development tooling (Cucumber, Serenity) into the build, and write the first few "screenplay" browser automated tests to solve Basic Auth and unblock QE;• Return ownership to the dev team, not with an attitude of "it was bad and I fixed it", but quite the opposite: praising the good bones of the prototype's design, which supports a plugin model that will make its integration team happy on an ongoing basis once reliability/performance issues are resolved.There is a broader challenge of team cohesiveness, with almost all of the engineering staff fully remote. I got a good start on working on that, but some miscommunication around a medical issue cut my time at Corista short.
  • Snap One
    Consulting Kernel Developer
    Snap One Jul 2023 - Oct 2023
    Charlotte, Nc, Us
    Transformed Linux driver support for an eARC embedded audio chip from an incomplete, undocumented, unsupported vendor-provided code state to a ready-to-ship-product condition. Worked with customer's development and QA team to define a testing program and interoperability matrix, and leveraged HDMI/eARC testing equipment to reproduce interop issues and execute certification tests. Nothing really dramatic, but it was fun to get my hands dirty on an embedded project again.
  • Workday
    Principal Software Engineer, Distributed Systems
    Workday May 2022 - Jun 2023
    Pleasanton, California, Us
    Role description: "Designs, develops, troubleshoots and debugs distributed software programs for enhancements and new products across multiple disciplines and multiple platforms. ... Develop, design and deploy software and tools in support of a data processing system, including highly concurrent transaction processing, distributed memory management, communication protocols, and efficient distributed data algorithms." In practice, this is a hybrid of performance investigation, tool creation, and feature work, both as a coder (Scala, Java, Workday's internal XpressO language) and as a mentor / design and code reviewer for junior staff.Notable projects include:• adaptation of AsyncProfiler for use in Workday's stack, on Workday's dynamically compiled internal languages, and integrating previous work elsewhere in the company onto the Prism query execution engine; and• instrumenting several query execution layers to provide valid metrics of resource requirements and hooks for flow control in the result streaming system.
  • Bitpusher, Llc
    Principal Software Architect / Devops Engineer
    Bitpusher, Llc Aug 2018 - Apr 2022
    San Francisco, California, Us
    Technical leadership, customer engagement, and software development and deployment for BitPusher's customers in IoT and streaming media arenas. Cutting-edge streaming event analytics using Spark Structured Streaming and Kafka Streams. Curation of monitoring-enhanced builds of Spark, Kafka, ZooKeeper, and related components in the Java/Scala ecosystem. In collaboration with customers' engineering staff, overhaul of key components of the customer code base and of the operating systems underneath critical data-tier systems to achieve low-stress 24/7 operations and reliable recovery from fleet-wide downtime scenarios. AWS Certified DevOps Engineer - Professional.
  • Samsung Electronics America
    Linux Kernel / Cloud Software Engineer
    Samsung Electronics America Dec 2017 - Jul 2018
    Ridgefield Park, Nj, Us
    Design and implementation of an Alexa client stack split between a low-resource embedded device (based on Samsung's ARTIK module) and a Linux-based home hub.
  • Interana
    Software Development Consultant
    Interana Sep 2017 - Dec 2017
    Mountain View, California, Us
    Performance overhaul of the "flow engine" mechanism central to Interana's major version update, in collaboration with the chief backend engineer. Restructured the data flow from a one-at-a-time, hash-table-lookup strategy to a microbatch merge-sort strategy, achieving dramatic reductions in CPU time and memory footprint for the heaviest step in a typical interactive flow-metric query. Research work on extending high-cardinality queries to even higher cardinality using a jump-consistent hash and a Robin Hood hash with backward shift deletion.
  • Tensyr Inc.
    Software Engineer
    Tensyr Inc. Apr 2017 - Jun 2017
    Tensyr, at the time when I was employed there, was engaged in the development of a distributed computational architecture to accelerate higher-order linear algebra computations on real-time streaming data. I contributed to the implementation of high-performance inter-socket buffer streaming connecting bare-metal runtimes to I/O nodes, to the design and implementation of a low-overhead cross-core performance monitoring architecture, and to prototyping a notebook interface for practical interactive use of Tensyr's proprietary expression syntax.
  • Metamarkets
    Principal Software Engineer
    Metamarkets Jul 2016 - Jan 2017
    San Francisco, Ca, Us
    Software and systems engineering for the streaming event ingestion and aggregation system underlying the Metamarkets analytics product – thousands of cloud instances processing on the order of 100 terabytes a day of customer data, joining ad impressions and clicks against the detailed records of automated auction bidding. Core technologies include Kafka, Samza, Zookeeper, and the Druid column-oriented data store. Responsible for dramatic improvements in reliability at scale, which contributed significantly to retention of key customers and re-signing of customers who had churned during an interval of poor systems reliability. I presented lessons learned and future directions at the Strata+Hadoop conference in March, in a talk on "Operating Kafka at Petabyte Scale".
  • Interana
    Software Engineer
    Interana Jun 2015 - May 2016
    Mountain View, California, Us
    Software and systems engineering for Interana's behavioral analytics product – a distributed system for filtering and organizing trillions of events into behavioral patterns, all in a matter of seconds. Interana’s analytics stack consists of column-oriented distributed data and string stores; a query planning, scheduling, and distribution hierarchy; a web-based query design and visualization front end; and an import tier that runs an extract/transform/load pipeline, feeding event content to the data and string tiers. I joined the “backend team”, focused on the C++ code comprising the string/data store and the related distribution tiers. Within a few months, it became my role to comprehend large fractions of every layer of the stack – C++, Python, Javascript, and supporting layers from libraries down to the cloud environment’s hypervisor – and fix bugs, add features, instrument for profiling, and dramatically improve performance.One particularly important area of work has been the creation of a structured logging system adapted to the use of our own product for data analysis. This involved a design partner and the help of junior team members, but the core code (a C++ template library leveraging Boost frameworks) and the strategy for reuse of existing logging sites are mine. We have used this system to build an operations monitoring and performance analytics dashboard without which we could not run clusters on the scale of our largest customer; and in particular, I used this distributed profiling system to iterate on the ingestion pathways over the course of two months, pinpoint and address architectural bottlenecks, and build a new Perl / C++ extract/transform/load framework that achieves a data rate (events × columns) more than 100x larger than any cluster we had previously built. This has been critical to retaining the customer, controlling deployment costs, and obtaining referrals within the enterprise that have resulted in substantial new revenues.
  • Magiccube, Inc.
    Principal Engineer
    Magiccube, Inc. Sep 2014 - Mar 2015
    Santa Clara, Ca, Us
    Principal engineer for mobile client software and principal architect of cloud services and protocols for MagicCube, a startup in the mobile payments space. Designed strategy for cryptographic validation of the origin of traffic from the mobile device to the cloud, and designed RESTful API to cloud services. Designed and contributed much of the implementation of two tiers of cloud services (in node.js and Python), the application/protocol SDK, and the mobile reference application.
  • Samsung Electronics
    Senior Principal Software Engineer
    Samsung Electronics Feb 2014 - Aug 2014
    Suwon-Si, Gyeonggi-Do, Kr
    Principal engineer for Samsung SimBand wearable device software platform and cryptographic security architecture. Specified platform software stack and worked with contract staff to deliver three iterations of the Linux platform layers and OpenGL ES integration: a hybrid Android/Yocto bringup stack, a full Yocto stack, and a Mobile Ubuntu variant. Developed C++ framework for biosensor data processing pipeline, ported data reduction algorithms to the target system, and filled in missing pieces, including suppression of duplicate heartbeat detection and combination of signals from multiple heartbeat sensor channels. Developed software for in-form-factor device programming jig using Python/Expect. Worked with Mobile division at Samsung headquarters to port application software stack (biosensor processing and GUI) onto Tizen on the second-generation in-form-factor device.
  • Amazon Lab126
    Principal Engineer
    Amazon Lab126 Jan 2012 - Feb 2014
    Kindle Fire HD platform/framework performance. GPU driver and cache management overhaul, plus OpenGL renderer extensions, to enable agile handling of image assets in otherwise straightforward Android-compatible apps. Tools for analyzing physical memory usage patterns in Android-like (and other Linux-based) systems. Investigations of, and solutions to, UI fluidity problems all the way down to kernel locking primitives and the CPU scheduler.
  • Cisco Systems
    Software Technical Lead
    Cisco Systems Feb 2010 - Aug 2011
    San Jose, Ca, Us
    Cisco’s Consumer Telepresence Business Unit adapted an enterprise videoconference system into a set-top device, and launched it into the consumer market. I played a key role in getting the product finished and out the door, and in refocusing the team onto a second-generation platform built around an ARMv7 system-on-chip.My technical contributions to the first-generation “ūmi” product included: • solving performance and reliability problems in the graphics stack; • porting chip support components to a long-term stable kernel, and combining them with up-to-date, maintainable open source components in a fully automated build system; and • combining portions of two chip vendors’ HDMI repeaters to form a hybrid that passed HDCP certification.At the application layer, I built a set of C++ framework classes, designed for audio/video architectures that require event-driven interactions among multiple real-time threads. The automated test suite for this system includes 100% branch coverage on the thread/event/logging core, as well as functional tests covering SIP signaling, NAT traversal, DTLS key exchange, and inter-process event exchange using DBus and Google protocol buffers. Using the Valgrind debugging/profiling toolkit, I drove the framework classes and the underlying libraries to a zero-memory-leak standard. Techniques I invented for this system are the subject of several patent disclosures.The second-generation product will deliver a similar experience at a fraction of the cost. Some of my contributions to this effort: • full-motion graphics rendered through Qt/OpenGL at full HD resolution (1080p60) in GPU, using 7% of one CPU core; • implementations of JPEG compression and decoding using NEON SIMD instructions, resulting in accuracy on par with the floating-point reference implementation; and • demonstration builds of internationalized Pango/Cairo font rendering, Phonon/GStreamer audio/video pipelines, and the mobile Firefox web browser.
  • Google
    Systems Deployment Engineer
    Google May 2007 - May 2009
    Mountain View, Ca, Us
    The Systems Deployment Engineering team helps software projects launch onto Google's production infrastructure. It's a specialty within Site Reliability Engineering -- a.k.a. Google.com operations. Like any good operations group, our main job is to find patterns in what we're doing day to day and automate them away. So SDE is also a software development team, building launch automation tools specific to the Google environment.This being Google, our team's principal project is a web app, built using Python and an internal Javascript framework analogous to Dojo. We follow Agile development practice and avoid code ownership, so I've contributed some code to most modules of the system; features in which I've taken the technical lead include: * The original data persistence layer * Visualization of the effect of configuration changes on traffic routing * Representation of the results of template expansion in the language underlying the performance monitoring interfaceIn my 20% time, I've worked on internal projects in Google's other major languages (C++ and Java) and developed demonstration applications using external-facing platforms (Django and Dojo on AppEngine, GWT). I also had a small hand in launching the Climate Savers Computing Initiative.
  • Plantronics, Inc.
    Consulting Software Developer
    Plantronics, Inc. Dec 2006 - May 2007
    Santa Cruz, Ca, Us
    The Core Tech department at Plantronics, under the direction of the CTO, explores new technologies applicable to telephone headsets and related products, and develops reference designs and software / firmware components for use across multiple product lines. I worked with a multi-disciplinary design team to complete and release the first Plantronics product containing an embedded Linux distribution.Most of the code in the developers' kit is third-party open source, and other software staff and contractors have contributed significantly to the integration effort, but I am responsible for completing the platform integration and getting the whole software package into releasable condition. The release effort also involves a great deal of “people work”: design and documentation of the release process, liaison with the legal department and contract negotiators, and expectation setting with executives and prospective customers.
  • Mistletoe Technologies
    Member Of Technical Staff
    Mistletoe Technologies Apr 2006 - Dec 2006
    Us
    At the time of my arrival, the first small batch of Mistletoe systems was in customer trials. I restructured the bootloader packet microcode to share more than half of its source code with the main microcode, and met the bootloader and Linux-kernel release goals on the (revised) schedule. These goals included integration with a new family of Ethernet switch chips, restructuring of the memory layout, and implementation of cryptographic certificate verification using the chip's modular exponentiation core.Working together with the engineering lead on the "host accelerator" project and the principal chip verification engineer, I developed microcode support for the chip's PCI-X interface and designed a “Layer 2+” header used to offload the expensive part of session tracking from the Linux appliance to the ASIC. I wrote an application note used in marketing the reference design, and worked on a prototype implementation of session offloading using two Linux systems.
  • Alien Technology
    Senior R&D Engineer
    Alien Technology Sep 2005 - Mar 2006
    San Jose, Ca, Us
    My responsibilities included:- adapting a bootloader, Linux kernel, and userspace environment to new RFID reader hardware;- porting the ARM-resident portion of the application stack from the existing product;- porting TI’s DSP/BIOS Link and rewriting much of R&D’s DSP code base to coexist with Linux and DSP/BIOS.The resulting software stack interoperates with Alien’s existing graphical reader clients.I worked with colleagues to:- develop a Windows CE board support package and modify the existing bootloader to also boot WinCE;- revise processor and FPGA pinouts to accommodate a new synchronous burst mode Flash device;- extend the opto-isolated I/O interface to be compliant from TTL levels to +28V;- write the RFID “Q protocol” layer of the DSP code, optimized based on my statistical analysis of tag populations;- design a new bit recovery layer that, according to simulations, should be more tolerant of timing variations than anything yet seen in the industry.
  • Symbol Technologies
    Senior Software Engineer
    Symbol Technologies Jan 2004 - Jul 2005
    Chicago, Illinois, Us
    I served as “Linux appliance expert” for the Symbol Mobility Services Platform (MSP), a network and wireless device management solution. I completed the Linux port and built a custom Debian distribution, an autobuild system, and a CD-based manufacturing process that recognizes multiple hardware models and installs the operating environment from the firmware up.Meanwhile, we hit a maintenance crisis in a legacy C++/Python network manager on MSP and Windows. I analyzed and solved the performance problems by adapting the Python “hotshot” profiler for multi-threaded use. I cut about 10% of the 46,000 lines of Python code, rewrote another 20%, and updated the toolchain and third-party libraries, without damaging the capacity of the permanent team.Version 1.0 of MSP was released in August 2004, with field upgrade mechanisms already developed and tested; later releases have included migration from Debian to Ubuntu, a new generation of hardware, and the Linux 2.6.10 kernel.
  • Sane.Net
    Principal
    Sane.Net Apr 1998 - Dec 2003
    Employed and managed technical and administrative personnel and served as technical lead on the company’s consulting projects serving clients in Silicon Valley, elsewhere in California, and outside the USA.Networked voice and video applications: agile video recording / playback features for set-top and handheld platforms; scalable VoIP device emulator on Linux.Revising applications and networking code for portability, performance, and added features: production-quality ports using the Netscape Portable Runtime; adapting an SNMP manager stack written in C for multi-threaded use from Java.Critical code in special programming environments: embedded devices, kernel drivers, protocol stacks, RDBMS internals, application plug-ins.Web interfaces using clients’ choice of platforms and tools: Apache, IIS, and Jakarta Tomcat; Perl, Java, VBScript, and Javascript; CGI scripts, JSP, PHP, and embedded Perl and VB; SQL RDBMS [PostgreSQL, Oracle, MySQL].
  • Sony Electronics
    Staff Engineer
    Sony Electronics Oct 1999 - Aug 2001
    San Diego - Us | Tokyo - Jp, Us
    Technical lead on an engineering team developing next-generation interactive television / broadband service prototypes on Linux and VxWorks. Responsible for systems programming, including integration of hardware and software MPEG decoders for random access within MPEG2 programs under Linux and ports of an infrared receiver driver and the VxWorks IDE driver to our MIPS-based set-top prototype. Co-presenter on three demos at Sony’s Tokyo technology fair.
  • Hal Computer Systems
    Senior Systems Administrator
    Hal Computer Systems May 1997 - Apr 1999
    Senior technical member of UNIX support staff for 800-host engineering operation using Vantive workflow and problem tracking tools. Architected High Availability NFS Cluster on Digital Unix with TME-10 NetView SNMP monitoring. Coarchitected High Availability E-Mail Cluster (Veritas FirstWatch on Solaris) and implemented application fail-over.
  • Applied Materials
    Network Administrator / Sgi Specialist
    Applied Materials Aug 1996 - Mar 1997
    Santa Clara, Ca, Us
    Supported SGI engineering cluster in 40-host engineering lab and managed service relationship with PC-centric corporate MIS. Maintained systems and applications (including open-source software library) and deployed Unix/PC interoperability and collaboration services, including multi-protocol file services, ATM LAN Emulation, and LAN videoconferencing.
  • Intelligent Vision Systems, Inc.
    Chief Designer And Senior Project Manager
    Intelligent Vision Systems, Inc. Jun 1992 - Oct 1993
    Santa Clara, California, Us
    Researched, invented, and implemented real-time video processing algorithms for an embedded machine vision system for traffic analysis and control. Sole inventorship on U.S. Patent #5,438,360 (Machine vision camera and video preprocessing system). Implemented real-time software prototype on SGI workstation in C and MIPS Assembly. Selected and ported to core DSP components and supervised contract product engineering firm responsible for hardware prototype.

Michael K. Edwards Skills

Linux Perl Embedded Systems Software Development Unix C++ C Python Firmware Testing Integration Java Embedded Linux Distributed Systems Embedded Software Sql Git Javascript Tomcat Agile Methodologies Mysql Mobile Devices Enterprise Software Apache Cloud Computing Algorithms Architecture Linux Kernel System Architecture Programming Software Design Postgresql Software Engineering Open Source Solaris Php Tcp/ip Networking Rtos Wireless High Availability

Michael K. Edwards Education Details

  • University Of California, Santa Cruz
    University Of California, Santa Cruz
    Physics
  • Princeton University
    Princeton University
    Astrophysics / Computer Engineering

Frequently Asked Questions about Michael K. Edwards

What is Michael K. Edwards's role at the current company?

Michael K. Edwards's current role is Performance is Architecture is Pride in Craft.

What is Michael K. Edwards's email address?

Michael K. Edwards's email address is me****@****her.com

What is Michael K. Edwards's direct phone number?

Michael K. Edwards's direct phone number is +183123*****

What schools did Michael K. Edwards attend?

Michael K. Edwards attended University Of California, Santa Cruz, Princeton University.

What skills is Michael K. Edwards known for?

Michael K. Edwards has skills like Linux, Perl, Embedded Systems, Software Development, Unix, C++, C, Python, Firmware, Testing, Integration, Java.

Free Chrome Extension

Find emails, phones & company data instantly

Find verified emails from LinkedIn profiles
Get direct phone numbers & mobile contacts
Access company data & employee information
Works directly on LinkedIn - no copy/paste needed
Get Chrome Extension - Free

Aero Online

Your AI prospecting assistant

Download 750 million emails and 100 million phone numbers

Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.