Yujin Wu
Verified Expert in Engineering
Data Science Developer
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
Experience
Availability
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
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.
Full-stack Developer
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.
Lead Developer
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.
Software Engineer
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.
Full-stack Developer (Intern)
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.
Software Engineering Intern
- 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.
Software Engineering Intern
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.
Software Engineer
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.
Experience
Professional Drawing and Simulator Tool
http://h2xengineering.comIt 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.comLiasoned 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/minesolver2A 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/mandelbrotUsing 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
(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
Education
Bachelor's Degree in Computer Science
University of New South Wales - Sydney, Australia
Skills
Libraries/APIs
REST APIs, Node.js, React, Vue 2, Vue, WebGL, Vuex, Three.js, D3.js, SDL, OpenCV, Mapbox GL
Tools
Sequelize, Git, Jira, Slack, NGINX, Asana, Canvas, Prisma, Subversion (SVN), Apache Samza, ActiveMQ
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
Paradigms
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
Industry Expertise
Trading Systems, Project Management
Storage
PostgreSQL, MySQL, Amazon S3 (AWS S3)
Other
Single-page Applications (SPA), Data Science, 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
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring