Senior Software Engineer Resume
Duluth, GA
SUMMARY:
- Over 13 years of development experience, with 11 years in the embedded space. Experience with multiple flavors of Linux, IPTV set - top boxes, cable set-top boxes, and network monitoring devices.
TECHNICAL SKILLS:
RedHat/RPM based Linux flavors: CentOS, Fedora
Debian/Apt based Linux flavors: Debian, Ubuntu, Mint
Opensource tools: GCC, Make, Automake, Vim, Git, CVS, Subversion, Linux, embedded Linux, LLDP, NTP, SSH, DNS, DHCP, SNMP
Languages: C, C++, Bash scripting, Python, Perl, some XML
Embedded systems with serial interfaces, JTAG: programmed flashes, and U-Boot bootloaders
PROFESSIONAL EXPERIENCE:
Confidential,Duluth, GA
Senior Software Engineer
Responsibilities:
- Developed new features for network monitoring devices
- Customized kernel and networking scripts to work on new devices and integrate with company software, isolating the various test interfaces with iptables rules
- Developed unified command-line interface for controlling and configuring devices
- Added new services to devices including LLDP, remote device configuration backups, and manipulation of Confidential application configurations
- Assessed and recommended 10G interface/drivers changes for company's SQprobe application
- Worked with validation to secure the CLI, sanitizing inputs to prevent code execution, buffer overruns, and known kernel exploits
- Added custom drivers to devices that presented specific hardware information (serial number, model name and number, MAC addresses, etc)
- Added CLI functionality display available HW monitoring information (fan presence/speed, temperature information, etc)
- Added functionality to Sqprobe application allowing user to tag IP phone call data based on source/destination IP/VLAN/Phone number (combinations and ranges allowed), with missing data configurable as matching or not for thousands of rules at thousands of calls per second
- Updated and re-worked/automated cross-compiling toolchain for building all embedded devices with company DVQagent and SQprobe applications
- Wrote bootloader scripts to make download process more secure and prevent invalid code from being loaded onto devices
- Solved customer issues as they arose
- Technlogies used: C, Bash scripts, XML, all Linux flavors, all open source tools, serial interfaces, flash devices, and U-boot
Confidential,Lawrenceville, GA
Applications Engineer
Responsibilities:-
Improved Linux drivers for ST/Cisco-partnered ASIC programs by adding new features and functionality to the drivers for customers
- Ported newer versions of the drivers to ASIC devices
- Solved MPEG2 and H.264-related video problems as they arose, including:
- Hard-to-find problems with shared memory space (hardware A/V decoder)
- Sharing a single decoder for two separate streams
- Difficult issues causing random system crashes
- Video problems where pictures were presented out of order
- Made H.264 “trick” modes work correctly on ASIC platforms
- Tracked, prioritized, and resolved issues in ST drivers found while testing on ASIC platforms
- Communicated generally applicable issues with base drivers team in France
- Worked with firmware team in India to fix problems in decoder firmware
- Developed a tool to render and display subtitles on a computer
- Technologies used: C, Bash scripting, Git, GCC, Make, Vi, JTAG, U-Boot, serial interfaces
Confidential, Norcross, GA
Embedded Software Engineer
Responsibilities:
-
Lead developer on a major customer's platform
- Developed/maintained platform-independent APIs for IR, NVM, graphics, and MPEG demux/decoders on IP-based set-top box (STB) hardware
- Prepared and tested kernel/filesystem images for STBs that use various middleware applications
- Worked on RTSP protocol for client server interaction for video playback related to IPTV VOD
- Developed/maintained application for network setup and testing of STB reception/decoding/DVR functionality on vendor platform
- Tested and integrated new kernels and kernel-level drivers with existing code as they were released for vendor platforms
- Ported a web browser to use the FocusWare APIs: Later updated to use new media object model
- Architected the scripts and simple tools used to complete the boot-up system on a customer’s platform and customize units at the factory
- Created tool to configure and store the MAC address, IP address, netmask, gateway and various other configurations based on a serial number using existing Linux commands
- Developed method for installing HDCP content encryption keys and recording the serial number of the box it was installed on using a server and simple scripts
- Technologies used: C, C++, Bash scripting, CVS, Subversion, GCC, Make, Vi, DHCP, JTAG, U-boot, serial interfaces, Ubuntu and Fedora Linux, Embedded Linux
Computer Architect
Confidential, Atlanta, GA
Responsibilities:
-
Improved/maintained new architecture simulator
- Created tool set for linking of libraries with assembly code
- Wrote simulator manual for company use
- Developed scripts to run large numbers of benchmarks
- Analyzed benchmark results to evaluate proposed new features
- Technologies used: C, Bash scripting, Perl, GCC, Make
