Download PDF

Work experience

Sep 2009Present

Founder

Data Realm Software Inc.

Analyzed, designed, and implemented a niche health care application for scheduling and practice management using python, django,  javascript, jQuery, mysql, and JasperReports.

Invented new heuristics algorithms for Kemeny ranking while doing research and business development on data-driven decision making.   Designed and ran computational experiments to compare these algorithms with optimal solutions from an integer linear program implemented with pyomo.

Aug 2010Apr 2011

Sr. Software Developer - Contract

Elastic Path Software

Helped design and develop a REST-ful shopping api for  Elastic Path's e-commerce framework using Java, Apache CXF  and Spring. 

Sep 2009Mar 2010

Sr. Java Developer - Contract

Boats.com

Developed data synchronization and ETL solutions  using Java, JPA, and  Pentaho Kettle.

Jun 2005Sep 2009

Sr. Sofware Engineer

Actenum

Team lead for the development of three versions of Actenum's rig scheduling application.  The team included developers, researchers, and QA specialists.  Involved in all aspects of development including pre-sale demos; requirements; design; estimates; user documentation; coding using Java, Swing, Hibernate, and Webstart; quality assurance and testing; and on-site customer training and deployment.

Apr 2002May 2005

Sr. Software Engineer, Methodology Advocate

eOptimize

Developed the optimization algorithms for  About:Time® for Exchange Server using C# and asp.net. AboutTime is an enterprise resource scheduling application that reduces costs and boosts customer satisfaction. Unlike calendaring systems, AboutTime finds solutions to complex scheduling problems in seconds. It is a web application that uses web services, a MS SQL Server database, and is integrated with Microsoft Exchange. Designed, developed, and executed stress tests that simulated load from concurrent users using Application Center Test (ACT).

Jun 2000Feb 2003

Sr. Software Engineer, Team Lead

Knowledge Junction Systems

Team lead on ConciseMatch - a guided selling solution for telecommunications providers. ConciseMatch used a 3-tier J2EE web architecture with a Weblogic application server and JSPs, EJBs, and XML/XSLT. I was responsible for managing and mentoring 10 junior and intermediate developers.   I was also responsible for research and development of the core configuration algorithms.  These algorithms were prototyped using Ilog OPL Studio then implemented in Java.

Jan 1999May 2000

Consultant

Total Care Technologies

Played an key role in designing and developing the eXpert application for nurse scheduling. eXpert's Schedule Generation assists with creating a Staffing Model and Position Mix, as well as helping to generate optimal schedules that meet the demand while satisfying constraints imposed by policy, union contracts, and staff preferences.  Created prototypes using C++ Builder, participated in requirement and design meetings, and developed the algorithms to create a position mix using Ilog Solver and C++.

19941998

Research Scientist, Lab Manager

Intelligent Systems Lab, Simon Fraser University

Research scientist on the Intelligent Scheduling project.  Applied methods from artificial intelligence, constraint reasoning, and operations research to problems like forest harvest scheduling, optical reflector design, and staff scheduling. Awarded more than $300K in research grants including Modern Heuristic Methods for Staff Scheduling (BC Advanced Systems Institute), ConstraintWorks: A Toolkit for Scheduling and Resource Allocation (IRIS T-Gap), and Simon Fraser University Prototype Development Fund.

19871988

Software Engineer

Nixdorf Computer

Software developer on a project on Advanced Data and Knowledge Management.  Developed software in Prolog for a knowledge management system with a natural language front-end.

19831984

System Analyst

George N. Jackson Ltd.

Maintenance and support for a for an order-entry, purchasing, accounts receivable, and inventory system.

Education

19791982

BSc

Skills

Databases, SQL Server, Oracle
Web Development, J2EE, ASP.NET
C#, .NET, VB.NET
Scheduling and Optimization
Agile Methodologies
Java

Publications

Optimization for Operational Decision Support: The Rig Fleet Management CaseMorten Irgens, Ricardo Prieto Guzman and Jacqueline Stamatopoulos, andW. Ken Jackson, SPE Technical Conference, 2008.

Morten Irgens and W. Ken Jackson, Randomization in local search for k-sat: The Simulated Annealing case, AAAI'00 Workshop on Leveraging Probability and Uncertainty in Computation, 2000.

Daya Ram Gaur, W. Ken Jackson, and William S. Havens. Detecting unsatisfiable CSPs by coloring the micro-structure. In Proceedings of AAAI-97.

W. Ken Jackson, Morten Irgens, and William S. Havens. A re-examination of limited discrepancy search. In Proceedings of the Constraint Reasoning Workshop at FLAIRS-1996.

Ken Jackson and William S. Havens. Committing to user choices in mixed initiative CSPs. In Proceedings of the Fifth Scandinavian Conference on Artificial Intelligence, 1995.

Tamara Dakic, Junas Adhikary, Daya Ram Gaur, and W. Ken Jackson, Backtrack-free search for resource allocation problems. In Proceedings of the Constraint Reasoning Workshop at FLAIRS-95.

W. Ken Jackson and F. Warren Burton. A definite and unfoldable, partially deterministic language. The Computer Journal, 37(8):711-714, 1994.

James P. Delgrande, Torsten Schaub, and W. Ken Jackson. Alternative approaches to default logic. Artificial Intelligence Journal, pages 167-237, Oct 1994.

Ken Jackson and F. Warren Burton. Improving intervals. Journal of Functional Programming, 3(2):153-169, April 1993.

Recommendations

Ken and Peter did an outstanding job preparing for and delivering a great demo today!  All the comments during the call were extremely positive and our primary contact called me back after the conference call to say "That was a grand slam!" - P.M., CEO, Actenum

Ken is a mature, patient and professional Software Engineer. His attention to detail is evident across all of his work, from requirements analysis and estimation to coding, testing and documentation. - D.T., Application Specialist, eOptimize

Ken was an exemplary leader and mentor. As a team lead he defined and implemented the agile processes used by the development team.  - S.B., Software Developer, Knowledge Junction

Thank you Ken.  This is the shortest, clearest, and most complete security-related requirements document I've ever seen.  It's a pleasure to write test cases based on this document! - S.H., Quality Assurance, Actenum

Analyst, Team Lead, Developer

Experienced in software development using a variety of technologies and methodologies.
  • Proven blend of software development, business analysis, and leadership skills
  • Expertise in scheduling and discrete optimization algorithms
  • Experience in many phases of software development including pre-sales, product road maps, requirements, design, estimates, coding, quality assurance, and support.
  • Excellent communication skills