James Ferguson

Full-stack Web developer

0425 344 555 jamesferguson497@gmail.com jamesfer.me github.com/jamesfer

About

My approach when it comes to programming is constant improvement. I always review the application design, code, and user interface of the projects that I work with to see if they can be improved. Not just looking for ways to increase performance, but to also optimize the user experience by trying to remove confusing elements or improve workflows.

In my current role, I have designed and developed front-end applications from the database level upwards using MySQL, Laravel and Vue. I also need to work on many projects that have been created by other developers both internal and external to the company. In addition, I have written a review of modern agile methodologies and adapted them to work with our team's, and our clients, immediate needs.

I have extensive experience with Angular, Typescript and Node.js and have written a number of individual projects using these technologies. These projects include: an open source query builder for Neo4J, a SAAS product called Crystallize to help business and individuals organise themselves and I am prototyping a functional, asynchronous, compile-to-Javascript language that supports type hinting and lazy evaluation.

In my spare time I have recently been investigating Haskell and functional programming in general and have found that many functional patterns can be carried over into the work that I normally do.

Skills

Angular

Typescript

Webpack

Docker

Node.js

Sass

Highlights

Crystallize (early development)

crystallized.io
angular node.js neo4j webpack docker continuous-deployment
  • Solo project.
  • A highly customizable organisational app for business and clubs.
  • Built into a Docker container and continuously deployed onto Google Cloud Platform

Cypher Query Bulder

github.com/jamesfer/cypher-query-builder
typescript node.js observables continuous-integration
  • Query builder for Neo4J's query language, Cypher.
  • Open Source.
  • Fluent syntax.
  • Supports streaming records using observables.

Crystallize Formula Language (early development)

jamesfer.me/query-language
typescript functional-programming lazy-evaluation type-inference observables
  • A statically typed, lazily evaluated language designed to work with the Crystallize app.
  • Compiles queries into an observable that will evaluate the result when subscribed to.
  • Designed to efficiently filter and reduce paginated resources stored in a database.

Experience

2017 - now

Full stack developer

DCode Group

vue jquery scss php laravel mysql aws
  • Designed relational database layouts and developed full-stack applications that ran on Amazon Web Services.
  • Responded to feedback from clients and planned possible solutions to their requests.
  • Assisted other developers in using technology that I had experienced previously such as the Laravel Framework and Stripe Payments API.
2016 - 2017

Summer Scholarship Recipient

CSIRO Data61

python ros c pathing-algorithms
  • Performed research and aided in development of a self-navigating robot.
  • Analysed the current state of the project and provided guidance on future work that would be needed.
March - November 2016

Creating Web Applications Tutor

Swinburne University of Technology

php javascript html5 mysql
  • Teaching students about the basics of how web applications work on the internet.
2016 - 2017

President

Swinburne University of Technology Cheerleading Club

  • Managing and coaching a club of approximately forty athletes and three teams.
  • Scheduling and running meetings and delegating tasks among other executive committee members.

Education

2015 - now

Bachelor of Computer Science

Swinburne University of Technology

  • Received the Dean’s Scholarship of Outstanding Achievement
  • Have achieved a High Distinction in the majority of subjects
January - December 2014

Certificate III in Media

Swinburne Secondary College

html5 javascript dreamweaver
2009 - 2014

Victorian Certificate of Education

Kew High School

  • Graduated with an ATAR of 90.35

References

Akhlaqur Rahman

Research Supervisor

0451 321 205 akhlaqurrahman@swin.edu.au

About

My approach when it comes to programming is constant improvement. I always review the application design, code, and user interface of the projects that I work with to see if they can be improved. Not just looking for ways to increase performance, but to also optimize the user experience by trying to remove confusing elements or improve workflows.

In my current role, I have designed and developed front-end applications from the database level upwards using MySQL, Laravel and Vue. I also need to work on many projects that have been created by other developers both internal and external to the company. In addition, I have written a review of modern agile methodologies and adapted them to work with our team's, and our clients, immediate needs.

I have extensive experience with Angular, Typescript and Node.js and have written a number of individual projects using these technologies. These projects include: an open source query builder for Neo4J, a SAAS product called Crystallize to help business and individuals organise themselves and I am prototyping a functional, asynchronous, compile-to-Javascript language that supports type hinting and lazy evaluation.

In my spare time I have recently been investigating Haskell and functional programming in general and have found that many functional patterns can be carried over into the work that I normally do.

Highlights

Crystallize (early development)

crystallized.io
angular node.js neo4j webpack docker continuous-deployment
  • Solo project.
  • A highly customizable organisational app for business and clubs.
  • Built into a Docker container and continuously deployed onto Google Cloud Platform

Cypher Query Bulder

github.com/jamesfer/cypher-query-builder
typescript node.js observables continuous-integration
  • Query builder for Neo4J's query language, Cypher.
  • Open Source.
  • Fluent syntax.
  • Supports streaming records using observables.

Crystallize Formula Language (early development)

jamesfer.me/query-language
typescript functional-programming lazy-evaluation type-inference observables
  • A statically typed, lazily evaluated language designed to work with the Crystallize app.
  • Compiles queries into an observable that will evaluate the result when subscribed to.
  • Designed to efficiently filter and reduce paginated resources stored in a database.

Education

2015 - now

Bachelor of Computer Science

Swinburne University of Technology

  • Received the Dean’s Scholarship of Outstanding Achievement
  • Have achieved a High Distinction in the majority of subjects
January - December 2014

Certificate III in Media

Swinburne Secondary College

html5 javascript dreamweaver
2009 - 2014

Victorian Certificate of Education

Kew High School

  • Graduated with an ATAR of 90.35

Skills

Angular

Typescript

Webpack

Docker

Node.js

Sass

Experience

2017 - now

Full stack developer

DCode Group

vue jquery scss php laravel mysql aws
  • Designed relational database layouts and developed full-stack applications that ran on Amazon Web Services.
  • Responded to feedback from clients and planned possible solutions to their requests.
  • Assisted other developers in using technology that I had experienced previously such as the Laravel Framework and Stripe Payments API.
2016 - 2017

Summer Scholarship Recipient

CSIRO Data61

python ros c pathing-algorithms
  • Performed research and aided in development of a self-navigating robot.
  • Analysed the current state of the project and provided guidance on future work that would be needed.
March - November 2016

Creating Web Applications Tutor

Swinburne University of Technology

php javascript html5 mysql
  • Teaching students about the basics of how web applications work on the internet.
2016 - 2017

President

Swinburne University of Technology Cheerleading Club

  • Managing and coaching a club of approximately forty athletes and three teams.
  • Scheduling and running meetings and delegating tasks among other executive committee members.

References

Akhlaqur Rahman

Research Supervisor

0451 321 205 akhlaqurrahman@swin.edu.au