Nathan Miller (Final)
Total Page:16
File Type:pdf, Size:1020Kb
Nathan Miller 5300 Parkview Drive #2062 Lake Oswego, OR 97035 541.954.0531 [email protected] SKILLS Overview I have extensive experience in all stages of the application development process, including requirement gathering and translation, functional specification compilation, technology evaluation, architecture\design, implementation, and maintenance\quality assurance. Languages\Frameworks • 8 years C\C++, designing and implementing all manner of desktop and network- communicating applications on Windows-based desktops (Windows SDK, MFC, ATL servers, COM objects and NT Services); handhelds (MS Embedded Visual C++ for Windows CE\Smartphone OS devices); and the embedded architecture found on Palm OS-based handheld devices. I also have experience designing and implementing cross platform ANSI-C compliant architectures • 8 years designing and implementing all manner of desktop applications in C#\ .NET Framework (versions 1.1\2.0\3.0) including interop via COM and InteropServices • 4 years Java, primarily made of modifying and enhancing the user interface of 3D vertebrate-modeling and animation software • Experience leveraging and modifying open source technologies to suit specific application needs. I have integrated third-party and open source technologies such as the OpenSSL encrypted network communication library, the log4NET logging framework, and the Xerces-c++ xml parsing framework, as well as modified the expat C++ xml parsing library to run on the memory- and processing performance-constrained embedded micro-architectures found on Palm OS-based handheld devices • Extensive experience implementing and utilizing network communication technologies such as TCP sockets, HTTP protocol, and various web-service frameworks to facilitate communication between client software and remote servers Software\Applications • Experience building web-downloadable and secure application installers targeted at all versions of Window operating systems using InstallShield versions 9, 10, 11, and 12 • Expert in the use of MS Visual Studio 6 and .NET 2003\2005, MS Visual Embedded C++, and Metrowerks CodeWarrior for Palm OS in building all manner of desktop applications running on Windows desktops\handhelds and Palm OS handhelds • Proficient at identifying and profiling performance, resource, and memory usage using BoundsChecker\Compuware DevPartner Studio application profiling suites • Extensive usage of source control repositories using SourceSafe, CVS, and ClearCase • Intimate architectural knowledge of all Windows OS’s garnered from extensive experience designing applications that run on Windows-based desktops and handheld as well as performing desktop technical support • Usage of Unix-like operating systems such as FreeBSD and Debian and Ubuntu linux, including application of patches to and compiling kernel, setting up desktop environment, and extensive use of the command line\shell and its utilities EXPERIENCE Software Engineer Contractor 2009-2010 Synergy Seven, under contract to Intel Corp. • Part of a team of three developers maintaining Intel WiMAX communication card configuration utility. UI implemented in C# interfacing with lower-level C++ DLLs to control communications hardware. Duties included root-causing and fixing high-severity customer-reported issues, implementation of new features, and day-to-day management of release cycle. Overhauled UI for High DPI-awareness and re-wrote several lower-level C++ DLLs interfaced through C# interop. • Developed key component of new multiple communication interface configuration software project to replace multiple existing, separate configuration utilities (WiMAX\WiFi\BlueTooth). Responsible for development of “ZeroConfig” NT Service exposing COM objects representing a generic interface to control and report status of respective lower-level communication stacks. Senior Software Engineer 2005-2008 Advanced Global Applications, LLC. • Responsible for all aspects of the Windows desktop client-side component of online poker software capable of supporting hundreds of thousands of simultaneous users. Client software consisted of a modular .NET interface layer integrated on top of a cross- platform communications library communicating with a Java-based server via custom- written web services framework and custom TCP socket protocol. Also included a separate automatic updating component querying server for latest version of binaries and downloading when necessary • Responsible for all aspects of the entire life-cycle of client-side component of software. Implemented according to specification compiled from business-side poker experts. Duties included implementation itself, bug-fixing and maintenance, and installation. Software Engineer 2002-2005 Incova, Inc. • Part of a team responsible for all aspects of the lifecycle of several applications. Specific duties included design and specification, implementation, bug-fixing, feature addition, and quality assurance. • Focus on networked Windows client applications communicating\updating via a central server using web services and TCP sockets, and application user interface. Specific applications included a print queue-monitoring application reporting demographics to a central server for a first-tier printer manufacturer and a suite of prescription medication applications including a desktop medication scheduling and organization component and a quick-reference dosage and condition diagnosis wizard framework running on PalmOS and Windows SmartPhone. EDUCATION University of Oregon 2002 Eugene, Oregon • B.S., Computer and Information Science, minor in Mathematics • Graduate courses designing and implementing features in 3D vertebrate modeling application, DinoMorph, written in Java. (http://www.cs.uoregon.edu/~kent/paleontology/early/index.html ) • Courses in Software Development, Abstract Algebra, Number Theory, Computer Architecture, Compiler Design, Principles of Operating Systems .