JOHN PAUL WILSON
*** ***** ***** ******, ********, IL 60103
Home: 630-***-**** Mobile: 630-***-****
Email: ************@*****.***
Product Development and Testing
PROFILE
Comprehensive experience in developing, implementing, integrating, triaging, troubleshooting, and testing commercial, consumer, and government products.
Experienced embedded software developer in various languages, techniques, design and technologies as well as system decomposition, troubleshooting, testing, problem resolution and configuration management.
EXPERIENCE
Motorola Solutions, Schaumburg, IL
Lead Test Software Engineer
Public Safety LTE Private Broadband Devices
September 2011 to November 2015
Developed various fixes and changes to the Windows LEX700 Virtual Keyboard and Theme by making the necessary code changes in C++. Created new versions of Virtual Keyboard and Theme which were included in the Windows LEX700 smart phone releases.
Part of the Windows LEX700 smart phone Triage team which troubleshooted each release and resolved any issues that would occur.
For the Windows LEX700 platform, I created the sanity test plan and executed it for each release. I also monkey tested each release and triaged and troubleshooted what caused test to fail.
Automated current drain testing for the Windows and Android LEX700 smart phones.
In charge of the Internal User Trials for the Windows and Android LEX700 platforms. All issues that were reported through the Google online submission form was troubleshooted by me and for all new issues Clearquest SR’s were opened.
For Android LEX700, I created the test titles and procedures for System Test for Audio, Calling Dialer, Display Backlight, Gallery, Image Subsystem, Messaging, Music, Power Management, and the Sound Recorder and executed the procedures. I used Python to automate these test procedures.
Collaborated with the PSLTE SIT RF Performance team in automating their performance tests for the Windows and Android LEX700 smart phones which allowed test execution to be reduced from 6 weeks to 2 weeks. This entailed writing new scripts in expect, perl, unix shell scripts, and batch files. This allowed for simultaneous execution of Android LEX700, APX7000L, and VSM programs without an increase in staff or capital equipment saving Motorola Solutions 910K in lab expansion costs.
I was the Test Lead for the System Test Team for the Android LEXL10 smart phone. I was able to lead the System Test team (SIT) to complete ATR for LEXL10 M5. I was also responsible to scrub LEXL10 SR’s from a SIT perspective in order to complete ATR for LEXL10 M5.
Research in Motion, Rolling Meadows, IL
Software Engineer
Blackberry Java Core User Interface (UI) Platform Development Team
Feb 2011 to July 2011
Developed Core UI software in Java for Blackberry handsets for the virtual keyboard which was used by the applications group; i.e., created the virtual keyboard layouts for the Nordic, Swedish, and Norwegian virtual keyboards.
Developed various fixes and changes to the Blackberry Virtual Keyboard by making the necessary code changes in Java that was being used in the Blackberry 6.0 system release.
Motorola, Inc., Libertyville, IL
Lead Software Engineer
3GSM Modem Integration Team for Android based products.
Nov 2009 to Dec 2010
Sanity tested and triaged all LTE Datacard software releases. Troubleshooted and resolved any issues that would occur.
Provided software to the factory for all hardware LTE Datacard builds. Sanity tested this software both in the lab and in the factory. Troubleshooted and brought about quick resolution for any issues that would occur.
Created sanity test plans which were used by the automation team in order to automate sanity testing.
Motorola, Inc., Libertyville, IL
Lead Software Engineer
3GSM Modem Integration Team for Cedar Point Platform, Symbian MUIQ Platform, Argon based P2K Platform, and Android based products.
Jan 2007 to Oct 2009
Used LTE prototype hardware in order to integrate LTE prototype software that would allow the LTE prototype hardware to attach with a network simulator on an Ubuntu host and be ready to accept data traffic
Worked with Lauterbach in order to get TRACE capability working on the LTE prototype hardware so that component teams implementing the LTE prototype software would have debug tracing capabilities.
Triaged phone issues on Symbian based products to determine the source of the problem then resolved the issue by either making code changes in C++ to fix the issue or forwarded it to the appropriate team for resolution. Used Lauterbach for these debugging purposes.
Developed a driver in C++ for a test command that was integrated with an application that allowed hardware engineering access to exercise the hardware.
Worked on current drain analysis for Symbian based products. Optimized hardware register settings so that current drain could be minimized.
Helped in the cost cutting saving for the P2K products. Implemented and integrated the software in C++ needed to sure a GPU-less P2K portable including debugging with the ARM RealView JTAG ICE/Trace toolset. By getting rid of the GPU part, it saved Motorola $25 on each phone. This was known as the IPU feature.
Helped to integrate and debug CLI issues when first attempting to bringup the CLI for this GPU-less P2K portable.
Responsible for getting partial mode working on this GPU-less P2K portable. Implemented partial mode using C++ into this framework and then corresponded with the appropriate teams twice weekly in IPU status meetings so that the proper partial mode API’s and functionality of this feature would work.
Worked with a team in getting ESD functionality working on this GPU-less P2K portable. Implemented the ESD timer functionality into this framework by using C++ so that when the timer expired, the IPU frame interrupt would be enabled.
Worked on current drain savings for the P2K products. By measuring ArgonHVIO, ArgonLVIO, and RFLVIO while changing MUXCTL and PADCTL register settings, the current draw decreased for HVIO to approximate 360uA and for LVIO to approximate 500uA. Before first attempting current drain savings, both HVIO and LVIO were over an Amp.
Motorola, Inc., Libertyville, IL
Lead Software Engineer
Platform Integration Team
March 2005 – December 2006
Responsible for the bringup of the ArgonPlus and ArgonLV processor type products (Argon 2.2/2.3). Resolved the issues which caused the bring up not to occur by debugging the cause why the phone wasn’t doing a full power up.
Integrated software platform solutions to the product teams by creating fully integrated Modem software.
Represented the Platform Integration Team at “Argon’s Platform DPHU drive down meetings” that were held daily. Triaged all of the factory panics and exceptions that were documented for the products. Debugged the issue in order to find the cause of the problem and forward the specific panic or exception to the appropriate team.
Assisted the HW group in combining the SDRAM, NAND, and NOR tests that they used into a loadable test which would allow the user to select the test through the debugger.
Motorola, Inc., Libertyville, IL
Lead Software Engineer
3G UMTS Paragon Software Development Team
October 2002 to February 2005
This team was specifically the 3G UMTS Power Management team for the A920, A925, A1000, and M1000 smartphones.
Developed and implemented power cuts in C++ with the TI OMAP1510 processor. Completed the power cuts requirements, design, coding, and testing for the Power Cuts ISR and setup. Used the OMAP JTAG tool for debugging the bootstrap during this power cut work. Used a logic analyzer and an oscilloscope to analyze the signals especially for race conditions.
Worked on current drain for these products. Optimized hardware register settings so that current drain could be minimized.
Took on several key DoCoMo CEDS issues for the M1000 and drove them to resolution.
Offered assistance to the Panics/Stability Triage team for these products. Helped gather information for several defects to try and find root cause or forward the specific panic or exception to the appropriate team.
Worked on Power Management/Baseport changes from C to C++.
Triaged phone issues to determine the source of the problem then resolved the issue by either making code changes in C++ to fix the issue or forwarded it to the appropriate team for resolution.
Responsible for helping with the customer release notes for the A1000 and M1000.
Motorola, Inc., Arlington Heights, IL
Senior Software Engineer
3G UMTS R1 Node B Development Team
January 2001 to September 2002
Learned to initialize a Node B with all of its payloads and SPROC proxies and all the steps necessary in setting up a radio link (setting up a RNC and CN).
Became the "go to" person on these subjects. Had constant open window of communication with ITX/FTX team members and Node B developers. Assumed a lead position within this team and headed up several investigations. Interfaced with multiple groups including various COEs (CBTSP and HAP).
Was put in charge of the compact flash investigation for the R1 Node B development team. Figured out the correct procedure, which was needed in order to allow a R1 Node B to boot off of the compact flash. Shared the information with the entire R1 Node B team by creating documental procedures on "creating the image", "staging the compact flash", and "creating a new bootloader". Taught several times an in-house training class on "R1 Node B RF Configuration".
Led the R1 Node B FTX team of ten engineers. Were responsible for feature testing the R1 Node B by verifying downlink and uplink message flows, which were necessary in order for a CS and a PS call to occur.
Motorola, Inc., Schaumburg, IL
Senior Embedded Design Software Engineer
Radio Products Group
May 1995 to December 2000
Completed the design in C and testing for the General Input and Output Application
Interface (GIO), the Diagnostic Service Software (DSS), and the Quality Manager embedded software components for the Telario Officetalker digital phone, the Telario Shoptalker two-way radio, and the Telario Base Station TDMA digital products. Provided embedded support for the hardware engineers to investigate and test the RF portion of the ARM processor and set up initial prototypes to show that the burst mode controller worked in both transmit and receive mode. Provided code versions for factory tests and builds. Was assigned to mentor by providing technical guidance to several engineers who were new to the group.
Completed integration testing and performed bug fixes for the scrambler option board release. The Scrambler Option Board interacted with the 1225 Radio Series and the SM Series Mobile radio product line.
Completed preliminary design and detailed design, coding in Assembly, unit testing, system testing and compiled a certification package for specific features. Redesigned and implemented the scan feature of the radio.
Using Assembly language, compiled the initial design for the SM Series cloning capabilities for the Cloner Box. Updated tables for radio cloning for various radio products.
Developed the user matrix, ergonomic design table, initial software design and coding in Assembly for the MDC1200 option board.
Spirit 2 Watt VHF Radio
Completed the design, developed the software in assembly, and performed testing requirements for the Spirit 2 Watt VHF Radio.
Participated in the final system testing for the SM Series Mobile Radio. Assigned to assist in the preparation of the embedded firmware certification package documentation.
EDUCATION
BS, Electrical Engineering
University of Illinois at Chicago
May 1995
Chicago, IL
TRAINING SUMMARY
Roosevelt University: C Programming
Harper College: Advanced C Programming: Data Structures
IIT: Introduction to C++ Programming
Motorola University: Understanding GSM, Understanding 3G Wireless Mobile
Communications, Understanding TCP/IP, Understanding IP Networking,
Understanding Voice Over IP, Internet Telephony and Standards Overview, LTE
SKILLS
SUMMARY
ARM microprocessor Symbian OS
ArgonPlus VxWorks OS
ArgonLV Android OS
Pentica in circuit emulator Logic Analyzer
Lauterbach in circuit debugger/trace Digital Signal Generator
Layer 0 PHS Protocol R&S CMW500 Call Box
UMTS UNIX (HP)
W-CDMA Clearcase
LTE HTML
HC05/ HC11 microprocessors Communications Analyzer
VLSI VSD debugger Teamwork
Nucleus Embedded OS Teamplayer
Digital Oscilloscope C++
Optima Digital Mobile Radio Transmitter Tester
Assembly language Vector Signal Analyzer
SDL Expect
C language Python
Java Wireshark Network Protocol Analyzer
Qualcomm Extensible Diagnostic Monitor (QXDM) Netimizer Drive Test Tool
LogMeTT TI OMAP microprocessor
TestCentral