James Nickoli

Full Stack Developer

"Striving for deep understanding"

Video Cover Letter

Work Experience

{jobTitle}

Full Stack Developer

Big Viking Games

May 2022 - Aug 2022
php
react
java
sql
typescript
docker
firebase
redis
jira
confluence
slack
  • Increased game management efficiency by translating internal tools from PHP to React.
  • Upgraded in-game social systems built using Java, SQL, and Typescript, enhancing play experience for thousands of live users.
  • Strengthened player connections by discovering sources of long standing bugs via the debugging features of Docker containers.
  • Collaborated in an Agile team using Jira, Confluence, and Slack to maintain live service games running on Firebase and Redis.

Programming Experience

{jobTitle}

Team Member

McMaster Competitive Programming Team

Oct 2021 - Aug 2023
cpp
python
  • Represented McMaster in the International Collegiate Programming Contest as a member of the junior team in 2021-2022, and placed 3rd out of 26 contestants in the 2022-2023 tryouts, qualifying as a member of the leading team.

Projects

Missile Command 3D

cpp
python
  • Participated in Ubisoft's NEXT competition, using the provided API to create a 3D game engine in C++, implementing memory pools and an Entity Component System.
  • Benchmarked different custom implementations of vector/matrix math, using Python to visualize results.
  • Recreated the arcade game Missile Command with 3D graphics, and physics-based missiles

Esoteric JS Transpiler

javascript
html
css
  • As a programming exercise, created a transpiler that uses only the characters =_$(){}><~!%^&|*-+[];:?.,/ to encode any Javascript code

Multiplayer Mastermind

java
  • Built a custom Java package for making GUI programs ( github.com/rsninja722/gamej ) using AWT and Swing, handling multi-threading, rendering that leverages the GPU, asset loading, camera systems, and mouse and keyboard input, also providing documentation and project templates.
  • Defined a communication protocol and wrote a server using Netty that can connect users with different clients.
  • Created a game client and a bot server to also allow individual play.

Webassembly Platformer

cpp
web-assembly
  • Created a platformer game with C++ using the Raylib game library for the Ludem Dare 51 game jam in 72 hours
  • Compiled the game to run on the web with WebAssembly using the Emscripten toolchain

Technologies

Languages

javascript
html
css
python
java
php
c
cpp
csharp
haskell
sql
rust

Frameworks / Technologies

astro
tailwind
react
nodejs
raylib
mariadb
mongodb
web-assembly
docker
firebase

Tools

git
linux
jira
confluence
slack