Principal Software Engineer2008 - PRESENTPico Tesla Magnetic Therapy
Technologies: Bootstrap, AngularJS, jQuery, Ruby on Rails (RoR), Ruby
- Designed a modular application by making use of Rails engines in which different sub-systems are available in different installations.
- Managed an international team of developers to make frequent and well-tested deliveries.
- Consulted with management and end users to define requirements and product roadmap.
Web Developer2020 - 2020Reelit
Technologies: Node.js, Angular
- Participated in development of a complex user interface using Angular.
- Participated in development of a serverless back end system using Node.js lambdas in AWS.
- Did highly detailed CSS work to match user interface with drawings given by graphic designers.
- Integrated the user interface with the Contentful content management system.
Web Developer2017 - 2020Football Never Sleeps
Technologies: Angular Material, Angular, Ruby on Rails (RoR), Ruby
- Designed and developed a web application for a fantasy soccer game.
- Designed the user experience such that users can pick players from the Premier League and trade players continually to earn money for their teams.
- Developed the application using Ruby on Rails with Angular and Angular Material clients.
- Implemented the GUI in Angular after obtaining designs by a graphic artist.
- Designed the application server to be usable by a RESTful API as well as the web client.
- Served the application on Heroku.
Web Developer2019 - 2019PES Systems
Technologies: Ionic, Ruby on Rails (RoR)
- Created a web application (RoR, Ionic) for streaming movies from an archive of sport games and integrating the streams with a betting system.
- Created an admin-side web application using the same tech to administer users, upload movies, and display stats. The application exposes its own REST API and also communicates with external services, such as an odds calculator, via their APIs.
- Created a desktop application (C#) that connects to a note validator and communicates with it using its API (Innovative Technology NV200) for users to add money to their off-track betting accounts.
Consulting Software Engineer2018 - 2019Rennicks UK
Technologies: Angular, Ruby on Rails (RoR), Ruby
- Developed a web application for monitoring and controlling variable message signs. The application involves integration into maps, sensor systems, and calendars for scheduled events.
- Wrote extensive automated integration and unit tests.
- Deployed the system over Heroku for the main web servers and Linode for sign-communication background workers.
Software Engineer2017 - 2017CACC Physical Therapy
Technologies: Angular, Ruby on Rails (RoR)
- Developed a lightweight custom CRM web application.
- Designed mobile-friendly web pages for the app, which run on iOS in a stand-alone web window.
- Created migration scripts to import data from a legacy CRM to the new one.
- Developed end-to-end automated testing using Protractor and Jasmine.
Software Engineer2017 - 2017Opportunity at Work | Techhire.org
Technologies: Ruby on Rails (RoR), Ruby
- Participated in the development of a service that matches job seekers and hiring companies.
Consulting Software Engineer2016 - 2017NuSet Locks
Technologies: AngularJS, Ruby on Rails (RoR), Ruby
- Designed and developed a web application for configuration and control of programmable lockboxes.
- Used Ruby on Rails 5.0 on the back end and AngularJS in the front end.
- Developed a RESTful API based application in which the back end provides a standard REST API used by the front end.
- Wrote extensive API documentation and sample code.
- Wrote automated tests for the API layer and for the GUI layer.
- Designed and developed the desktop Java application for this system.
Consulting Software Engineer2011 - 2015Wanco
Technologies: jQuery, Ruby on Rails (RoR), Ruby
- Implemented and designed a web application using Ruby on Rails to allow central control and monitoring of intelligent traffic systems devices.
- Implemented an XML/JSON API to allow the system to be used by external automated systems.
Senior Software Engineer2009 - 2010Ascend Geo
- Designed and implemented a .NET Visual C++/C# application in the field of seismic exploration. Part of the application runs on a Windows server and part on an embedded Windows single-board-computer that resides in specialized hardware.
- Created a multi-threaded, multi-tier application for communicating with and configuring seismic data acquisition devices, as well as for offloading and analysis of the acquired seismic data streams.
- Worked on a variety of development tasks including a complex, real-time graphical user interface, Microsoft Office Interop programming (for data-presentation using Excel), device communication, and mathematical programming.
Senior Software Engineer2006 - 2008Cognitive Solutions
Technologies: C#, Java
- Worked on the complete design and implementation of software systems for the configuration, control, and manufacturing of thermal printers across network and local (USB and serial) connections. The system is Java-based (J2EE with Hibernate and Spring) and involves Microsoft Windows, Linux, and Mac OS-X operating systems with MySQL, PHP, and Apache.
- Worked on the partial design and implementation of the precursor to the above system, done in C#.
- Owned and maintained the web server and wiki for internal communications and external distribution of the above-mentioned software.
Senior Consultant2005 - 2006InfoFusion
- Participated in the design and development of a geographic information system in Java, C++ (with COM), and C#.NET.
- Worked on geo-database design, and geo-processing and topology, including data structures, algorithms, and persistent storage of topological and geometrical data. This involved extensive use of ESRI's ArcGIS suite of tools (in Java, C++, and C# APIs), high-level database design, and Oracle PL/SQL with JDBC.
- Designed and implemented web services (in C#) which interact with COM-based services and a J2EE mid-tier. Implemented the J2EE mid-tier with Enterprise Java Beans in WebLogic and WebSphere servers.
Senior Software Engineer1996 - 2004Polycom
Technologies: Pascal, Java, C++
- Designed and developed a group-calling application to run on cellular phones using Qualcomm's BREW platform. (C and C++ on BREW).
- Participated in the design and development of the back-end systems used for the above cell-phone application. (C++ and Informix SQL on Solaris, ISUP, Java, HTML, XML).
- Led a sub-group of about four engineers in the design, development, and maintenance of the core subsystems of a large and complex reservationless teleconferencing system. (C++ and Informix SQL on Solaris).
- Participated in the design and development of an application programming framework geared toward the development of the company's future applications. This framework provided the infrastructure for the socket communications, multi-threading, event-logging, and automatic code-generation of the APIs of the above-mentioned applications. (C++ on Solaris and Java).
Software Engineer1992 - 1995Lockheed-Martin Astro-Space Division
Technologies: VMS, C++, C, Fortran
- Participated in the development and maintenance of a real-time ground-control system used for the launching and station-keeping maneuvers of geosynchronous communication satellites. (C and FORTRAN on VAX/VMS). Supported this system during multiple launch operations.
- Participated in the development and maintenance of mission analysis software used to calculate station-keeping maneuvers throughout the service life of a geosynchronous satellite. (C on VAX/VMS).
- Played a key role in the integration of this system with other ground systems developed in England and installed in South Korea. (C and FORTRAN on VAX/VMS).
- Spent half a year in the Orbit Design group to learn the basics of orbital mechanics during the launching and station-keeping phases.