We provide IT Staff Augmentation Services!

Lead Software Engineer/architect Resume

5.00/5 (Submit Your Rating)

SUMMARY

  • Well - rounded professional Software Engineer with over 18 years experience designing and developing software API's, toolkits, and applications. John has extensive experience in enterprise development on large server farms, and small lightweight embedded devices. John uses a pragmatic approach, and candeliver from requirements through production roll out and is a very strong team player.

TECHNICAL SKILLS

  • c++ STL, c++11 linux c/c++ c/c++ coding firmware control GPIO and ATD i2c, serial, spi, 1wire, usb, tcpip protocols mesh networks http, REST, XML, rpc, xml, WebServices ajax, xml-rpc, json, google protocol buffers, binary
  • QT c++ framework toolkit, and GTK+
  • MVC design, good documentation skills, UML
  • Subversion, SCRUM python programming using oo and frameworks ide's: VI, eclipse, kdevelop, microsoft studio, arduino, IdealJ, Webstorm unix sysadmin skills for linux, dba skills: postgres, mysql, mssql, jdbc driver linux, embedded linux, unix, OSX, Windows, virtualbox,, windows, AWS, Azure

PROFESSIONAL EXPERIENCE

Confidential

Lead Software Engineer/Architect

Responsibilities:

  • Using the GO language as the chosen technology, I transformed (2) earlier generations of wireless mesh and PoE light fixtures, I developed a multi tiered microservice Gateway, enabling Sensor and Actuator communications to the device network. Utilizing microservices I was able to decouple code bases on a more modularized functional design.
  • Utilized gRPC service calls, using GPB (google protocol buffers) as the marshaling standard for microservice communication. I unified multiple different binary position protocols. I also defined a new GPB TCP/TLS end device that could also be configured to use JSON over TCP/TLS
  • The public side of the Gateway utilized HTTP Rest API, WebSockets and public facing Message Queues for event subscription. A client SDK was also developed to provide a fast start for all new adopting developers.
  • MQTT and WebSocket tunneling was leveraged to penetrate from inside out, corporate firewall configurations in full compliance using CA signed certificates.
  • Choosing GO compiled language supporting multiple processor platforms and operating systems turned out to be a great decision. We now have (3) gateways products as part of the suite, ranging from ARM for small system sub $30 gateway, to a super server having (8) network ports and a quad core X86 processor. Final MicroServices were Dockerized as containers and built with High performance using concurrency and parallel programming were achieved.
  • I developed the first version of the TCP/TLS endpoints, using (3) processor families.
  • Esp32 running FreeRTOS, mediaTek 7688 running OpenWRT and NXP MX6 processor using Yocto to build the linux system.
  • Instumental in converting waterfall development into Agile/Scrum development methodologies focused on 6 month release plan. V2.0 Gateway won Prodouct of the Year for the International Light Fair Convention in Philadelphia May 2017.
  • Upon completion and achieving the award for Product of year above, was promoted as lead Architect/programmer for the Embedded Team and the Middleware Gateway.
  • Skills learned and updated:
  • Time Series Databases (TSDB)
  • Postgres - TimescaleDB design, administration, development REST API development and optimizations Docker Container Management and Packaging COAP, UDP, BCAST, multicast, TCP/TLS, zeroconf and more Virtual Machine packaging for those not interested in buying our Appliance.
  • CoreOS setup and operations deploying all our containers onto Cloud management and Message Queue development MQTT secure message queues AWS IoT Things SDK gRPC microservices

Confidential

Software Engineering

Responsibilities:

  • 5 year contract with a Think Tank Incubator ran by RevTEC
  • I was offered contractor employment to join a "Think Tank Incubator" that was being offered in North Las Vegas at the Las Vegas International Speedway business park. My job was to bring Software and Embedded Technology to the group. There were (3) companies that were formed and commercialized from the Incubator.
  • Briefing of (3) contracted projects

Software Engineering

Confidential

Responsibilities:

  • Programmed Smart BMS (Battery Management System) device for all Lithium battery chemistries
  • This involved writing firmware on BMS itself (c/c++ programming), and developed GUI application tools for field offices to update software and monitor battery health/logs/alerts, Cloud service to auth and encrypt transfer new firmware to devices.
  • Programmed Factory automation tools to QA all new assemblies, and analytic data logger, and report tools. The client tools were cross platform (OSX/Linux/Win32) written in c++ and Qt.
  • Programmed low cost WiFi dongle to embedded board, wrote auto provisioning code on device and gateway to register to network. It sends out health data, and alerts when low battery or proactive bad cell, and other irregularity patterns. Can also adjust thresholds over the network. (LV, HV, OC, OT etc.)

Software Engineer / co-Founder

Confidential

Responsibilities:

  • SwarmTechnologies was formed and designed a line of wireless mesh network electronic Nodes. The features of the product line are connecting isolated low cost 8 and 32 bit microprocessor chips/boards to an 802.15.4 wireless mesh network cluster. This greatly extends the access and SMART management of previously isolated and independent islands of devices.
  • The product received traction in the agricultural industry and now preparing a retail launch at confidential
  • The technical aspects of the solution involve a 4-tier architecture of which I designed and implemented all 4 tiers independently (budget startup) with the exception of other contractors for graphics design, and html5 layout assistance for WebClient (invaluable combination)
  • Tier1: software onboard the sensor/control devices (c/c++)
  • Tier2: software for embedded linux main gateway device (embedded arm processor)
  • Tier3: software for cloud linux server (debian) using GO language webservices
  • Tier4: software for client front end. The primary device is Android 4.x tablet. I started with a Web based html5 client, and currently working on the native Android 4.x application.
  • The power of the embedded networking incorporate AutoDiscovery of nodes as they come on and go offline by assigning leases to each unique node. The wireless Java and c libraries incorporate Zigbee protocol stack, capable of errorRecover, self Healing, adaptive failover routing algorithms. It is a very reliable and robust network for such a low cost environment.
  • The software monitors real time data, datalogs to an embedded gateway database, and replicates to cloud systems via GPB binary transfer system. The client shows real time event based data, as well as a query engine for historical data analytics. The data is then graphically displayed in chart and summary form to digest vast amounts of information in a fast to interpret visual representation.
  • Upon completion of the electronics control and mesh product technology above, i have spent the last year subcontracting to a large alternate energy company, and applied many of the software features to their EV new automobile design, and battery technology. Here are the highlights of the most recent contract.
  • I worked with a large team and implemented software based on their project needs

PRINCIPLE ENGINEER

Confidential

Responsibilities:

  • Developed new SOCplatform for Slot Machine Video Kiosk upgrade. I designed/implemented a c++ SDK library around vlc and gstreamer.
  • Designed a full GUI interactive application front end, to allow a full 2 way interactive Kiosk Conceirge System ( www. Confidential -tv.com) to integrate into legacy slot gaming machines. Used QML and QT
  • Customized linux distro to be embedded Linux stable, and extend existing functionality of a Slot Machine to a networked real time interactive user experience.
  • All client side development was done with QT C++ application library, and ‘c’ device drivers I wrote to interface with existing Slot Computer.
  • Designed and coding for servers to distribute all multimedia content to manage thousands of real time slot machine on casino floor, for the distribution of Videos, video play lists, machine health, updates, user profile management, and offers managed in real time. Server side technology was a collection of ‘C’ programs and Python scripting.
  • I designed and implemented API’s for programming staff to interact with lower level libraries, at higher application level, able to delegate business rule development to larger programming staff. Network Communication protocols were abstracted in the API libraries.

Confidential

PRINCIPLE DEVELOPER

Responsibilities:

  • As co-founder of Confidential, was responsible from inception, of a low cost, hardware accelerated SOC, multimedia, embedded Linux computer platform (Appliance Development Kit). All development work was done with Texas Instruments and c2microsystem processors, the dm6446 and jazzII respectively.
  • Architected all software designs and lead programmers for all product implementation stages.
  • Managed a team of 4 developers and filled the role of lead programmer/architect for a VideoPhone application, VideoRecorder, VideoPlayer, Live Broadcasting station, and STB playback system.
  • Created a wiki support site, and put together training program teaching other developers the use of our API and embedded applications.
  • Conducted training program, and advanced workshop on sale of ADK licenses.
  • Server side development was based on J2EE development, and utilized JDBC and Hibernate, Spring was used for Dependency Injection, Inversion of Control patterns.
  • Promoted to CTO after serving 1 year as lead architect/developer of client and middleware software development. Originally implemented core media API developed at hellonetwork (below). Upon a stable revenue generating successful roll-out, went on to clean room standards based VIDGRID SOA clustered transcoding middleware for use as Video Sharing Service.
  • Architected a VideoEmail, a web based application. Largest application evolved to Video Blogging, Social Networking website confidential . The RS technology was a SaaS backend.

SOFTWARE ENGINEER

Confidential

Responsibilities:

  • Analysis, design and code for java and 'c' applications for management software on a consumer home gateway device.
  • Wrote the backend GUI application for remote support of large deployed quantity of embedded devices.
  • Coded the client side embedded code, to establish uplink communications and transfer log and real­time data.
  • Utilized JINI technology for design, and worked closely with cutting edge java standards being defined, to comply with the Home Gateway protocol. Writing 'C' program code in vxworks to communicate with RMI, http, and CORBA network protocols.
  • Programmed an auto update in field software service to automatically maintain version control of application software. This included expertise on socket level byte detail of the communications protocol.

We'd love your feedback!