Dougal Graham

Web Developer

Phone
+66 (0) 98-282-3630
Email
dougalg@gmail.com
My GitHub Profile
dougalg

Experience

Senior Developer (Remote)

Viafoura

Sep. 2018 Present

Lead accessibility efforts across the Viafoura product space. Work with team members during shared hours to develop features at a high level of quality. Mentor and perform code reviews for teammates. Work with teammates to develop plans for complex features. Developed an integration test framework which drastically increased the frequency with which bugs were caught in development.

Key Skills

  • Mentoring
  • Accessibility
  • JavaScript
  • PHP
  • Java
  • CSS
  • HTML
  • Vue

Front-end Team Lead

Viafoura

Jul. 2015 Sep. 2018

Lead weekly planning scrums. Develop plans to ensure new features are developed effeciantly and with high quality. Develop and maintain processes (eg CI) to ensure code quality and reliablity using tools to automate linting, testing, and code coverage requirements. Mentor and and work with team members to develop style guides, and maintain code efficiency. Participate in candidate interviews.

Key Skills

  • Mentoring
  • Continuous integration
  • JavaScript
  • PHP
  • Java
  • Eslint
  • GitHub Hooks
  • Jenkins
  • Istanbul
  • Webpack
  • CSS
  • HTML
  • Vue

Product Team Developer

Viafoura

Sep. 2014 Jul. 2015

Work in a team to develop and maintain key client-facing software. Quickly respond to and resolve bug reports, by isolating and fixing issues in the software, or liasing with relevant team members to ensure bug resolution. Implement new features, write tests, and ensure product stability and validity. Develop features in tandem with other team members.

Key Skills

  • JavaScript
  • PHP
  • Java
  • Backbone
  • Marionette
  • Git
  • CSS
  • HTML
  • Vue

Lecturer and Researcher

King Mongkut's University of Technology Thonburi

Oct. 2012 Aug. 2014

Conducted corpus research to develop a useful understanding of context-specific language use. Developed an online learning platform for engineering students learning English. Helped design questions for the Test of English for Thai Engineers and Technologists (TETET).

Key Skills

  • Python
  • CSS
  • HTML
  • JavaScript

Projects

Pan Handler

A simple pan and zoom library for projects using canvas 2D. Goal is to be as simple as possible, with optional functionality exposed through plugins. Implemented in typescript, published on NPM as @dougalg/pan-handler.

Tech

  • TypeScript
  • NPM

3D Snake

An implementation of the classic Snake arcade game in a 3D space. Implemented in vanilla JavaScript.

Tech

  • JavaScript
  • ThreeJS

CEEM

Produced for King Mongkut's University of Technology Thonburi, in Thailand, CEEM is a student vocabulary learning tool based on applied linguistics research focusing on technical engineering vocabulary. Includes an api written in Python as well as an interactive frontend written in JavaScript.

Tech

  • JavaScript
  • CSS
  • HTML
  • Python 3
  • MySQL
  • OpenID

Type-Thai

An MacOS input method for Thai. A user can type romanized Thai, and te input method will convert it to Thai characters. This was inspired by standard Japanese input methods which use romanization. This project is no longer maintained.

Tech

  • XFST (Finite-state transducers)
  • Objective-C

Key-BNC

A tool to help applied linguistics researchers easily perform a variety of statistical word frequency analyses against data from the British National Corpus (BNC).

Tech

  • Python 3

The Lesson Repository

A tool for English teachers in Japan to share lesson plans and lesson materials. Developed a theme using Wordpress with file upload, and login functionality.

Tech

  • Wordpress
  • HTML
  • CSS
  • PHP

Education

Memorial University of Newfoundland 2008
Master’s in Computational Linguistics - Finite-state Parsing of Cayuga Morphology

Memorial University of Newfoundland 2005
Bachelor's Degree in Linguistics, minor in German

Academic

Publications

Graham, Dougal; Osment, Christopher, Interactive Web-Based Learning of Corpus-Generated Phrases in Proceedings of AsiaCALL 2013, forthcoming

Graham, Dougal, The Engineering Phrases List: Towards Teachable ESP Phrases in Proceedings of the 34th Annual ThaiTESOL International Conference, forthcoming

Graham, Dougal. Finite-state Parsing of Cayuga Morphology. MA thesis, Memorial University, St. John’s, NL, 2008

Graham, Dougal. A finite-state approach to morphological segmentation of Cayuga nominals, in Proceedings of WSCLA XII: The Twelfth Workshop on the Structure and Constituency in the Languages of the Americas, UBCWPL 21, pp 60-71, March, 2008

Conferences

The Engineering Phrases List: Towards Teachable ESP Phrases

The 34th Annual Thailand Teaching English to Speakers of Other Languages International Conference (Thai TESOL 34), the Empress Hotel, Chiang Mai, March 30th – April 1st, 2013

Interactive Web-Based Learning of Corpus-Generated Phrases

The Asia Computer-Assisted Language Learning Conference (AsiaCALL 2013), University of Khon Kaen, Nov 21st – Nov 23rd, 2013

Morphological Parsing of Cayuga in a Finite-state Framework

The 12th Annual Workshop on the Structure and Constituency in the Languages of the Americas (WSCLA 12), University of Lethbridge, March 30th – April 1st, 2007

Awards, Honors, & Diplomas

Fellow of the School of Graduate Studies, MUN 2007
Graduate Research Integrity Program, MUN 2007
Completed the Graduate Program in Teaching, MUN 2006
Completed the Teaching Opportunities for Graduate Assistants Program, MUN 2006