Profile

My background is as a software developer with an education from the University of Waterloo. I pride myself on being on top of the latest things happening in the computer industry and the internet. I enjoy working on challenging technical problems that require unique and creative solutions.

Education

2002 – 2005
University of Waterloo
  • Bachelor Of Computer Science (BCS) Honours

Work Experience

2010 – Present
Software Developer –  Redfall Technologies Inc., Calgary AB

Redfall Technologies is a small business Developing Web based financial services.

Responsibilities

Develop a payment webservice on vogogo.com. Originally written in Groovy on Grails it was re-written in Python with Django. I helped lead the re-write of the project into Python, and added some additional new technologies such as Backbone.js to create a more dynamic Javascript powered UI.

I developed the Restful API for vogogo.com, and developed a javascript library for embeding our payment options easily on external websites.

Program and support a Groovy on Grails based webservice automated clearing house (ACH) for cheque and EFT processing. It is the backbone service that has been developed to launch other businesses off of in the future.

Develop and support Groovy on Grails web applications for rent collection and invoicing services. Included most aspects of web development - Javascript, HTML, CSS, Groovy backend, API design, database integration/SQL etc.

Design and program iPhone and iPad applications in Objective-C. One of these interfaced with credit card reading hardware device and the other is an interface to the the web services provided by vogogo.com

Technical Environment

Linux servers and desktops for development and production machines. Primary development is done with VIM and command line tools. PostgreSQL is the main DB used for testing and development. Extensive unit and integration tests are maintained to ensure that code regressions are minimized.

2006 – 2010
Intermediate Software Developer –  Connor Clark And Lunn Financial Group, Vancouver BC

Connor Clark And Lunn is a medium sized business of approximately 250 employees in the Financial Services industry. They manage approximately $36 billion in assets for clients.

Responsibilities

Program and support applications for the quantitative equity team along with a small group of three other developers. We manage approximately 100,000 lines of Java code across 20 applications. Development is primarily done in Java, but included some Excel VBA, and Q (KDB database). The proprietary software was a highly complex collection of tools and reports to get data from data providers, analyze stocks and produce and optimize the buy/sell orders which the traders executed.

I also support the trading systems by managing software they use to place orders as well as post trade processes. This is primarily advanced Excel VBA code and spreadsheets, VBScript, PowerShell and SQL. Part of this support role was being at the office at 6am before the markets opened to ensures systems were operating.

I worked with the business users to design solutions, develop testing procedures and coordinate deployments

Projects

A few of my bigger projects include

  • A flexible charting tool for analysing time series data from the database
  • Many loaders for parsing data and getting it into the database
  • Major project of converting from legacy database to KDB+
  • Performance and Attribution tools
  • Supported trading applications: Bloomberg, Moxy, Triton, FIX, Thomson One
  • Supported and maintained advanced inhouse Excel Spreadsheets

Technical Envrionment

Primarily development was done in Windows with Java using Eclipse IDE for Equity related projects. Recent development favored writing code at the database level in the q language for the KDB+ database which is highly specialized for time series data. There were also several complex Excel spreadshhets with extensive VBA code. We had been rewriting the existing VBScript code into PowerShell. Trading systems made use of MSSQL

One of my side projects was MySQL based logging server and web interface running on two Linux machines. The website was written in PHP.

2006  – Present
Director – Halotis Inc. - Calgary AB

Responsibilities

Program iPhone Games and in Objective-C. I have developed and published nine apps and six games to iTunes App Store under Halotis and other companies. Game development has been done with the excellent cocos2d library.

I developed a comprehensive web backend (python and django) to control and update all the games and apps, as well as gather marketing information and present reports. It is a multi-user website that powers a collection of custom tools for managing my apps. This website is hosted on several Amazon AWS servers for redundancy and uptime.

I managed an iOS game project and hired a team of developers in Pakistan to do the software development. I coordinated with the team there on the development of a web service backend to support the game.

Launched a website Automatic Blog Machine to help automate the steps required to install, configure and automate a blog. There are several customers using this service right now. The site is developed in Python with Django - front end design and backend were all designed and programmed by me.

Part-time work for my own HalOtis Inc. business. I created and designed over 30 unique websites and focused primarily on promoting CPA (Cost Per Action) and affiliate sales. I maintain a internet marketing and software development related blog at halotis.com as well as a personal blog at mattwarren.name. I wrote a short ebook and all the content/sales materials for runtoloseweight.com.

I actively maintain Google Adwords campaigns using the Adwords Editor and several self developed Python scripts.

Some of my more useful projects have included promotional scripts for automating blogs, scaling up and organizing Google Adwords campaigns, monitoring and scraping websites, and automating Twitter accounts.

Taking on the occasional contract position for web development work. HTML development, Server setups, light graphic work, wordpress plugin development, email marketing setup and other assorted things.

Technical Environment

Development is done in a mixed Mac OSX/Linux environment primarily with PHP and Python. Some HTML, Javascript, CSS was hand-coded using my editor of choice: VIM.

May 2004 – May 2006
Software Engineer – Department of Fisheries and Oceans, St. John's NL

Responsibilities

Help researchers with the analysis of data by writing tools to help visualize it.

Automate processes

Administer the environment, make technology recommendations, and advise on purchasing decisions

Projects

Designed and wrote a graphical application in Java to analyze raw data from deep ocean probes. The final result was a program that was used by several people in the department to evaluate and work with the data.

Also, I worked on an ocean forecasting system. It was a concurrent and parallel mathematical process that was distributed over several Solaris machines. It required writing Unix scripts to procure data from international partners. MatLab code to analyze satellite, radar, and other data. I helped debug the modeling code written in Fortran, wrote automation scripts and displayed generated charts and graphs on a website. I deployed a wiki, FTP server, set up apache for a web server, and administered a mixed Windows/Linux/Solaris environment.

Another project I worked on as lead developer was an application written in MatLab to predict drift patterns of objects in the ocean to be used by the coast guard to locate people lost at sea.

Technical Envrionment

Mixed environment of Windows, Linux and Solaris. Development was all done on Linux using MatLab, Java and Python

Proficiencies

Programming (years of experience)
  • C/C++ (3 years) - I wrote a real-time operating system from scratch in C
  • Objective-C (5 months)
  • Java (6 years) - Primarily system processes and Swing based GUI applications
  • MatLab (2 years)
  • Python (6 years)
  • Javascript (5 years)
  • HTML (10 years)
  • PHP (1 year)
  • Q/KDB+ (1 year)
  • Bash, Perl, jQuery
Applications & Operating Systems
  • Linux - Using Linux since 1997. Several different distributions and have configured both servers and desktops. Linux is my preferred development environment
  • Windows and Mac OSX proficient.
  • Experience in Eclipse + Pydev, and TextMate.
  • Experience with Adobe Photoshop.
Internet Marketing
  • Google Adsense.
  • Google Adwords Experience.
  • Proficient with Google Analytics.
  • Completed John Reese’s Traffic Secrets 2.0.
  • Completed Jeff Walker’s Product Launch Formula 2.0.
  • Completed Ed Dale’s 30 Day Challenge.
  • Completed Frank Kern’s Mass Control.

Personal Interests and Achievements

2009
  • Training for a Marathon and several Half-Marathons.
  • Open Soucre Projects
    • qpy - Python interface to KDB+ database
    • halotis-collection - Collection of web and internet marketing scripts
  • My interests include biking, skiing/snowboarding, Linux, piano, drums, and motorcycles.