CV - Vaughan Kitchen

(leading a life un-styled)

Personal

Programming language enthusiast, NZ's 4th best chilli eater, brandy connoisseur, and roller skating fiend

Proficient in Elm, Go, C, Fortran, and Javascript (Vanilla, jQuery, React, React Native, Vue)

Good at Bash, C++, Perl, R, and OCaml

Touched APL, Erlang, Chicken Scheme, Typescript, and Haskell

Made eye contact with Rust, and C#

Doesn't like admitting knowing Java, and Python

Interested in work with functional languages or search engines

Selected Works

cocomel - A search engine

A search engine implemented for fun. I have focused largely on optimizing the indexer bringing it down from an initial 2 minute runtime on the 500mb Wall Street Journal to the current 7 seconds. It's deployed as part of my recipe search engine but still has work much to be done on it

C (search engine), OCaml (web scraper) source (search) source (scraper) demo

xiangqi - Chinese Chess

Originally built in 5 days of evenings as part of a work "knowledge sharing" event during covid. Most other people merely video called for their demonstration but I wanted mine to be interactive so after work hours I hacked up the game. I've since improved the lobby logic but haven't gotten around to improving the performance of the game logic and putting in place the last checkmate condition (flying emperor attack). Once I get those in place I'll add Minimax

Elm source demo

cocktails - A cocktail website

Made during the period in which I was obsessed with recreating classic cocktails. I wanted a clean easy to use website which would allow me to search based off of ingredients and would only contain "classic" recipes. Eventually after being frustrated with the existing offers I hacked up my own. Originally it was written in Elm, but I rewrote it to be part of my personal website which is in C

Elm (originally), C (deployed version) source demo

educate - A programming education platform prototype

While working at Hatch tutoring children with programming I wondered if there was an easier way to get them started on focused course material and allow them to work from home. I created this prototype to explore the idea of a clean online environment focused just on the task of learning

Elm source

loader - Asynchronous Javascript module loader

Whilst doing the web design paper at uni I wondered if there was a way to modularise the code given to us in the labs. As they had a requirement in the paper of using no outside libraries I decided to come up with a solution to that problem instead of using something off of the shelf. The result was an understandable and minimal library that was easy to develop with

Javascript source

btpy - Client to the bittorrent protocol daemon

An old project but still one that I had fun developing. In my early days of programming I used to run my own servers and play around with Linux a lot. One of the things I wanted was a better way to download the latest OS releases as soon as they happened. Our internet at the time was slow, and I impatient, if it was there before I saw the news I'd be very happy. I set about figuring out how to script a bittorrent client. Alas I never did complete my project but I enjoyed trying to figure out the protocol (through sniffing binary data) between btpd and it's client at a time before I could read C.

Python source

Education

University of Otago

Bachelor of Science with Honours (BSc(Hons)), Computer Science

2019 - Present (awaiting graduation)

Bachelor of Science (BSc), Computer Science

2015 - 2017

Work History

TracPlus

Currently I work at TracPlus doing anything and everything software. Frontend, backend, architecture and guiding the team are my current primary roles. Previously I mostly did React Native mobile development with the odd spot of React Web Development

Senior Software Engineer (Jul 2021 - Present)
Full Stack Developer (Sep 2020 - Jul 2021)
Frontend Developer (Nov 2019 - Sep 2020)

Self Employed - Private Tutor

Tutoring for second year Computer Science, mainly around algorithms and data structures but also some network and operating systems

Mar 2019 - Oct 2019 (8 mos)

University of Otago - Lab Demonstrator

Demonstrating the second year C programming paper which also covers algorithms

Jul 2019 - Oct 2019 (4 mos)

University of Otago - Tutor

Tutoring a single individual with extra support for second year computer science

Mar 2019 - May 2019 (3 mos)

Self Employed - Freelance Web Developer with Rational Madmen contracting group

Worked as a front end Web Developer with a graphic design contracting group doing rapid prototyping for web ux design. Mainly involved JQuery work with some Angular towards the end

Feb 2017 - Feb 2019 (2 yr)

University of Otago - Lab Demonstrator

Demonstrated second year Java and C programming

Jul 2016 - Jun 2017 (1 yr)

University of Otago - Summer Bursary

Worked adding a continuous integration system to the development process of a new search engine, involved getting code coverage, static analysis and runtime analysis tools configured

Dec 2016 - Jan 2017 (2 mos)

Hatch - Tutor

After school and holidays program to teach kids programming. I did some course development work as well as teaching

Mar 2016 - Dec 2016 (10 mos)

The Warehouse Ltd - Technology Specialist

Primarily a sales consultant type role. I was tasked with knowing and understanding technical information to support the staff in the entertainment counter

Sep 2013 - Jan 2015 (1 yr 5 mos)