Robert S. Gregg
1416 North Abingdon Street
Arlington VA 22207
E-mail: resume_inquiry@bobgregg.com
Web format: resume.html
Word format: resume.doc
Rich text format: resume.rtf
A career in software engineering and project leadership on the cutting edge of software and information technology.
Supervisor, Home Banking Development, May 2004-present. Currently leading a team of developers maintaining Navy Federal's home banking systems. Responsibilities include the core Account Access system, as well as several dependent authenticated services. Current technologies used by our team include C++, Java, J2EE, WebSphere, Lotus Notes, and DB2. Our team is also knowledgeable in mainframe transport and Web-enablement technologies, such as IBM Host Publisher, Hostbridge, CICS Web Gateway, and so on.
Senior Systems Analyst, April 2002 to May 2004. Worked as lead developer on transitioning NFCU's web-based Account Access system under in-house control. Application was originally developed by a third-party vendor (IBM), and was to be transferred to in-house development and maintenance. Worked with the vendor and internal customers and technical staff to develop a plan for transitioning control, and worked on porting the application itself between compilers and development environments to support in-house development work. Also worked on functional, performance and security enhancements to the application in parallel with this effort. Performed analysis and documentation work in support of the migration effort, as well as helping develop the in-house development process (including source control, version and migration control, packaging processes, etc.). The project was written in C++ utilizing shared memory tables and DB/2, with some Perl and shell scripting. Technical work included experience with multithreading, SNA/LU62 communications, sockets and TCP/IP communications, HTML, CSS, Javascript, and others. Used several source control tools, including CVS and ChangeMan DS, during the course of the project. Other tasks included mentoring younger developers.
Senior Software Engineer. Worked with several other developers on network management software, to help develop a product to complement Acterna's existing network product suite. Primary responsibility was helping design and develop new functionality for Capacity Manager, an existing tool for analyzing telecom network performance and metrics, and enhancing it to perform real-time data collection and analysis for use with data (TCP/IP) networks. Also helped architect the development group's intranet development effort (including migration of document archives from NT and Novell to Solaris-based access), and served as technical mentor and supervisor for the development group's summer intern program. Other responsibilities included authoring requirements and architecture documents, providing technical recommendations for remote network access methods. Primary development was done in C, with some Perl and shell scripting. Technical work included experience with named pipes, multithreading, Oracle (8i) database, Samba, X-window client setup (Exceed, Go-Global, Xfree86), SNMP, others. Used several source control systems (SCCS, CVS, Perforce), as well as Remedy/Baystone tools for issue tracking. Also limited work with C++ and CORBA.
Project Team Lead. Was brought in as a software engineer to help develop a CORBA-based interface system to allow outside companies wishing to compete in local service to access Bell Atlantic's operational support systems (OSS). The development of this interface was a key requirement for FCC approval of Bell Atlantic's entry to long distance in New York. Over several months, took over all responsibility for project tasks including software development, architecture and design, requirements management, project management, team leadership and oversight, production support, configuration management, documentation, interaction with clients (product management), and more.
Managed a team of up to three other developers during the course of the project. The project involved Solaris 2.5.1 and 2.6, C++ source code, Korn/Bourne shell scripts, Iona's Orbix and OrbixSSL products, sockets, multithreaded proxies and servers, and RogueWave libraries. Technical skills involved included use of x.509v3 certificates for the security framework, intimate knowledge of the CORBA 2.2 standard and Iona's proprietary extensions, basic Unix system and network administration, and use of System V standard packaging utilities for development of the production deployment framework and distribution. Architectural concerns included internal Bell Atlantic security standards (including communication across the Internet), distribution of components across Bell Atlantic's internal networks, interaction with numerous internal systems using various high-layer protocols over Unix sockets, and performance constraints imposed by outside agencies.
Additional accomplishments include being Bell Atlantic's representative on the standards board (TCIF/ECIC) responsible for the CORBA interface specification, and being representative to the organization's Software Engineering Process Group (SEPG). Received a special individual vice presidential award for accomplishments during the project.
Staff Analyst. Involved in analysis, design, implementation, testing, and maintenance of next-generation billing software for the Southeast's leading telecommunications firm. The software developed was critical for the success and business evolution of the company. Systems were written using C++ and involved very large Sybase databases interfacing with both graphical and batch interfaces through highly distributed, CORBA-compliant, three-tier client-server programs. Received professional training in C++, object-oriented analysis techniques, metrics gathering, and other software process issues. Gained experience in Unix, C++, Korn shell scripts, Iona Orbix, RogueWave libraries, SQL, and others. Acted as advisor and technical support for the team's software configuration management. Also provided testing support for early phases of the project, and some MVS/JCL work.
Programmer/Analyst. Developed software for credit, database, reporting, and accounting systems for a large retail firm. Systems were written using COBOL II and SQL on MVS-based IBM mainframes. Received professional training in SQL, DB/2, CICS, and other topics. Helped develop the organization's coding standard and documentation processes.
Consultant. Worked with a local charitable organization to develop a PC-based database system that would perform mass mailings, maintain information about donors and donations, print receipts, and many other functions. The system used Paradox for Windows, which includes a visual, object-oriented language for building Windows database applications.
Programmer/Analyst. Worked on large-scale software systems for health-maintenance organizations, medical clinics and hospital networks. Managed and maintained large subsystems of the company's software in COBOL and JCL. Developed the company's PC-based customer service bulletin board, and created remote login facilities for the company's AS/400 system. Worked on DOS/VSE, AS/400, S/36, and MVS-based IBM mainframe systems.
Programmer. Worked part-time while in school to develop a PC-based graphical interface in C to display and manipulate information from a MapInfo database.
Programmer. Worked as an intern for two summers, writing COBOL and C applications. Developed company capability for converting in-house applications to C, evaluating C compilers, libraries and development environments.
Master of Software Engineering. This academic program includes an extensive curriculum, ongoing software studio work developing a real-world project, and direct interaction with the Software Engineering Institute and the authors of the CMM.
Software process technology, software architectures, requirements engineering, software analysis, object-oriented design methodologies, networking, distributed systems, World Wide Web technology, multimedia technology, real-time software, software testing techniques, and others.
Included a distributed transaction processor, written in C, using Unix and RPC; a WWW-Telnet gateway, using a Java front-end and a telnet proxy server written in C; and our studio project, known as TUGV, which involved reverse engineering an existing 20,000 LOC system written in C, and porting it to Ada for use on a new hardware/OS platform.
Bachelor of Science in Computer Science, with a minor equivalent in Mathematics. Numerous awards, including Outstanding Senior and Outstanding Junior in Computer Science. Student founder of the campus chapter of the Computer Science honorary society, Upsilon Pi Epsilon.
Available upon request.