Yujin Wu, Developer in Sydney, New South Wales, Australia
Yujin is available for hire
Hire Yujin

Yujin Wu

Verified Expert  in Engineering

Software Developer

Location
Sydney, New South Wales, Australia
Toptal Member Since
December 30, 2019

Yujin is a senior software developer with deep experience in a wide variety of technologies and disciplines. He specializes in full-stack web development and deployment, as well as algorithm development and data processing. He has world-class problem-solving skills, having competed in ACM ICPC World finals, and will find solutions and ideas to even the most challenging problems. Yujin has excellent interpersonal skills and can build strong relationships with clients, managers, and colleagues.

Portfolio

Toptal
Git, Algorithms, WebGL, Vue, Hosting, NGINX, Node.js, Express.js, C++, Python...
Additive Assurance
React, Material UI, Node.js, Express.js, AWS IoT, API Design, Microservices...
H2X Engineering
Vue, Node.js, TypeScript, Express.js, ActiveMQ, Bootstrap, NGINX, Canvas, HTML5...

Experience

Availability

Part-time

Preferred Environment

Slack, Jira, Linux, Windows, Asana

The most amazing...

...thing I've developed from scratch was a SaaS product for civil engineers featuring interactive drawings and novel water demand analysis calculations.

Work Experience

Full-stack Developer | Software Engineer | Consultant

2017 - PRESENT
Toptal
  • Developed a SaaS product for civil engineers using an Express.js self-hosted back end. It's a high-performance drawing tool capable of managing thousands of intricate interactive objects. Invented fast novel algorithms to model physical systems.
  • Provided software development services and consulting on demand for firms in Sydney, including custom web services, REST API integration, data collection, and data integration.
  • Contributed to academic research projects and exploratory work on cutting-edge computer science developments.
  • Developed Office add-ins to help with data integration and custom tasks for a real estate firm using C# and .NET.
Technologies: Git, Algorithms, WebGL, Vue, Hosting, NGINX, Node.js, Express.js, C++, Python, TypeScript, JavaScript, DevOps, Kubernetes, Amazon Web Services (AWS), REST APIs

Full-stack Developer

2020 - 2021
Additive Assurance
  • Designed and implemented a dashboard web app using React, featuring interactive graphs, custom tables, and 2D interactive graphics components that handled large amounts of data seamlessly.
  • Designed and implemented a custom full-stack live-data system with Websockets, PostgreSQL events, and React-Redux, and deployed it with RDS in AWS.
  • Created a high-performance image viewer with Canvas and React, which can view high-resolution images and seamlessly switch between different resolutions given the zoom level and detail required.
  • Collaborated with teammates to design parts of APIs and integrate the app with many AWS components like S3, SQS, Batch, IoT, Lambda, RDS, Beanstalk, and CloudFormation.
  • Managed a new team member and created a smooth onboarding experience. Assigned tasks within his skill set and knowledge of the codebase.
Technologies: React, Material UI, Node.js, Express.js, AWS IoT, API Design, Microservices, PostgreSQL, Agile, REST, Kubernetes, DevOps, Amazon Web Services (AWS), REST APIs, Three.js, D3.js

Lead Developer

2019 - 2021
H2X Engineering
  • Designed and developed a disruptive app that replaced repetitively, time-consuming, and error-prone pen and paperwork in civil engineering. Discussed with a non-tech cofounder to explore the problem space and a wide variety of potential solutions.
  • Prioritized features to develop an initial MVP proof of concept. Prioritized, then designed, and developed remaining features by balancing business importance with engineering roadmap.
  • Worked well under pressure. Achieved less than 24-hour turnaround for most customer-reported requests or issues.
  • Invented novel algorithms to solve water demand calculations and physics simulations. Invented a series-parallel graph algorithm to designate flow through a hot water return network.
  • Conducted research in-platform to identify growth trends as well as problem areas in the product, by analyzing how customers were using the product and presenting growth statistics.
  • Developed optimizations throughout the project as growing pains emerged. Improved scalability of the graphics to handle extremely large projects, scalability to a large number of customers and large project files on AWS, and optimized loading times.
  • Managed subordinates - an intern front-end developer and a mid-level overseas developer. Designed an onboarding program and training, managed, and delegated tasks with employee skillset and growth in mind.
Technologies: Vue, Node.js, TypeScript, Express.js, ActiveMQ, Bootstrap, NGINX, Canvas, HTML5, CSS, Project Management, Agile, PostgreSQL, REST, User Experience (UX), 3D Math, 2D Graphics, Algorithms, DevOps, Amazon Web Services (AWS), REST APIs

Software Engineer

2016 - 2017
Awake Security
  • Worked on the data analytics layer of a cutting-edge security product.
  • Identified difficult bugs by tracking the flow of data through the entire stack, analyzing code in multiple languages and systems.
  • Worked on features and refactoring in JIRA with an organized and highly skilled team.
Technologies: Haskell, Apache Samza, Apache Kafka, Scala, Java, Debugging

Full-stack Developer (Intern)

2016 - 2016
Palantir
  • Developed features for a Mapbox GL-based mapping tool with a world-class team using the Agile methodology.
  • Worked with optimization and performance to improve the rendering of thousands of GeoJSON objects and HTML SVG objects atop an interactive, editable, live-updating map.
  • Developed features in both front end and back end using TDD, tracked bugs, and managed feature lifecycles using JIRA.
Technologies: React, Node.js, Agile, Optimization, Benchmarking, Mapbox GL, Maps, GeoJSON, SVG, Performance, 2D Graphics, Spring

Software Engineering Intern

2015 - 2015
Google
  • Drastically improved the runtime of a heavy test pipeline, by linking an existing headless tool to replace a headed process.
  • Made tooling to graph the effects of hyper-params and constants in a mature algorithm with easy to use Java decorators and custom HTML output.
  • Created an automated process that deduced optimal values for constants to get the best performance in the algorithm, after completing the former tasks well ahead of schedule.
Technologies: CSS, HTML, Android, Java

Software Engineering Intern

2014 - 2015
Microsoft
  • Developed an inbox driver for a GPIO controller with a given spec.
  • Created a robotic device to demonstrate IO performance for the GPIO controller.
  • Identified performance bottlenecks in the existing IOCTL stack in Windows at the time.
Technologies: Hardware, Kernel, Assembly, C++, C, Subversion (SVN)

Software Engineer

2012 - 2013
Draftable
  • Wrote an Outlook extension that organized email attachments, using C#, .NET Office integration, and Windows Presentation Foundation (WPF).
  • Developed a classifier algorithm to identify and group different versions of the same file attachment, based on the sender/recipient, filename, content, and other features.
  • Designed the UI and user stories for the add-in to solve business needs at the time.
Technologies: .NET, C#

Professional Drawing and Simulator Tool

http://h2xengineering.com
H2X Engineering is a web-based application that replaces tedious pen and paper calculations done by civil engineers worldwide.
It allows designers to draw, iterate, and experiment with entire building designs easily on top of architectural plans. It is very user-friendly and allows live documents via web sockets and operation transforms.
It successfully calculates arbitrary systems with graph algorithms and novel techniques that I designed for this specific task.
Front end: Vue.js, WebGL, WebSockets
Back end: Express.js, NginX, typeORM, PostgreSQL, Ubuntu.
I built and designed the full stack - all technical aspects of the project, with the client's direction and product guidance. I led a small team of junior to mid-level developers on onboarding and development at the later stages of the project.

Additive Assurance

http://additiveassurance.com
A web app that displays data visualizations about manufacturing artifacts during the additive manufacturing process in a user-friendly way. The web app also takes care of administrative tasks and manages assets like raw materials and their usage.

Liasoned with analytics developers to integrate their data into the web app and worked directly with the CEO to identify needs and design UI stories and solutions to meet those needs.

Minesweeper Solver

https://github.com/yujinwunz/minesolver2
A toy personal project.

A minesweeper game written in Java showcases a few different AI algorithms that solve the game.

1. Simple AI can solve some beginner games.
2. Backtracking algorithm will solve most expert games to the best ability until it gets stuck due to exponential in time complexity.
3. Frontier DP will sweep the boundaries piece by piece, unlike backtracking, which permutates an entire boundary at once. It can solve pretty much any sized game in practice, despite Minesweeper being NP-complete in theory!

Multithreaded Arbitrary Precision Fractal Project

https://github.com/yujinwunz/mandelbrot
A personal project of mine.

Using an arbitrary precision library (MPIR) I created a Mandelbrot Set viewer with infinite zoom.
It is a multithreaded C++ application with a shared scheduling stack.
An important optimization was to use divide and conquer and some heuristics to color in solid blocks and avoid lots of unnecessary pixel calculations.

CUDA support and perturbation optimization are coming up next!

Robotics Projects

At the university, I designed and developed the software for:

(1) A robot maze-solving and object collection
The robot identifies and locates a list of objects before exiting a random maze
- Light and distance camera integration used for object recognition
- SLAM (simultaneous location and mapping) algorithms
- OpenCV for blob detection
- Pathfinding algorithm using state-exploded A*, encoding the orientation of the bot as well as its position to find the optimal path.

(2) Tic Tac Toe robot arm
The robot arm plays tic tac toe against a human opponent using colored blocks that it picks up.
- OpenCV for block recognition
- Operation with the Sebastian robot arm

Languages

JavaScript, C++, Java, Python, C#, TypeScript, SQL, OCaml, HTML, CSS, C, Scala, Haskell, HTML5, Assembly, GraphQL

Frameworks

Express.js, .NET, Material UI, Bootstrap, Spring, Django, Flask

Libraries/APIs

REST APIs, Node.js, React, Vue 2, Vue, WebGL, Vuex, Three.js, D3.js, SDL, OpenCV, Mapbox GL

Paradigms

Data Science, REST, DevOps, Agile Software Development, Functional Programming, Hosting, Agile, Microservices, Dynamic Programming

Platforms

Linux, Amazon Web Services (AWS), Amazon EC2, Kernel, AWS IoT, JavaFX, Kubernetes, WordPress, Android, Apache Kafka, Windows, AWS Elastic Beanstalk

Other

Single-page Applications (SPA), Mathematics, Algorithms, Software Development, Office Add-ins, Machine Learning, Security, Concurrency, Distributed Systems, Robot Operating System (ROS), Hardware, User Experience (UX), 3D Math, 2D Graphics, API Design, Data Analytics, 3D Visualization, Optimization, Physics Simulations, Apollo, Computer Science, Simultaneous Localization & Mapping (SLAM), Robotics, Debugging, Benchmarking, Maps, GeoJSON, SVG, Performance, Reverse Engineering, IT Networking

Tools

Sequelize, Git, Jira, Slack, NGINX, Asana, Canvas, Prisma, Subversion (SVN), Apache Samza, ActiveMQ

Industry Expertise

Trading Systems, Project Management

Storage

PostgreSQL, MySQL, Amazon S3 (AWS S3)

2013 - 2016

Bachelor's Degree in Computer Science

University of New South Wales - Sydney, Australia

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring