
William Whitty
Verified Expert in Engineering
Software Developer
Will is a communicative software architect and full-stack engineer from Scotland. He has worked with multiple large enterprises in software development and enjoys new challenges, describing each codebase as a universe to explore. He's passionate about projects that help the world, enabling users to connect and do something they otherwise could not. Will has a love of game development and is equally at home delivering innovative apps using machine learning to achieve and maintain top results.
Portfolio
Experience
Availability
Preferred Environment
Linux, React, Python, Node.js, Docker, Terminal, Emacs, Nim, Godot, API Integration
The most amazing...
...thing I've done was save an ailing project of high complexity: I brought order to the project in three months and delivered the full specifications on time.
Work Experience
Senior Software Engineer
Status
- Implemented tests and migrations for moving the Nimbus client to the proof-of-stake (POS) protocol.
- Pushed for clarity and maintainability in the codebase as well as implementing improvements.
- Wrote the test coverage and fixed issues with the Web 3.0 protocol.
Back-end Developer
Digital Spring Marketing and Advertising Inc.
- Implemented a cross-country payments system connected to multiple payment providers based on dynamic criteria.
- Aided in implementing and improving the test structure.
- Helped the team prepare for the launch into new territory.
Director of Engineering
Eko App
- Developed a microservice architecture with a connected app that managed client and customer meetings in a large co-working space in Bangkok. The application joined multiple interconnected IoT systems and was built to ensure effortless deployments.
- Architected, implemented, and oversaw the development of the application and its full back end while meeting with the primary investors, clients, and potential clients to define their needs and the future company strategy.
- Hired and managed the development of employees while making lean resource decisions and delivering financial planning for the company. Worked well within budget and performed above and beyond to meet client deadlines.
- Met with technology companies to understand their availability for inclusion in the complete or partial system package. Included in the final system were a modular set of facial recognition gates, smart door locks, and an array of display tablets.
Senior Developer
Eko App
- Rebuilt the web applications' VOIP front end to support a swappable service architecture with 100% test coverage. The company had experienced problems with a vendor and this task enabled performing A-B testing and transfer with no downtime.
- Oversaw three separate struggling teams who were well behind their deadlines. Prioritized the issues, broke down the tasks into manageable chunks, and made the deadline three months later.
- Created a system to automate the in-house massage system. Written in Python, the system used a balanced lottery approach and calendar checking to attempt to be as fair as possible for all participants.
- Gave daily advice and oversight on different areas of projects in need of support. Advised many management teams on how to improve their velocity and avoid difficulties in upcoming projects.
- Initiated and pushed for the use of ESLint throughout the company. Collaborated with the leads of each team to pin their pain points and devised and deployed a relevant configuration. The changes will proposed then became company standard.
- Mentored junior programmers, helping them to onboard as fast as possible, and gave presentations and learning sessions to up-skill teams.
- Managed and hosted a game jam workshop for members of the local community. Collaborated with three other members of the company to give an event for 60 people.
Lead Full-stack Developer
WASD Studios
- Built a real-time game asset marketplace from the ground up. Promoted to the team leader role after a few months. Increased performance and the optimization of team goals.
- Managed both back-end and front-end architecture, during which time I helped the company recover from technical debt acquired earlier in the development cycle.
- Used WebSockets to manage high concurrency user base and interactive systems with live-update pagination and a focus on UI dynamism.
- Wrote a highly configurable page builder system, allowing the local marketing team to specify more easily their requirements by changing a simple configuration.
- Collaborated with the CEO daily to understand business needs and prioritize sprints. Communicated and oversaw the implementation of these priorities in our scrum meetings and during active development.
- Mentored two junior programmers and one intermediate. Those programmers quickly flourished and are themselves now lead developers in Russia and other territories.
- Wrote the projects CI workflow using CircleCI, and automated the CD to the Hetzner server cluster.
Software Engineer
Perfekt
- Rebuilt a production iPad application used by hundreds of drivers in Australia. Refactored and rebuilt the back end of this system, which took over four months and helped the drivers manage their daily lives with greater flexibility.
- Developed eight different projects of varying complexity, helping to manage and complete projects on time and build MVPs for clients as part of client outreach.
- Found many security issues as part of an in-house pen-testing project to secure the company's applications. Acted as team lead and instigator.
- Created dynamic website splash pages using Three.js and React.
- Assisted my team members in launching https://finedefender.com.au, an innovative automatic fine dispute system for Australian drivers.
Experience
Sophia IoT and Building Integration
http://ekoapp.comThe architecture restrictions support live access for scaling numbers of people. Locally, events might require a sudden influx of up to 3-5,000 participants. The application was to be re-sold as a bundle of off the shelf components, and so modularity must enable reach to different markets without including bloat or unpaid systems.
I designed and implemented the full architecture stack and built approximately 85 percent of the application. The architecture was a modular micro-service structure, built on top of MolecularJS. At any time, a new configuration could be generated for a client, and only three of the total 25 services constructed were required.
In this way, the company was able to sell a slim operating platform to clients without extra bloat or features which the client did not require.
Game Jam Workshop
https://www.truedigitalpark.com/events_details/26_TDPK-x-eko:-Game-Jam-WorkshopAfter meeting with the owners and discussing the project scope and requirements, I quickly gathered a team from my company and worked with them to outline the tasks, workshops, and presentations for the workshop.
On the day of, the event had a good turnout (around 60 people), with ages ranging widely. I gave presentations with two others in separate rooms, and visitors worked on implementing changes as presented to the small game I had prepared for the workshop.
Participants loved the event, prizes were given out for those who could achieve small tasks, and I was proud to see that it inspired excitement in some of the university students who attended. (In one case, a student figured out how to gather all the stars on the map by changing some of the code in the player file).
Game Development Projects
https://tavurth.itch.io/I utilized Three.js for interactive websites as well as browser-based 3D games. I also created an implementation of the CLOD terrain: github.com/tavurth/terrain-example
(link.springer.com/chapter/10.1007/978-3-540-28643-1_78)
I contributed to the core engine C++ source code of the Godot engine: github.com/godotengine/godot/pulls?q=author:tavurth+is:pr
I joined multiple game-jam competitions to release small prototype projects.
(https://tavurth.itch.io/)
I have longer-term personal game development projects, including:
• Dynamically loading procedural worlds
• Procedural generation of plants and trees
• Shader-based AI (texture-based data input)
• Shader-based terrain deformation
Machine Learning Research
Beginning by writing several basic machine learning models, I was led towards an evolutionary process to grow machine learning models, battle them against each other, propagate the winner, and repeat.
After a month or two of tweaking, I had achieved an effective progressive machine learning generator, spitting out a new and improved AI schema at the rate of one per 10-15 minutes running on a Raspberry Pi.
After a few months of running, these systems identified some interesting nuances in certain markets. I constructed an automated trading system around these ideas using the Godot game engine as the front end, and C++ machine learning modules as the back end.
The system performs admirably well and I now happily spend some of my free time refining and reconfiguring these models.
Skills
Languages
Python, CSS, JavaScript, HTML5, C++, Lisp, GLSL, TypeScript, C, Nim
Frameworks
OAuth 2, Redux, Next.js, Express.js, Jest, JSON Web Tokens (JWT), Koa, Django
Libraries/APIs
Node.js, React, Ramda, React Redux, Pandas, NumPy, Google API, WebRTC, TensorFlow, Three.js, D3.js, WebGL
Tools
Git, GitHub, Webpack, Docker Compose, CircleCI
Paradigms
Microservices, Functional Programming, Continuous Delivery (CD)
Platforms
Godot, Linux, Docker, Amazon Web Services (AWS), Raspberry Pi, Bluetooth LE, Blockchain, Ethereum
Storage
RethinkDB, MongoDB, PostgreSQL, Cassandra
Other
WebSockets, Styled-components, Machine Learning, Architecture, Internet of Things (IoT), Big Data, API Integration, APIs, 3D, Algorithms, Moleculer, Autoscaling, Game Development, Shaders, NodeMCU, ESP8266, Company Strategy, Evolutionary Algorithms, Multiplayer, Tracking, 3D Modeling, 3D Graphics