Eddie L

Software Engineer 3 at MongoDB, Inc.

New York, New York, United States

About

I was last employed with IBM Canada as an Advisory Software Engineer with the Information Management division working on development for the DB2 distributed RDBMS database engine. I have been with IBM for 14.5 years and have worked on various aspects of the database server infrastructure which deals with advanced C/C++ in a UNIX/Linux environment. The areas include working with UNIX processes and threads, POSIX multi-threading, TCP/IP, network and sockets programming for distributed communication in a partitioned database, concurrency issues, deadlock detection and memory management. Through many years of development in a large scale process-driven environment I have been exposed to all aspects of the SDLC, from requirements gathering, design, coding, regression testing, all the way to release management. I have also led a team of junior developers and interns in the capacity of a mentor during my years with IBM. My last position was team lead for L3 support which deals with customer critical situations and seeing to their quick resolution. I was tasked with the responsibility to debug and review designs to ferret out complex software defects. This position has enabled me to hone my technical, leadership and customer relationship skills. I am very excited to learn new technologies and am eager to expand my horizons with a leading company in the financial domain.

Experience

  • Software Engineer 3 at MongoDB, Inc.
    Aug 2016 - Present · 9 yrs 11 mos

  • IBM Canada Ltd. (9 yrs 2 mos)
    • Advisory Software Developer
      Aug 2010 - Feb 2015 · 4 yrs 7 mos

      • Technical team lead for the Process and Threaded Model component of the IBM DB2 distributed RDBMS database engine. This includes working on a threaded DB2 engine in C/C++ in a Linux, UNIX and Windows environment. • In-depth working knowledge of TCP/IP, network and sockets programming from extensive work on the Fast Communications Manager in DB2. This is the thread infrastructure on each data partition that receives and sends data between partitions via TCP/IP or shared memory. • Designed innovative problem determination techniques and serviceability enhancements that increased team productivity by expediting defect discovery times. Creating UNIX scripts to collect diagnostics in real-time. • Trained and mentored many junior employees and interns as well as oversee their work. • Regularly lead peer design and code reviews. • Technologies: IBM DB2 9.7-10.5, Python, Visual Studio 2010, Eclipse, IBM CRM, IBM Wiki, AIX 7, UNIX scripting.

    • Staff Software Developer, Continuing Engineering
      Jan 2006 - Jul 2010 · 4 yrs 7 mos

      • Lead developer responsible for 5 DB2 releases in the field and L3 support. • Investigated and implemented code improvements in areas such as latching concurrency, distributed communication latency, race conditions, memory management and corruption. This enabled me to be exposed to all aspects of C/C++ including pointers, polymorphism, OOD, inheritance and the STL classes. • Served as SME for resolving defects in the Process and Threaded engine infrastructure and providing expertise in problem investigations. • As a technical advocate for a major customer, redesigned their table space layout using range partitioning leading to much improved data loading times and reduced storage costs for a multi-terabyte database. • Drafted and delivered technical presentations to help customers better understand aspects of the Process model. • Technologies: C++, IBM DB2 9.1-9.5, Rational ClearCase/Clearquest, AIX 5L, Totalview Debugger, awk, TCP/IP, XML, DB2 SQL, UNIX sockets and network programming, database partitioning feature, backup and restore, HADR setup, RDBMS, STL, POSIX multithreading

  • Process Model Software Developer at IBM Toronto Software Lab
    Jul 2000 - Dec 2005 · 5 yrs 6 mos

    • Developed a Concentrator Deadlock detector for DB2 8.2 based on IBM patented technology which was incorporated in to the Database Protection Services component. Work done in C/C++. • Implemented a new set of fast communication layer APIs called Data Queue Services which was adopted for use with the Fast Redistribute of Partitioned Data Utility in DB2. • Integrated Database Monitor support for SAP requirements and enhanced snapshot UDF table functions. • Technologies: C, C++, IBM DB2 7.2-8.2, IBM CMVC version control, cscope, dbx, gdb, Perl, ksh, DB2 SQL, vim, IBM AIX 4, Linux, UNIX, Solaris, HP-UX, Windows 7.

  • PC/Client Server Developer at CIBC Insurance
    May 1999 - Aug 1999 · 4 mos

    • Wrote an enhanced version of two original reports for user security on Oracle 7 database. Programmed reports in SQL using SQL*Plus on Unix 11. • Wrote an Accounts Payable report in SQL and PL/SQL to track top 10 vendors to CIBC. • Redesigned and wrote an expense distribution report to offer more restrictive selection criteria than those offered by standard expense distribution reports. This report was designed from start to finish following client specifications. The SQL*Report from Oracle was used. CIBC clients adopted all reports in the production database. • Technologies: Oracle 7, SQL*Plus, PL/SQL, SQL*Report, Visual Basic 6, UNIX shell scripting and HTML.

  • Systems Test Analyst at CIBC - PERC
    May 1998 - Aug 1998 · 4 mos

    • Performed testing services for medium complex systems including maintenance and enhancement of financial software for corporate clients’ Testing and Quality Assurance requirements. • Analyzed problems with code and performance of new Horizon financial application. • Worked in User Acceptance Testing lab to ensure software performs correctly in real-time. • Designed and updated test scripts to meet user test requirements, providing for test coverage, auditability and other quality assurance considerations. Also responsible for regular conversion of test scripts for each new release.