Resumé
Home | Resume | MSE FAQ | Links

ETHAN URIE

585-472-2998

623 North Allerton Court - Moon Township, PA 15108-3293 - USA
ethan@csh.rit.edu
www.csh.rit.edu/~ethan

-

SUMMARY 

Software engineer with more than 6 years of practical experience and a Masters in Software Engineering. Proven communication skills and 7 years experience with all parts of the software lifecycle. Looking for a position in a small team with challenging work and the ability to help improve the software development process.

-

EDUCATION 

Carnegie Mellon University, Pittsburgh, PA, August 2005 - December 2006

Master of Software Engineering

 

Rochester Institute of Technology, Rochester, NY, September 1998 - November 2002

Bachelors of Science in Computer Science

 

-

SKILLS 

  • Object-oriented design
  • Java J2SE (6 years)
  • Multithreaded Java applications (5 years)
  • Software design and architectures (< 1 year)
  • Software engineering methodologies (1 year)
  • Test-driven development (3 months)
  • Experience developing on Windows 2k/XP (Java and C++)
  • Experience developing on MacOSX (Java)
  • Architecture Centric Development Method (ACDM) (< 1 year)
  • Project management (< 1 year)
  • Process improvement (1 year)
  • Development in C/C++ (2 years)

-

EXPERIENCE 

SureLogic, Inc., Pittsburgh, PA

January 2007 - December 2007

Software Engineer
  • SureLogic is a start-up company commercializing Carnegie Mellon's Fluid research project. The Fluid project produced developer tools, integrated with the Eclipse IDE, that helped assure aspects (e.g. concurrency) of Java applications were implemented correctly.
  • Was a key member of the engineering team working on transitioning the research software to a commercial application.
  • Helped develop a typed AST implementation for the application's analyses.
  • Rewrote analyses to take advantage of the new typed AST implementation.
  • Developed a multithread-capable task framework using Java's Executors with support for inter-task dependencies.
  • Helped develop a database schema for storage of analysis results.
  • Created and maintained an Apache Ant-based automated build and test system.
  • Developed Ant tasks to improve the build system.
  • Built JUnit test cases to test the Eclipse plugins.
  • Developed an ANTLR grammar to parse custom annotations.
  • Analyzed Java projects for concurrency errors using the Fluid tool.
  • Developed with, and for, Eclipse 3.2 and 3.3.

-

Carnegie Mellon University, Pittsburgh, PA

September 2005 - August 2006

Software Engineer Graduate Student
  • This was the main project of the Master of Software Engineering program. The client was L3 Integrated Systems Division.
  • Was one of 5 students working on the project.
  • Developed a discrete-event simulator that simulated multiple, independent, intelligent robots as they searched for rescue beacons.
  • Used the commercial network simulator OPNET to simulate communication.
  • Developed processes for many aspects of the project including: meetings, documentation, design, testing, implementation, task tracking, estimating, and risk management.
  • Used the ACDM development process to guide development.
  • Used a Quality Attribute Workshop to help enumerate quality attribute concerns.
  • Used a Software Risk Evaluation to help identify risks and develop mitigation strategies.
  • Estimated tasks with Wideband Delphi.
  • Tracked progress with Earned Value Tracking (EVT).
  • Used Test-driven development and pair programming during implementation.
  • Wrote framework classes in Visual C++.
  • Created unit, integration, and system tests with CxxTest.
  • Developed a continuous integration build system using CruiseControl, NAnt, and CxxTest.
  • Served as the Team Lead, Chief Architect, and Support Engineer during different phases of the project.

-

Rochester Institute of Technology, Rochester, NY

January 2000 - December 2006

Lead Software Developer
  • The C-Print Pro software provides aid to deaf and hard-of-hearing students in the classroom. It allows the C-Print captionist to capture the lecture by utilizing an abbreviation system that the software automatically expands.
  • Designed and developed the C-Print Pro transcription software in Java.
  • Developed the application around a server-client architecture.
  • Used TCP/IP to communicate between the server and clients and UDP for server discovery.
  • Used Java 1.4's NIO libraries.
  • Used a Hypersonic database for abbreviation-expansion lookup.
  • Developed custom serialization of events to improve throughput.
  • Developed a version of the client application with an Visual C++ MFC front-end for presentations.
  • Integrated IBM's ViaVoice voice-recognition software.
  • Used JNI to accomplish both the MFC client and integration with ViaVoice.
  • Developed most parts of the Swing UI.
  • Managed the development team of 3-4 developers.
  • Helped to discover and define requirements.
  • Helped customers troubleshoot issues.

-

Procter and Gamble Pharmaceuticals, Norwich, NY

June 2001 - August 2001

Software Development Intern
  • Developed a VB/VBA application to customize a batch record produced from a Word template via Batch Plus from AspenTech.
  • Modified the Word template using queries on Batch Plus' database.
  • Formatted the information and placed it within the document.
  • Allowed the user to dynamically change some sections of the document depending on the requirements of the chemical process.
  • Created a Python application to look up Material Safety Data Sheets (MSDS).
  • Utilized any number of user-defined web sites.
  • User could download and save the MSDS's in HTML format.
  • Designed the GUI with Tkinter libraries.

-

Rogue Wave Software, Corvallis, OR

June 2000 - August 2000

Software Development Intern
  • Wrote test suites and example programs for multiple network library packages in C++.
  • Debugged and ported those same packages to Solaris 2.6 and 8.

-

-

ORGANIZATIONS 

Member of the Computer Science House at RIT

-




Download:
PDF Version
Word Version

My Resume
Web DOC PDF
RTF ODT TXT
powered by emurse