Steven Noonan
Objectives
I'm looking for a full time job position which will challenge me and hone my skills as a developer. My current areas of interest are
parallelization, code optimization, virtualization, emulation, and game development, though I'm open to opportunities not exclusive to these areas.
Skills
- Programming languages (fluent)C, C++, Java, PHP, Python, x86 assembly, shell scripting
- Programming languages (proficient)JavaScript, Visual Basic, C#. Able to learn most new programming languages with ease.
- Content-description languagesHTML, XML, XHTML, CSS, MySQL, PostgreSQL, SQLite
- Operating systemsMac OS X (10.4+), Linux (Gentoo, Fedora, Ubuntu, etc), Windows 2000 through 7, Windows Server 2003
- Integrated development environmentsXcode (2.5+), Visual Studio 6.0 through 2010, NetBeans
- Revision control systemsStrong experience with Git, Mercurial, and Subversion
- Natural LanguagesEnglish (native)
- Miscellaneous
- professional experience porting games between platforms (Windows, Linux, and Mac OS X)
- experience maintaining and administrating Windows and Linux servers, primarily serving MySQL, Apache and Samba
- experience maintaining a Linux network router for a public network, using iptables and iproute2
- graphics libraries: OpenGL, SDL, and Direct3D (currently only know orthographic rendering well)
- low-level programming and code optimization (data structures, x86 assembly, stress testing)
- excellent troubleshooting and debugging skills (gdb, valgrind, tcmalloc)
- strong understanding of usage of GNU Make for highly parallel builds
Experience
| Amazon.com - Amazon Web Services - EC2 |
2011 -- present |
|
Software Engineer, full-time position
|
|
I work on the Amazon EC2 Performance and Platforms Team, which is charged with validating new
hardware platforms and assisting other teams in deep engineering work to isolate performance issues.
My work has been focused in two primary areas:
- Performance testing and optimization in multiple areas of the Xen hypervisor and the Linux kernel. This includes block device I/O performance, network throughput/latency and hypervisor scheduling.
- PCIe passthrough for GPUs, and performance tuning in that area.
|
| Introversion Software |
2005 -- 2007 |
|
Linux and Mac Developer, contract work
|
- Developed the Linux port of Defcon, using C++, SDL, SDL_image, SDL_mixer and OpenGL.
- Assisted in the development of the Windows Vista version of Darwinia, which was released on MSN Games shortly after Windows Vista's release.
|
| Exosyphen Studios |
2009 -- 2010 |
|
Linux and Mac Developer, contract work
|
- Developed the Linux and Mac OS X ports of Hacker Evolution: Untold. Was tasked with eliminating the use of DirectX and Windows-specific APIs, and refactored the code to use much more cross-platform APIs including SDL, SDL_image, SDL_mixer, and OpenGL. The project is written in pure C++.
|
| Google & Python Software Foundation |
Summer 2010 |
|
Google Summer of Code Participant, Software Engineer, contract work
|
- Worked on the Unladen Swallow interpreter for Python, to reduce memory usage, eliminate memory leaks, and generally improve performance.
|
|
Uplink Laboratories
|
1999 -- present |
|
Developer, non-profit personal project development
|
Currently the lead developer of several projects including:
- CrissCross, a cross-platform C++ development library with several data structures and algorithms. Builds and runs on Windows, Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, and even the Nintendo DS. Currently used mainly for cross-platform game development as a supplement to the C++ STL, and game development libraries like SDL.
- ARC++, a C++ rewrite of OpenARC, using SDL, SDL_mixer, SDL_image, OpenGL.
- OpenARC, a clone of Hoopy Entertainment's Attack, Retrieve Capture. Originally written in Visual Basic 6, using a DirectDraw/Direct3D hybrid, and designed for Windows 95 and above (works even on Windows Vista and 7).
- GenPrime, a prime number discovery algorithm, primarily used for code generation comparisons (a programming language shootout).
- CryptoPad, a WordPad-like cryptography program written in Visual Basic 6. Open source.
|
|
Dungeon Crawl Stone Soup Development Team
|
2009 -- present |
|
Developer, Mac maintainer, open source development
|
- Initially worked to make the Mac OS X build of Dungeon Crawl Stone Soup usable, and now work on maintaining the contributing library overlays as well as the Mac OS X builds.
- Also developed some nice GNU Makefiles which build the project successfully on Mac, Linux, Windows, FreeBSD, and several other operating systems without needing to use Autoconf/Automake.
|
Education
|
Seattle Pacific University,
Seattle, WA, USA
|
Winter 2007 -- Winter 2008 |
|
Student of Computer Engineering
|
|
|
Central Washington University,
Ellensburg, WA, USA
|
Fall 2006, Spring 2009 -- Fall 2010 |
|
Student of Computer Science
|
|
Moses Lake High School,
Moses Lake, WA, USA
|
2003 -- 2006 |
|
Student
|
- Participated in university-level computer science workshops.
- Participated in an honors English course.
|
Other Experience and Qualifications
|
Future Business Leaders of America
|
- Competed in Visual Basic Programming, C++ Programming, and Network Design.
- Placed 1st in Visual Basic, C++, and Network Design at the Washington State North Central Region competition.
- Placed 1st in Network Design, 2nd in Visual Basic, and 3rd in C++ at the Washington State competition.
- Placed 5th in Network Design at the national competition. (Only could enter one event.)
|
|
Speech and Debate
|
- Received several first place awards for Lincoln-Douglas debate in competitions at district competitions in Washington state.
- Received an award from the coach for being the "Most Improved".
- Received a second place award for a dual interpretation speech at a district competition.
- State qualifier for Lincoln-Douglas debate.
|
|
Scouting
|
- Achieved rank of Eagle Scout in 2001.
- Was active in cub scouts, achieved all ranks (Bobcat, Wolf, Bear, Webelos).
- Previously active in both Boy Scout Troop 69 and Venture Crew 69.
- In the Order of the Arrow,
|