Resume


IAN STEWART
SOFTWARE ENGINEER

PROFESSIONAL SUMMARY
  • Ownership, maintenance, and support of project schemas, models, and components shared amongst multiple development teams
  • Build/release process and project organization for a large multi-project multi-team web application.
  • Optimization of system performance in the areas of database access, graphical rendering, and horizontal scalability.
  • Design, analysis, implementation, test, and operational maintenance of major software systems.
  • Design, implementation, and maintenance of web-based application components in the areas of collaborative user interaction, graphical user interfaces, and 2d rendering system.

TECHNICAL SKILLS

Languages (Expert):
Java, Flex/Actionscript/Molehill, XML, GLSL
Languages (Familiar):
C/C++, HTML, JavaScript, CSS, PHP, CG
APIs:
Hibernate, BlazeDS, OpenGL, DirectX, MFC
Methodologies:
OOP/D, Functional, UML, Design Patterns, SOA, Concurrency, Agile Development
O/S:
Windows, Linux/UNIX, Sun Solaris
Databases:
SQL, PostgreSQL, Oracle versions 10g and 11g
Tools:
Eclipse/FlashBuilder, VisualStudio, JIP (Java Interactive Profiler), Tomcat, PixelBender
Project/Source Control:
Jira, Ant, Maven, SVN, CVS, GIT, SmartGit, SourceSafe

PROFESSIONAL EXPERIENCE

Tapestry Solutions, Inc., CDM Technologies, CA February 2010 - Present
Software Engineer
  • Improved the performance of our web application from supporting 20 simultaneous users on initial release, to supporting hundreds of simultaneous users.
  • Improved the horizontal scalability of our deployment cluster to support multiple servers interacting with multiple databases.
  • Refactored and maintained the system architecture to support efficient development with separation of concerns and reusable code.
  • Hibernate database transaction optimization. (Java, Hibernate)
  • Build process and project organization management. (Ant, Maven, SVN, GIT)
  • Experience working in a leadership roll on a large team contributing to a massive code base, larger than 500,000 lines of code.

CDM Technologies, San Luis Obispo, CA February 2007 – February 2010

ICODES Student Developer
  • Development and maintenance of the graphics back end for user interactive software. (C++, OpenGL)
  • Design, implementation and maintenance of the web-based collaborative interaction system. (Actionscript, Java, SOA)
  • Design, implementation and maintenance of the modular 2d rendering system. (Actionscript)
  • Implementation and maintenance of the graphics state persistence. (Java, Hibernate)

EDUCATION

B.S., Computer Science, CalPoly State University, San Luis Obispo, CA, Degree in Progress
Courses Include: C/C++/Java programming; Functional programming (SML); Software Engineering; Algorithm design and analysis; Programming languages; Theory of computing; Computer architecture; Graphics: Animation, Advanced Rendering Techniques, Real-time systems; Networks and distributed systems; Linux systems programming, device drivers; Technical Writing for Engineers

SCHOOL RELATED PROJECTS

Super Human Geneticist: <http://users.csc.calpoly.edu/~zwood/teaching/csc476/final_proj_08.html>
  • Voted Top Game amongst the class.
  • Experience working in a team to design and develop a real-time 3D video game from start to finish.
  • Roles Included: rendering engine framework, shader and texture framework, GLSL shaders, Toon Shading, edge shading, shadow mapping.

Linux multi-touch device driver and mouse simulator for vision based multi-touch systems.
  • Project leader.
  • Experience working with character device drivers and the Linux input subsystem.
  • Produced a publishable quality research paper on the results of the project.

INDEPENDENT PROGRAMMING PROJECTS <ikstewa.blogspot.com>
  • Hardware accelerated 2D rendering engine utilizing Flash 11 3D rendering API (Actionscript, AGAL, PixelBender)
  • Multi-touch interaction research using low cost vision based multi-touch systems.
  • Real-time Image Based Edge Detection using OpenGL shaders.
  • Shadow Mapping and Normal Mapping implementation. (OpenGL/GLSL)
  • Custom shading pipeline with a focus on real-time image processing effects. (OpenGL/GLSL)