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 - Self employed, Austin, TX 8/2017 to present. Writing and documenting another very complex strategy/video game in Java. Also working on another book due for publication later this year.
Author - Self employed, Austin, TX 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.