Fellow Software Engineer Resume
SUMMARY:
- Fellow software engineer with a successful track record in architecting/designing and developing software products for the commercial software industry.
TECHNICAL SKILLS:
Software skills: Software development, object - oriented design, C++, C, Java, database design, SQL, concurrency, tcp/ip, XML, UML, Agile/scrum, embedded systems, real-time development
Platforms/OS: Windows, Linux, Mac, iOS
Libraries/APIs: Win32 API, UNIX system libraries, boost, boost asio, P-threads, STL, Java APIs, JDBC, JAXB
Databases: SQLite, MySQL, Oracle
Other: J2EE, Apache Web Server, JBoss Application Server, Hibernate, JSP/Servlets, Web Services
Tools: Visual Studio C++, Eclipse, Netbeans, Enterprise Architect, ClearCase SCM, AccuRev SCM, Perforce, git, subversion, Coverity, gdb/dbx, Jira
PROFESSIONAL EXPERIENCE:
Fellow Software Engineer
Confidential
Responsibilities:
- Designed and implemented a robust and scalable network communications layer (client/server in C++ leveraging boost asio API), message protocols, client side data model and service layer, and the server side device connection management for Confidential mobile product (iPad/iPhone, Android devices).
- Investigated and improved grade book performance utilizing performance improvement techniques including data caching, database table indexing, bulk queries, and computation intensive database queries to improve performance by a factor of 100.
- Designed and implemented the following in C++ in support of the patent-pending “Activity Wizard” component: database schema (SQLite database), asset repository structure (images/audio/video), database queries (creation, import, removal, and access), content pack design and import functionality, service layer and algorithms.
Principal Software Engineer
Confidential
Responsibilities:
- Designed and implemented configuration data utility in Java 1.5 used to import/export enVision configuration data (database tables and files) to/from an XML based zip archive. Used JDBC for database access and JAXB technology for XML marshalling/un-marshalling using Java annotations. Build system utilized maven. Used Eclipse IDE for development.
- Redesigned existing Windows event collection mechanism in enVision and implemented new solution in C++ to support both the original and the new Windows event infrastructure. Researched the new event and tracing infrastructure in Windows Vista/Server 2008 (Windows Eventing 6.0), wrote proposal, presented to senior technical staff and got approval.
Principal Software Engineer
Confidential
Responsibilities:
- Improved the responsiveness and reliability of a multi-threaded proxy service application written in C++ on Windows XP OS.
- Supported new customer acquisitions as member of sales engineering SWAT team. Quickly resolved many critical issues which led directly to customer satisfaction and the purchasing of the BalancePoint product.
- Implemented support for IBM’s San Volume Controller (SVC) virtualization appliance in BalancePoint product which was essential to obtaining new customers; includes discovery of the SVC topology and mapping to internal data model.
Software Architect
Confidential
Responsibilities:
- Designed and implemented a web application in Java using JBoss application server, hibernate O/R mapping, and web services. Mainly responsible for the back end server development utilizing Quartz scheduling, CRUD services with database access via hibernate, and web services via AXIS for legacy system communication. Also served as technical lead for this project. Project utilized the agile development methodologies.
- Architected/designed an efficient and robust multi-threaded data collection management system for an enterprise performance management product to reliably control the collection, transfer, and storage of performance data from potentially thousands of distributed servers. Led team of 5 developers and was key contributor in implementing this solution (in C++ on UNIX and Windows). This solution allowed BMC Patrol Perform product to reliably scale to thousands of servers.
- Designed and implemented UDR (Universal Data Repository) in C++ on Windows and UNIX. UDR is a patented technology used for the efficient storage of historical performance data with multiple levels of granularity and algorithms for semantically correct summarization; includes a complete set of data access APIs. This solution met critical performance guidelines in order to run on customer’s production servers.
- Effectively lead team of several (4-7) software engineers in multiple software releases through all stages of the development process; includes defining software requirements, developing functional and design specifications, definition of tasks, creation and management of project schedules, coding and code reviews, and unit testing activities.
- Architected and designed an enterprise agent-less data collection solution in C++ on Windows 2000 OS for Patrol Perform product utilizing Windows Management Instrumentation (WMI) system services. Led team of 4 developers and was key contributor in implementing this solution; led directly to multi-million dollar contract.
- Defined roadmap for future product releases with product management, field engineers, and other architects.
Principal Software Engineer
Confidential
Responsibilities:
- Designed and developed a highly efficient and robust multi-threaded real-time agent from the ground up for the BEST/1 distributed real-time performance management product. This was developed utilizing object oriented design and C++ programming language on Windows and UNIX platforms (Solaris, HP-UX, AIX). Utilized Windows native threads and POSIX threads for a portable solution.
- Designed and implemented supporting infrastructure for the BEST/1 product; incorporated Win32 API and UNIX system calls and library functions for various IPC mechanisms used throughout the product (sockets, shared memory, pipes, and memory mapped files),
- Developed multiple C++ libraries for software reuse by many components of the product.
- Developed deliverable diagnostic tools for aiding in the diagnosis of customer problems.
Software Lead and Developer
Confidential
Responsibilities:
- Designed, developed, and integrated software for real-time embedded missile defense and radar systems in C/C++ on real-time multi-tasking operating systems.
RFP Demonstration Task Lead and Developer
Confidential
Responsibilities:
- Defined demonstrable system capabilities with system requirement engineers. Developed network communications software using UNIX sockets on a Sun SparcStation (SunOS). Developed X-Window/Motif GUI application in C++; created custom widgets to provide a superior graphical presentation of data to the user.
Confidential
Responsibilities:
- Led team of 3 developers in the design, coding and integration of real-time embedded software (in C and MC68020 assembly language) on a real-time multi-tasking OS for a distributed, single-board computer (SBC) system architecture. Designed, coded and tested multiple real-time embedded RS-232 serial device drivers using serial communication chips on a multi-channel I/O card. Developed user-interface display and control software in C for touch panel display used for radar initialization, control, monitoring, and tracking.
Confidential
Responsibilities:
- Designed, coded, and tested real-time engagement decision and fire support algorithms in C on real-time multi-tasking OS for Z8000 based SBCs. Developed and conducted system tests, analyzed and solved complex system problems involving several sub-systems. Validated government specifications were met for production released system as lead software engineer representative of First-Article-Test support and analysis team.