- Detailed - oriented, efficient, innovative software engineer with 35+ years of software experience with multiple programming languages, protocols, database development, network management, client/server architecture, and web technologies, who combines this vast knowledge of leading edge technologies to provide strong analytical thinking to match the right technologies for the given requirements, on time, with the highest quality.
Operating Systems: UNIX | Windows | Linux | Solaris
Database Technologies: Informix | SQL | MS Access | Stored Procedures | Warehousing | DB Admin | JDBC | EasyAsk | LDAP | Derby | OpenJPA | MongoDB | MySQL | Oracle
GUI Tools: NetBeans | MigLayout | X | Perl/Tk
Programming IDE's: Visual Studio | NetBeans |Eclipse
Networking: TCP/IP | SNMP | NetView | MIB | Proxy Agents
Test Frameworks: Selenium | RiaTest | SpecFlow | Cucumber
IPC: Sockets | Shared Memory | FIFO's; |XMLRPC | RMI | RestFul Services | SOAP
Process Oriented: Agile | CVS | SVN | JIRA | Git | Ant
Cable Industry: OCAP | Open Cable Specs | Automated Testing
Set Top Automated Test Tool
- This project entailed creating an automated set top testing tool, from conception to deployment. As the sole developer on this project I was tasked with creating a tool that allowed test teams to develop tests utilizing a specifically designed Domain Specific Language (in Ruby) that mimic's a user's experience by emulating activities such as pressing remote control buttons and being able to manipulate menus and guide data via easy to use scripting commands. The power of this tool is its ability to handle image recognition on live streaming video which gives testers the ability to write test assertions based on what a user is supposed to be viewing. The tool was written in Java and Ruby using the ScriptingContainer class as the bridge between the two languages. The tool is multi-threaded and can test up to 32 set top boxes can be at the same time. A client/server approach was used to allow a rack of resources (set tops, video servers, power management boxes, IR emitters, etc) to be shared across the testing domain. The server was written in Java and manages the control of the test rack resources and the data attributes assigned to the resources using OpenJPA/Derby to maintain the data persistence. Communication between the clients and the server is via RMI. Feature requests continue to pour in and I am currently implementing REST services for head-end administration and regular expression parsing of set top output, TestRail integration, and a web interface using Angular.
- In addition to the set top automation tool I also designed an internet video player which allows testers to simultaneously view video from 32 video sources with recording and playback features. And finally I just completed another tool that allows testers to view data from serial port and telnet sessions from 64 set top boxes simultaneously with one button logging of all data sessions.
- Skills Utilized: Java, Ruby, VLCJ, SURF image recognition, SQL, Web Reporting via MyDBR, Java RMI, Windows install tools, NetBeans, XML, image manipulation, socket communication, OpenJPA, Derby, MigLayout
HTML5 guide joint development, CableLabs Visiting Eng
- This IP based set top box project (code named HNav) used Opera and HTML5 as the framework for a new TV guide. My work involved collaborating and complementing this joint development effort between TWC's software applications (such as HNav and ODNSL) and Motorola products and involved working closely with both TWC and Motorola engineers to know both products (via software architectures, Unix/toish command sets, log outputs, etc) to effectively triage and troubleshooting integration issues
Sun Partner External Portal
- Business/System Analyst and project manager for upgrading the SUN PKI infrastructure to VeriSign and updating the Partner/Supplier pre-approval tools to work with the VeriSign Managed PKI. Much of my work entailed analyzing the Partner pre-approval tool and figuring out what components needed modifications to work with VeriSign. I personally organized the entire software project into an integrated source code, build, and deployment system using scripts I built with ANT, Perl5, and Solaris pkg tools. I detailed work tasks and estimates for the entire project and coordinated work with developers in India, handled deployment processes in Sun, and dealt with Product issues with VeriSign. I also participated in writing customized C++ code changes to the VeriSign product and also did Java code updates to the existing pre-approval tool code.
- Technical project lead for Sun’s Partner community external portal infrastructure, my.sun.com. I had a team of about 7 software developers which I lead. I was responsible for the technical architecture of everything from handling content interfaces, work flow processes, authentication and authorization, registration and data store frameworks, LDAP schemas, load balancing, and performance. I also developed the teams build and deployment system using ANT and instigated several framework initiatives. This project successfully went live in November, 2005 to Sun's Partner community.
- Technical project lead for designing the architecture and implementation of a generic content management API for accessing dynamic content stored in multiple content repositories. The main repository was managed by Documentum. This API was designed using XMLRPC via HTTP to access remote methods that resided inside servlets that used Documentum's DFC API to access the DocBases that stored sun.com documents. This API allowed the easy addition of repository adapters to the API server without requiring front end client changes. It also provided dynamic interfaces, property defined transport selection, advanced logging, and user authentication and authorization. I developed close to 80% of this systems lines of code. This project also required general support of the sun.com infrastructure, which used Resonate, iPlanet, Documentum, and ATG Dynamo.
- Skills Utilized: J2EE, Java, Servlets, XMLRPC, DFC, serialization, content caching, connection pooling, system analysis, architecture of integrated components, project management, vendor relationships, product lifecycle management, client requirement definition, software development, project management, web architecture, performance analysis, framework architectures, content management, J2EE, Java, ANT, CVS, Perl, pkgadd, SunOne Portal design, SunOne Identity Management, LDAP, JNDI, XML, XSL.
- Manager of a group which handled business reports done within the Trade Server product. I put together a team of people to handle the Enterprise Reporting solution for this project. Several third-party products were evaluated and compared as to how they integrated with the JSP presentation layer, EJB business objects, and security model. This effort was done in parallel with defining report requirements with customers. The selected product was StyleReport and a full-blown prototype was developed before Global Commerce was dissolved.
- Skills Utilized: Third-party software evaluations, Oracle, J2EE, Java, Servlets, JSP, prototyping.
Product Information Expert
- Lead developer, system architect, and project manager of a data mining system that acquired information from 100,000+ Lucent customer systems and stored the product information in a terabyte data warehouse and presented the data via the Web using English queries. I performed all aspects of the development cycle: from business case creation, project management, hardware/software analysis, requirements definition, hardware/software setup, data modeling, software architecture, implementation of infrastructure, user interface design, and deployment to user community. This innovative application saved Lucent 3 million dollars and enabled development, support, and marketing groups with information at their fingertips to better serve customers. I received the Lucent President's Award for this innovative product.
- Designed and implemented a set of tools that automatically collected port usage information from Lucent customer equipment. The information was summarized as a lease invoice per customer. These tools helped Lucent generate extra revenue of 2 million per year.
- Designed and implemented an expert agent to resolve error and alarms in the Center Stage framework of DEFINITY. This work greatly reduced the number of tickets that were being dispatched to technicians
- Lead developer in designing and developing a build environment and source code system that managed a projects code base from a common area. This build system allowed developers to have sparse workspaces and enabled them to build executables on multiple hardware platforms without having to move source code from machine to machine. I achieved this task by using a remote compile approach that allowed applications to be built on any hardware and software platform regardless of the location of the source code. This build system greatly simplified a developer's task of building on different platforms and allowed projects to quickly and easily build software on new platforms with minimal effort. The source code management system I designed and implemented helped developers to create and maintain sparse workspace, to set build targets, to build with specified software versions, to integrate workspaces into integration and official software loads, and to quickly browse workspace and official source code
- Designed and implemented an OpenView/NetView application that graphically displayed the changing alarm states of Lucent PBX's and Proxy Agents. This application worked by receiving SNMP traps and by polling products for Health Status MIB's. The polling was non-blocking and could be done on multiple objects simultaneously. The application did auto-discovery of Proxy and PBX objects and handled all map and user events immediately and interfaced with REMEDY to generate trouble tickets. I wrote a documentation manual which described to customers how to setup REMEDY schema's, macros, and commands to enter a new alarm state as a trouble ticket
- DEFINITY work involved everything from developing new call processing features, to modifying message sets, to system administration GUI design, to internal system audits, to voice mail features, to performance improvements, and MR blitzes