James Kent Lewis (Jim)
jim@jklewis.com

SUMMARY OF QUALIFICATIONS:

- Over thirty years experience designing, programming, and debugging various types of software including operating systems, video games, and device drivers.

- Strong experience in Linux including C Language, shell script programming, installing, configuring, and administration. Experience modifying and debugging Linux Open Source network device drivers.

- Experience in AIX, UNIX, shell scripts, system/lab administration, and customer service/support.

- Familiar with VoIP phones, including configuration and troubleshooting. Experience with Enswitch, sngrep, and other VoIP tools. Some experience with ATAs and PA systems.

- Have attained the Red Hat Certified Technician (RHCT) and Linux Professional Institute 1 (LPIC-1) certifications.

- Strong experience with Java writing video games. These are available to play for free from my web site.

EDUCATION:
Lamar University - Beaumont, Texas
Bachelor of Science in Computer Science (BSCS)
Minors in Business and Math

EMPLOYMENT:

Author – 8/2017 to present. Writing and documenting another very complex video game in Java. Also working on another book due for publication later this year.

Author – 3/2017 – 7/2017. Wrote a book on Linux for publication by Packt Publishing Inc. titled Linux Shell Scripting Bootcamp.

Linux/Telco Engineer – SystemMetrics Corp., Honolulu HI 2/2016 – 12/2016
Main duty was to take support calls from customers via phone, email, or the Kayako ticket system. Used Enswitch to configure phone layouts which included IVRs, hunt groups, call queues, time routes, and other VoIP features. Performed diagnostic work using debug logs, utilities such as sngrep, and custom written apps in C. Provisioned new phones and ATA (fax) and visited customer sites when appropriate.

Unix Administrator – Hawaii Pacific Health, Honolulu HI 5/2015 – 11/2015
Confirmed the CommVault backups proceeded without error and repaired them when needed. Managed space on the Oracle Pillar storage and modified backup scripts for better performance and error reporting. Created Linux virtual platforms under VMware 5.1, including Epic/Cache environments. Maintained and monitored several IBM AIX servers, also managed disk storage as needed. Called in failed drives and other components to HP Support. Performed firmware upgrades and other tasks on HP MSA controllers using GUI and command line. Moved, built, populated, and wired racks in various data centers on Oahu. Attended weekly design, department, and other meetings.

Author – 12/2012 – 11/2013. Wrote a book on Linux for publication by Packt Publishing Inc. titled Linux Utilities Cookbook.

Software Engineer - IBM STG, Austin, TX 11/2011 - 4/2012
Worked on the VIO Server development project, a virtual cluster environment implemented on the AIX 6.1 platform. Fixed bugs and added new features using the C language. Researched and solved defects, ran regression tests, attended design meetings. Also ported a few C programs from Linux to AIX.

Software Engineer - TippingPoint/HP, Austin, TX 2/2011 - 11/2011
Assisted with the migration of a 32 bit Linux appliance to 64 bit. Conversion preserved customer data, was unattended using kickstart, and did not require formatting or partitioning of the drive. Job required heavy use of RPM, rpmbuild, and other Linux utilities. Work was done on true hardware and VMWare. Assisted in other areas such as document proofreading/corrections, virtualization, and helped move and setup lab in another building.

Technical Solutions Manager - IBM Global Services, Austin, TX 8/2007 - 4/2009
Assisted Advanced Support clients with Red Hat and SUSE Enterprise Linux server operating systems. Performed troubleshooting and problem solving assistance over the phone and via email. Analyzed system logs and other data, and provided a single point of contact for all issues including hardware problems. Created and sent detailed Problem Management (PMR) report summaries to clients, attended trade shows and visited customer sites. Assisted in other areas as needed.

Software Engineer - IBM Linux Technology Center, Austin, TX 7/2003 - 8/2007
Modified, debugged, and enhanced Linux Ethernet device drivers, including extensive work on the Cell Blade platform. Also fixed bugs and created enhancements for Ethernet testing tools and scripts. Developed and implemented test plans. Created and maintained various web sites and Linux-based documentation including an article for IBM Developer Works. Managed department lab, ordered equipment and handled security compliance issues.

Software Engineer - IBM Microelectronics, Austin, TX 3/2001 - 7/2003
Performed functional verification of embedded cores on prototype PowerPC processors. Created detailed test plans to cover all chip functions. Wrote small device drivers under Linux to test all functions of a particular core in both standalone and under stress conditions. Expert on the Ethernet (EMAC) core, also familiar with others such as DMA, Real Time Clock, Encryption, Performance Monitor, etc. Also served as team leader for various projects and helped maintain the department switches (Cisco).

Software Engineer - Tivoli Systems, Inc., Austin, TX 7/2000 - 2/2001
Ported defect
fixes using Solaris Unix to newer software versions. Fixed other defects (socket and memory leaks, etc.) using code analysis and the GDB debugger. Installed and configured OS/2 build machines, provided OS/2 programming assistance to team members, wrote test programs and test cases.

Software Engineer - IBM Network Computing Division, Austin, TX 7/1997 - 7/2000
Assisted with the conversion of emulated floating point routines on the PowerPC platform. Work was done on a NetBSD server using assembly and C. Created and ran test apps to insure good floating point compliance. Familiar with the RiscWatch debugger. Also tested the kernel and boot monitor, including Java, on Network Station computers. Documented in HTML all test results and procedures. Wrote defects when necessary and assisted with problem resolution. Configured networks, machines, user accounts, etc. Tested BIOS and OS on new hardware and used network sniffer to diagnose LAN problems. Helped out in other areas as needed.

Software Engineer - Cornerstone Integrated Services, Austin TX 3/1997 - 7/1997
Assisted in the design and creation of the Coupon Database enhancement for the Sears cash register project. Checked code for proper output, coding standards, etc. Also helped with the verification of other projects.

Software Engineer - Raytheon E-Systems, Arlington, TX 12/1996 - 2/1997
Worked on a team creating a pilot OS/2 PM project for a utility company. Project used DB2 and TCPIP to radio orders to field personnel and also track other activities. This was a complex project involving many windows, containers, dialogs, and makefiles. Wrote some tools to help manage the project and also helped install and maintain PVCS.

Software Engineer - Tandem Corporation, Austin, TX 7/1996 - 11/1996
Wrote utilities in C on an HP Workstation to help the design team with various tasks including file system (tree) traversal and Shell script verification. Wrote a tool which examines a script and self-documents it by using all available info such as man pages and comments. Ported several apps from OS/2 to Unix including a text editor and file finder.

Software Engineer - IBM Solution Developer Operations, Austin, TX 2/1995 - 6/1996
Provided programming support to ISVs writing applications for OS/2 Warp. Duties involved contacting a customer, getting a description of the problem and/or a test scenario, recreating the problem if necessary (which involved writing C and/or PM code), and then finding and providing either a solution, fix, or workaround. Main area of expertise is with OS/2 Base and Internals. Trained and experienced in use of the OS/2 Kernel Debugger to analyze traps and hangs, and also handled SMP problems. Familiar with OS/2 for PowerPC.

Software Engineer - IBM Personal Systems Division, Austin, Texas 5/1994 - 1/1995
Performed certification tests on network adapter cards under Lan Server 3.0 and 4.0 for the OS/2 SMP 2.11 operating system. Modified and improved the tests when necessary and documented all results and procedures. Familiar with the problems configuring and programming Symmetrical Multiprocessor systems. Also made modifications to NLS files for LS 4.0 and put them on the CMVC system. Official beta tester for OS/2 Warp.

Software Engineer - IBM Personal Systems Division, Austin, Texas 6/1993 - 12/1993
Provided technical support to members of the IBM Developers Assistance and ISVHELP programs. Duties involved calling a customer, getting an exact problem description and/or scenario, recreating the problem if necessary (which usually involved C and PM coding), and then finding and providing either a solution, fix, or workaround. Submitted defects to OS/2 support when necessary. Detailed knowledge of many aspects of OS/2 was needed in order to successfully perform this assignment.

Software Engineer - IBM Personal Systems Division, Boca Raton, FL 11/1992 - 4/1993
Provided 2.5 level support to customers of the IBM OS/2 2.0 operating system. Primarily handled problems with the Workplace Shell (.INI and EA corruption), also investigated more complicated issues. Used the Kernel Debugger and OS/2 source code to solve particularly hard problems. Served as Hardware Coordinator for group of 35 people tracking machine inventory and other items. Also wrote several programs in C and PM to help do the job more efficiently including LHOST, a RETAIN database tool.

Software Engineer - IBM Personal Systems Division, Austin, Texas 3/1991 - 9/1992
Main project involved modifying an OS/2 Presentation Manager application to record and playback key strokes and mouse operations for testing purposes. Also modified another PM app which used NETBIOS to communicate with and receive data from client machines, including the screen contents (VIO) of each client. Became familiar with the OS/2 Workplace Shell, and with porting applications from DOS to 16-bit OS/2, and later to 32-bit OS/2. Helped customers with OS/2 2.0 problems through the HELPOS2 project.

Software Engineer - IBM Information Development, Southlake, Texas 4/1990 - 3/1991
Designed and coded computer based tutorials (CBT) for IBM OfficeVision. Created, inspected, and updated sets of tutorials per instructions from documentation specialists using OS/2 1.2 and Presentation Manager. Also designed and wrote utilities in C for the team to help verify tutorial accuracy in a more efficient manner. Passed a Team Interview class with agency, and received a C Programming Certificate from North Lake College.

Software Engineer - Texas Instruments PPD, Temple, Texas 7/1989 - 1/1990
Designed and modified printer software for airline support. Wrote code in C and z80 assembly in a multiprocessor environment under Unix. Assisted with the implementation of an embedded real time operating system to more efficiently handle printer resources, and designed the downloading capability and code for the printer. Wrote test and configuration software in C, and became proficient using a hardware emulator platform for the z80 processor.

Software Engineer - IBM Entry Systems Division, Austin, Texas 5/1988 - 6/1989
Assisted in the design and creation of keyboard, tty, and printer device drivers in C for the prototype IBM RS-6000 computer. Work was done on LAN connected IBM RT PCs using C and assembly under AIX. Served as Systems Administrator for this lab and wrote several Shell scripts and C programs to enable better network performance and reliability. Wrote a REXX program to completely check entire prototype machine and log results.

RELATED EXPERIENCE:

- Have designed and written over 100 programs and utilities for my own use in order to become a more efficient programmer and employee. These include a full-function text editor, binary editor, and file finder program, among others. The source code for most of these applications will compile to DOS, OS/2, Linux, and UNIX versions. Have also written two OS/2 Presentation Manager video games and several Java games. Some of these programs are available directly from my web page at http://jklewis.com

STRENGTHS:
- Enjoy programming and working hard, will never get "burned out".
- Dependable, organized, accurate, and honest.
- Outgoing and people oriented. Communicate very well.
- Innovative. Strong troubleshooting and problem solving skills.