We provide IT Staff Augmentation Services!

Software Engineer Resume

0/5 (Submit Your Rating)

San Francisco, CA

SUMMARY:

  • Broadly skilled software engineer seeks a stable, long - term position in a stable, team-oriented company to provide innovative software solutions to a vast array of critical tasks.
  • Many years of professional experience and even more of playing with technologies and programming on my own.
  • A wide variety of experience and interest makes it easy for me to quickly pick up new technologies and skills.
  • Programming capability in many object/menu-driven, multi-paradigm/general and other software languages providing solutions with increased applicability, flexibility and effectiveness.
  • Significant Linux experience,
  • Ability to conceptualize and think through difficult problems leading to a full understanding of design needs and ramifications, always leading to unique software solutions which worked and worked effectively.
  • Experience working with toolkits such as QT, GTK, and wxWidgets on Windows, portable platforms, and in cross-platform configurations.

PROFESSIONAL EXPERIENCE:

Confidential, San Francisco, CA

Software Engineer

Responsibilities:

  • C++ using the QT toolkit to create a cross-compiled music browser/player application on Windows and Mac. Wrote custom draw GUI widgets with defined behaviors. Generated and parsed JSON objects for HTTPS requests to communicate with the server and stored the data in a local QSQL database.

Synaptics, San Jose, CA

Senior Software Engineer

Responsibilities:

  • C and C++ on Windows or linux platforms creating UI, data processing and storage functionality, doing support and feature implementation for touch-pad software enhancements. Also involved in preparatory work for Windows 8 and smaller experimental projects for various touch-pad products.

Confidential, San Jose, CA

Software Engineering

Responsibilities:

  • Researching and implementing new functionality and features for Sony’s E-Book Library desktop software to support their Reader devices. C and C++ platform specific code as well as cross platform code and scripting (similar to Javascript). Includes device detection, software download and installation functionality, and integration of open-source browser WebKit into the interface.

Confidential, Foster City, CA

Software Engineer,

Responsibilities:

  • Adding functionality and doing bug fixes for online game support and matchmaking APIs in C++. Includes functionality on both client and server, with a master server managing multiple slave servers for scalability with clients on multiple platforms.

Confidential, Mountain View, CA

Senior Software Engineer

Responsibilities:

  • Worked to update and improve validation tests for customer supplied APIs that support Confidential ’s product libraries. Worked to improve and automate building and linking Confidential libraries (both test and production) for ease of use. This was on a low-end mobile phone platform with data capabilities to provide data back up and storage and VOIP capabilities with libraries written in C++.

Confidential, Foster City, CA

Senior Software Engineer

Responsibilities:

  • Fixes and improvements for digital printer publishing layout software on Windows, encompassing both UI, client logic, and server data handling functionality. Handling data transmission to or from the server in a separate thread so that the UI can remain responsive and the user is able to feel in control. Dealing with concurrency and timing issues such is what to do if the user has closed a window while the application is attempting to communicate with it. Porting of code from Windows to Mac for cross-platform compilation using wxWidgets and conditional code compilation techniques. Submitted code that was eventually accepted for saving/restoring binary ps data to wxWidgets open source project.

Confidential, Sunnyvale, CA

Applications Software Engineer

Responsibilities:

  • Creating APIs and Applications for use in next generation small form factor devices ranging from PDAs to SmartPhones on a LINUX OS. Includes shared data access libraries, system wide services, UI, interprocess communication handling, multi-threading and concurrent access data protection, and XML based multilingual support. The base layer for the data access library functionality is SQLite3. Glade (GTK UI layout editor) was used to create much of the layout for the UI with custom controls and additional functionality added by hand and base functionality in C code to support GTK.

Confidential, San Jose, CA

GUI Software Engineer

Responsibilities:

  • As a Contractor at Confidential s, Inc, I used Visual Studio.net’s version of C++ and the QT cross platform UI libraries to create an al network simulator. I was given input on design aspects to achieve a predetermined UI look. I designed and implemented major UI components, requiring heavy customization of standard widgets and creation of new elements including modification of user event behavior, custom draw widgets including complex geometric algorithms, and complex behavior items. After learning to use QT myself, I mentored others on the team as they learned to use the cross platform library and build code for desired UI behaviors. Multi-threaded programming allowed background and user events to be processed effectively and displayed to the user. I was also required to understand the basics of setting up and configuring a network using Cisco routers and switches.

Confidential, San Jose, CA

Software Engineer

Responsibilities:

  • Using Visual Studio’s Visual C++, I wrote software tools used for testing and debugging Data Bus Analyzer hardware, wrote a new version of the software that drives and analyzes data from the Data Bus Analyzer hardware, and wrote a hardware abstraction layer for Data Bus Traffic Generator software. The tools involved downloading new code from a file to the onboard Programmable Gate Array, sending hardware specific commands and signals via a PCI or USB interface and reading the results, and a scripted PCI interface testing facility for directly reading and writing to the hardware’s PCI registers. As part of the new version of the analyzer software
  • I created a data repository as a separate DLL with an abstracted interface that was able to blend multiple hardware sources into a single data stream, caching data for optimal throughput, and normalized input and output so that new hardware with different signal layouts could be used with existing decoding software. The hardware abstraction layer for the Packet Generator was designed so that the upper level application software that consisted of the UI and encoding functionality did not need to know the specifics of the commands, memory sizes, or access modes for the hardware, instead making simple calls and letting the abstraction layer do the rest.
  • As a result, when newer hardware was produced, the upper level software was usable with only minor changes and the only changes to the abstraction layer were the specific commands and addition of new functionality. The abstraction layer also allowed stand alone testing of the software during times when the hardware was not ready for testing by allowing the developer to capture all commands that would have been sent to the hardware and provide a input file that would provide the appropriate resulting data that should have come from the hardware. Multi-threading was used to allow data access across the bus both for read and write, ensuring that the hardware buffers did not either empty or overflow, allowing hardware events to be handled quickly and reported to the user, and doing basic housekeeping tasks while still providing a responsive UI for the User. Previous versions of Analyzer software were supported in the Borland C++ Builder environment.

Confidential, Bellevue, WA

Software Engineer

Responsibilities:

  • Using Visual Studio’s Visual C++ and MFC, I designed and implemented custom UI widgets, a data stream that categorized incoming data, packaged it for easy retrieval, then compressed and encrypted the data. I also created COM servers using ATL, including singleton objects and interfaced with COM objects for
  • Microsoft Office products settings and functionality. Multi-threading used to handle multiple input and output data streams and events as processing was being done. Using my mathematical knowledge, I designed and implemented the CD key generation and authentication code which was integrated into the software in several locations for security and allowed the company to track keys and use of the software.

Confidential, Redmond, WA

Senior Software Engineer

Responsibilities:

  • Using Visual Studio’s Visual C++, I created a multi-layered MFC based UI using COM objects to access a remote, persistent, SQL based database. As an internal project, I gathered requirements, designed a relational DB structure, and did much of the initial design work for an internal project tracking database and web/ASP based interface for it. Worked on complex, expansive, dynamically created UI for an intricate back-end processing engine.

Confidential, Bellevue, WA

Contractor

Responsibilities:

  • Used SoftIce for remote Application and Kernel level debugging for Win2001 (XP) Consumer application compatibility. Work included x86 assembly-level debugging using C/C++ OS source code and creation of specific issue fixes in C/C++. Issues dealt with Unicode/ANSI, file system, graphics, system info, and other OS differences between Win2001 and previous OS versions. Most fixes involved hooking Win32 APIs to give the same functionality or results provided by older versions of Windows.

Confidential, Bellevue, WA

Software Engineer

Responsibilities:

  • Performed project scheduling, tracking progress, and task assignment for a team of three developers when the original team leader left. Design and development of software for user interface using Win32 GUI functionality in Visual Studio. I also created database construction tools in C/C++ and a viewer using MFC and Win32. Delphi was used to create a launcher/shell for graphical auto-run functionality.

Confidential, Columbus, OH

Consultant

Responsibilities:

  • System testing using Perl and Korne shell scripts for telecommunications network management software making calls against the software and comparing results with expected output.

Confidential, Columbus, OH

Software Developer

  • C/C++ customization of PORTAL billing software on UNIX, Visual Basic interface for MS Access tables linked to Oracle through ODBC, Perl and SQL scripting, and design input. Previously maintained and supported legacy Admin/Billing systems.

Confidential, Mountain View, CA

Software Engineering Co-op

Responsibilities:

  • Stages of design and implementation of menu driven, data report delivery system and tools in Excel 4.0 macros. Consulted on other Excel macro applications. Prepared and gave seminar on macro programming.

Confidential, Provo, UT

Computer Lab Assistant

Responsibilities:

  • Supervised and assisted students in Pascal and Assembly programming labs on PC and Macintosh platforms. Also helped with some maintenance and NetWare management.

We'd love your feedback!