Software Developer Resume
SUMMARY:
Senior software developer with 20 years of experience delivering commercial software applications for a variety of desktop, mobile, and embedded platforms.
TECHNICAL SKILLS:
Languages: C, C++, Objective - C
Operating Systems: Win32, Linux, Qt(Trolltech), Embedded
Technologies: Cocoa, CoreOS, Carbon, Core Data, SQLite, ARC, Kernel Extensions, Root Daemons, QuickTime, Core Audio, Client/Server, Core Telephony, TCP/IP, IP Multicast, network filters, network interface configuration, XML, JSON, Pf firewall configuration, Sparkle, App Store
Development Environments: Xcode, Makefiles, MS Visual Studio, Metrowerks CodeWarrior
Design Skills: Software architecture, system design, market analysis, technical wiring, presentation of software design and system design reviews, edge case analysis
Source Control: Git, Subversion, CVS, Borland Star Team, Metrowerks Visual Source Safe
Continuous Integration: Jenkins, TeamCity, custom build systems
Groupware Systems: Rally, Slack, Confluence, Jira, Bugzilla, Trac
Troubleshooting: Strong debugging skills, analysis of crash reports, unit tests, test automation, code coverage testing
Other: Software team management, mentoring, software usability
Ancillary Skills: PHP, JavaScript, SQL, HTML, CSS.
Facebook API: Low level hardware interface device drivers, Hardware design, microstepping hardware, selection of hardware components, interfacing with electrical engineer for final production design. Creation of hardware test harness for acceptance and quality testing. Use of oscilloscope.
PROFESSIONAL EXPERIENCE:
Software Developer
Confidential
Responsibilities:
- I was the primary developer on Goldenfrog ’s VyprVPN application for Confidential .
- This is a native Cocoa application that has an accompanying root daemon.
- In addition, I created a kernel extension that can route network traffic over different interfaces based on the specific application sending the traffic and user policy for this application.
- I also created a kernel extension that monitors DNS queries and blocks malware.
- Extensive low level IP networking knowledge was required for this.
Co-Founder and CTO
Confidential
Responsibilities:
- I wrote a C++ robotics package for 3D printers for Linux. Using KiCad, I designed circuits for a companion board for a Raspberry Pi.
- This hardware controlled temperature for a 3D printer as well as controlling several stepper motors.
- The C++ software I wrote handled communication with an Analog to Digital converter attached to a thermistor, shift registers, controlled microstepping hardware, had support for a variety of sensors.
- The C++ provided real time hardware control and took intructions by a higher level Java module which computed motion patterns.
Software Developer
Confidential
Responsibilities:
- I was responsible for the development of applications.
- I was the sole developer of the Confidential Silvercar app and co-developed the Silvercar Kiosk app.
Confidential
Software Developer
Responsibilities:
- Working with Confidential, we developed Uncolor for iPhone and Uncolor for iPad. This has been a successful educational/kids game for the Confidential platform (#1 educational game in 29 countries).
- Worked with Confidential to create Uncolor Dogs and Uncolor Dogs for iPad, a follow-up to the successful Uncolor educational game featuring our canine friends.
- Worked with Confidential to create Uncolor Match-up, a matching game for Confidential devices.
- Created MouseLite, a Confidential application available in the App Store.
Senior software engineer
Confidential
Responsibilities:
- Develop Confidential and Confidential software for Confidential and its customers.
Senior software engineer
Confidential
Responsibilities:
- Develop Confidential and cross platform (Mac/Windows) software for a variety of Confidential ’s customers.
- I engage with Confidential ’s major OEM customers on technical and business issues.
Confidential
Responsibilities:
- Contract position to create an iPhone application.
- Worked remotely using a written specification to deliver an iPhone application that uses Audio APIs (Core Audio, Audio Toolbox) and Cocoa Touch (UIKit, etc), Twitter framework, Core Telephony, MessageUI framework, Accounts framework, AddressBook framework, Core Graphics.
Senior software engineer
Confidential
Responsibilities:
- Lead developer of a team of engineers who develop video players.
- My team delivers video players for Windows, desktop Linux, embedded Linux for a set top box, and for Windows Mobile.
- We primarily develop using C++ and TrollTech's Qt application framework.
- These players are currently shipping and in use by thousands of people to watch live streaming television using IP multi-cast. In this position I establish development practices for the team, lead technical recruitment efforts, hire team members, manage team members, lead software design efforts, write technical specifications, write software, debug software, work closely with quality assurance to prioritize work and root cause issues, work with field support technicians to resolve customer issues, and assist with technical analysis and planning with our business development staff.
- Created a web based build management system using Javascript, AJAX, perl, and bash.
- Development of interactive video overlay and set top box remote control applications.
System Architect
Confidential
Responsibilities:
- Lead creation of architecture across multiple software projects. Set software development policies.
- Planned projects. Lead efforts to create a common control protocol for Confidential projectors.
- Software developer for the LiteShow Manager application for Confidential .
- Created a Cocoa application that involved OpenGL, Quartz, networking with BSD sockets, and Airport APIs.
- Designed the software update mechanism for the LiteShow adapter and implemented this application using portable C++.
Software Engineering Consultant
Confidential
Responsibilities:
- Took over development of Artisan for Confidential, a color calibration application.
- The application interacts with two pieces of hardware, presents a user interface, and is distributed internationally.
- I updated the application so that it could operate on both MacOS 9 and Confidential, internationalized the app for several languages, and increased the quality of the application by fixing several hundred defects.
- This project was done on a very tight schedule and did ship to Confidential customers.
Senior Software Engineer
Confidential
Responsibilities:
- Was the manager and lead developer on a project that created a Confidential version of the Confidential driver and client application.
- This involved management, recruitment, programming in C/C++.
- This product creates space outside the MacOS desktop that other applications cannot obscure and places an application in the space.
- I had three direct reports who were other software engineers. This product communicates with a server via TCP/IP. It also interoperates with the Windows version of the product.
- Also served as a Program Manager on a critical project whose purpose was to create a product being co-developed with a large external customer. In this position I traveled to the customer ’s site and held meetings between engineers at both companies to address technical, logistical, and process issues between the two companies. This project was ended by the customer after a large reorganization resulted in changes to their strategic plans.
- I was assigned a project to integrate Confidential technology with Qt, a cross platform application framework made by TrollTech. I worked alone on this project until it was satisfactorily completed.
- I served as the lead applications programmer on the Confidential Vaccine project which ended when the product was satisfactorily completed.
Software Developer
Confidential
Responsibilities:
- Worked as a contract software developer on Outlook for programming in C++.
- I was offered a renewal of my contract, but chose to take a team lead position at Confidential .
Confidential
Responsibilities:
- Developed and maintained several versions of the Confidential PocketCHART medical records application for the Confidential.
- One version of this was a complex network client application that integrated into a larger medical records system.
- I was a key designer of this system. I also helped design and implement the desktop Windows and handheld Windows CE versions of this software.
- I worked for Confidential through several iterations of the software development and became familiar with the cycle of design, implementation, debugging, release, and customer feedback.
- Confidential was startup software company that had a dynamic environment.
- The company ’s intellectual property was sold several times and is now a part of Confidential Medical.