Personal details

William M. - Remote

William M.

Timezone: Pacific Time (US & Canada) (UTC-7)

Summary

I am a results oriented engineer and team player with over 20 years of embedded software development experience.

I have excellent working knowledge of C and C++ in an embedded, realtime, multithreaded environment. I have worked at Motorola, Nokia and UTStarcom.

My expertise includes C, C++, python, embedded software, wireless communications, concurrent and realtime programming, network programming and debugging.

Work Experience

Senior Software Developer
Star Solutions (formerly UTStarcom) | Mar 2006 - Jul 2020
Python
C++
C
Linux
Bash
Object-Oriented Programming
Embedded Systems
Wireless communication
Responsible for the development, maintenance and verification of new and existing functionalities for LTE eNB, EVDO base station and the MovingMedia 2000 Mobile Switching Center (MSC) in both IS41 (CDMA2000) and GSM domain. • Developed and integrated Aricent LTE protocol stack (MAC/RRC/RRM) and OAM in LTE eNB product in C/C++ running in Centos 7.x with Linux RT patch under PowerPC and Intel architecture. • Knowledge and hands on development experience with I2C: configured I2C with ioctl to read and write from EEPROM, ublox GPS module and temperature sensors on the board. • Development and maintenance for the realtime, multi-threaded EVDO base station software in C++ running on Centos 5.5. • Developed major features in C running on UNIX Solaris for the Mobile Switching Center: IS-41/GSM E911 Phase 2, IS-41 Dynamic Cell List, IS-41 Wireless Number Portability, GSM Remote MSC Survivability. • Ensured 100% pass rate of test cases for verification of software changes. • Solid experience in using Qualcomm tools and Wireshark to analyse data packets. • Design and development of a unit test tool in C++ for the IS-41 mobility server gateway that supports multiple protocol interfaces for SIP, MAP and TCP/IP. • Developed encoding/decoding functions for SNMP Get, Set and Trap notifications. Update new MIBs and maintenance of existing MIBs.
Lead Software Developer
Memotrax Music Systems | Jul 2005 - Feb 2006
Java
C++
SOAP
Network Programming
Played the lead role in the architecture and implementation of the server framework to support the proprietary music management software developed at the startup company. • Developed robust SOAP messaging interface with C++ and MSSoap toolkit 2.0 on client side and Java SAAJ on server side, required to support the client/server communication used by the online community features. The server is run on Apache 2.0 and Tomcat 4.1. • Implemented multithreaded C++ TCP socket class using winsock2 APIs on client side and Java socket class on server side. Also conceived, designed and implemented multithreaded test simulator running on a single client console to handle around 1000 socket connections with server using winsock2 'select' function.