Resume

A PDF version of this information is available here.

If you’d like to contact me, I can be reached via the comments in this blog or via email at ryan.morlok -(at)- morlok.com .

RYAN MORLOK

Professional Skills

* .NET Programming
  C#, VB.NET .NET 1.1, 2.0, 3.0, 3.5

* Strong Communication Skills
  Teaching experience, published author,
  customer support/training, product presentations

* Graphical User Interfaces
  Java AWT/Swing, .NET Windows Forms

* Web Development
  HTML, JavaScript, CSS, XML, AJAX, jQuery

* Web Application Development
  ASP, ASP.NET JSP, PHP, Java Servlets

* Java Programming
  JRE 1.4, 1.5

* Enterprise Application Development
  Tomcat, Struts, JSP, UML, Hibernate, Domain Modeling

* Database Programming
  SQL, ADO.NET, JDBC, SQL Server, Oracle, MySQL, PostgreSQL

* C/C++ Programming
  Windows Visual C++, Linux GCC

* Matlab Programing
  Computer vision, data analysis

* Test-Driven Development
  jUnit, NUnit 

Other Technology Interests

* Windows Presentation Foundation (WPF)
* F#/OCAML
* Lisp/Scheme
* Cocoa/Objective-C

Education

University of Illinois at Urbana-Champaign
Master of Science. August 2006.
Computer Science
GPA 3.78/4.00

University of Minnesota, Twin Cities
Bachelor of Science. May 2004.
Computer Science, Management Minor
GPA 3.73/4.00 (Magna Cum Laude)

Professional Experience

Thomson Reuters
Senior Software Engineer
2009-Present

Senior developer on the Westlaw Business product, an online legal research tool
for business legal professionals. Work focussed primarily in web user interface
development including ASP.NET and JavaScript.

EmergingSoft Corporation
Senior Software Engineer
2007-2009

Lead developer on the redesign/implementation of the web interface for an existing
meeting room scheduler application in ASP.NET (C#). The application involved both
a web interface and SOAP-based web services, working from a back-end SQL
database.  Directed second developer working on portions of the project.  Acted as
interim primary developer on a second existing VB.NET Windows Forms application.
This claims management application was designed with a two-tier architecture,
backed by an Oracle database. Created documentation and training materials for
both applications.  Provided technical guidance for RFP responses and assisted in
the pre-sales process.  Led onsite installations and training at customer sites.
Travelled internationally to work with customers and partners.  Developed internal
applications to help sales and support team work more efficiently with customers.

Kim Laboratories, Inc.
Contract Software Engineer
2006-2007

Designed and developed control and analysis software for a new pathogen
detection product. Software was written in .NET using C#. Assessed customer
needs for software functionality. Created graphical user interface mock-ups for
management approval. Developed user interface using .NET Windows Forms.
Scope of the project included the full range of software development activities,
from signal analysis algorithm development to GUI design and creation. Work
was done as a contractor.

Morlok Technologies, Inc.
Co-Founder
2006-2007

Provided consulting and contract software development services for financial
and life science companies. Consulting services included business continuity
planning and information security analysis. Software development services
included needs analysis, application design, programming, and graphical user
interface design and development.

Logic Product Development
Intern, Software Engineer
Summer 2004, 2005

Developed software in C and C++ to work on, and in conjunction with,
embedded systems using TI OMAP and Analog Devices Blackfin processors.
Modified the Linux kernel and Das U-Boot bootloader to run on custom OMAP
boards. Developed documentation to aid customers in installing their own
versions bootloaders and the Linux kernel. Ported networking code to run on
the Analog Devices Blackfin BF 561 processor. Developed a custom
communication protocol on top of TCP/IP to run on the Blackfin board and host
computer.

University of Illinois at Urbana-Champaign
Head Graduate Teaching Assistant
2004-2006

CS 105, Computer Science for Non-Technical Majors
Received University Outstanding Teaching Award all 4 Semesters
Managed 14 other graduate teaching assistants in course administrative tasks.
Taught discussion sections of 30-40 students in a lecture-style format on topics
such as SQL, Microsoft Excel, and Microsoft Visual Basic for Applications. Wrote
the VBA textbook currently used by the course.

University of Minnesota
Undergraduate Research Assistant
Computer Science Dept., Artificial Intelligence, Robotics, and Vision Lab
Fall 2003, Spring 2004

Assisted faculty and graduate students with various projects dealing with
computer vision, including projects focused on automatic recognition of human
activities. Worked primarily with Matlab and Microsoft Visual C++.

Seagate Technology
Intern, Systems Integration Engineering (SIE): Firmware Test
Summer 2003

Developed software using Microsoft Visual C++ to test disk drive interface
firmware for SCSI and Fibre Channel drives. The software executed on Microsoft
Windows variants. Entered existing firmware requirements into new requirements
management software. This involved parsing requirement documents, identifying
parsed requirements, removing duplicate requirements, and mapping existing
tests to the requirements being tested.

University of Minnesota
Undergraduate Teaching Assistant
CSCI 1113, C++ for Scientists and Engineers
Fall 2002, Spring 2003

Led lab sessions of 30 to 35 students. Answered questions and graded students’
assignments and tests. Provided explanations and examples for material not
fully covered in lecture. Held office hours for advising and grading students
outside the normally scheduled lab times.

Alebra Technologies
Intern, Programmer
Summer 2001, 2002

Developed C++ Windows program to monitor customer database. Evaluated
network security tools and helped define their usage in a general network
security analysis. Provided both internal and customer IT Support.

Leadership

==Lead Developer for New Revision of Product, EmergingSoft Corporation==
Primary developer on a revision of the product to update the web interface.
Defined how the product would look and interact in the new revision. Created
mockup screens to present to management to receive design approval.
Provided requirements and guidance to other developer working on the product
revision.

==Vice-Chair, Association for Computing Machinery (ACM) Student Chapter, UIUC==
Vice-Chair of the entire 350+ member UIUC ACM chapter for Spring 2006 term.
Co-chair of the Special Interest Group (SIG) for Programming Languages. Treasurer
of various ACM SIGS. One of three lead organizers for the
Reflections|Projections 2005 Conference, with responsibilities including recruiting
speakers, designing the conference program, and managing conference advertising.

==Head Graduate Teaching Assistant, Intro to Computer Science for Non-Technical Majors==
One of two head graduate teaching assistants for an 800+ student class. Managed
administrative tasks for the course, including directing 13 other graduate teaching assistants
in creating homework assignments and exams. Responsible for coordinating the simultaneous
administration of exams at multiple sites and grading of the exams. Lead author for a
textbook used in the course.

==Treasurer, Computer Science Graduate Student Organization==
Treasurer for organization responsible for managing corporate recruiting for Computer
Science graduate students. Responsibilities included managing organization funds, billing
corporate sponsors, and assisting the president organize and manage corporate events.

Publications

Morlok, R., Parr, D., Woodbury, M. VBA for Excel. Stipes Publishing,
Champaign. ISBN 1-58874-587-2.

Morlok, R., Gini, M. Dispersing robots in an unknown environment. DARS 2004.
Toulouse, France. 2004.

"View-Independent Human Motion Classification Using Image-Based Reconstruction,"
Image and Vision Computing, In press.

Bodor R, Morlok R, Papanikolopoulos N, Dual-Camera System for Multi-Level Activity
Recognition. Proc. of the IEEE/RJS International Conference on Intelligent Robots and
Systems, 2004