Resume

A PDF version (old) 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

* Web Application Development
  RESTful services, Spring MVC,
  ASP.NET MVC, Spring MVC, webapp2,
  Google App Engine

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

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

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

* Python Programming
  2.7

* Java Programming
  JRE 1.4, 1.5, 1.6, 1.7

* Enterprise Application Development
  Tomcat, Spring, UML, Hibernate, NHibernate, Domain Modeling

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

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

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

* Matlab Programing
  Computer vision, data analysis

* Test-Driven Development
  QUnit, JsUnit, jUnit, NUnit, Mockito

Other Technology Interests

* Ruby
* Scala
* Groovy
* F#/OCAML
* Lisp/Scheme
* Cocoa/Objective-C
* Mobile Development (iPhone/iPad)

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

Docalytics
Co-Founder, CTO
2012-Present

Cofounder, developer on the Docalytics platform which won first place in the third Twin Cities Startup Weekend and third place in the 2012 Minnesota Cup High Tech division. Participating in the gener8tor startup incubator in summer 2013. Docalytics is a SaaS platform for bringing analytics and lead generation into PDF-based content marketing materials. The platform is primarily built in Python on Google App Engine with support from Amazon AWS web services.

Thomson Reuters
Lead Software Engineer
2009-Present

Technology lead on the Doc & Form Builder product. Lead the development and launch of the My Business Intelligence product. Lead developer on the Business Law Advisor product. Worked in both ASP.NET MVC and Java Spring. Created RESTful web services using the Java Spring framework and dynamic JavaScript widgets that consumed the web services. Lead the launch of a single page web app written in Backbone.js from requirements to launch.

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.

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