Wooyoung Son
Verified Expert in Engineering
Software Developer
Wooyoung is highly self-motivated about anything related to computers, including software engineering, networking, system administration, data analysis, and visualization. He is very excited to work with different companies and clients and learn new technologies. Anything involving computers is always inspiring to Wooyoung.
Portfolio
Experience
Availability
Preferred Environment
Linux, Visual Studio Code (VS Code), IntelliJ IDEA, Docker
The most amazing...
...thing I've built and been maintaining is a fully functional code interpreter that works with the custom programming language that I created.
Work Experience
Senior Full-stack Developer
Tech4x
- Integrated an OpenAI model into the back-end process using Node.js, deployed it on AWS Lambda, and linked it with S3 for file input and output, all while ensuring code adaptability through the dependency inversion principle.
- Established distinct IAM roles for each S3 bucket to prevent accidental infinite loops when setting up signed URLs for secure file uploads.
- Configured the AWS Lambda function to trigger upon S3 bucket upload events and established the necessary IAM roles with least-privilege permissions for downloading files from the output buckets.
- Enhanced the existing React front end by implementing Redux state management, allowing for the clean separation of the global state across multiple pages that needed to propagate state to child components.
- Incorporated new components, pages, and features per the client's requests, all while upholding excellent code quality by segregating logic out of the UI using the React hook pattern.
Senior Back-end Engineer
Tiers
- Employed a domain model and a use case diagram to examine the domain and use cases thoroughly, identifying pertinent entities and use cases crucial for fostering micro-service architecture, as per the CEO's request.
- Implemented a resilient back-end service using Spring Boot, as per stakeholders' request, and seamlessly integrated it with Auth0 for authentication.
- Leveraged SOLID principles and Clean Architecture extensively to foster domain-driven development, enabling seamless integration of business logic with diverse third-party services without affecting our service's implementation.
- Documented the codebase thoroughly while providing detailed instructions in Confluence, to enhance comprehension of the architecture and facilitate a smooth onboarding for future coworkers and maintainers of the system.
- Configured and deployed the implemented service to AWS using Elastic Container Service, which included VPC configuration and IAM role/identity center setup.
Lead Software Engineer
TriggerReactor Team
- Innovated by developing three experimental projects as prototypes that utilized different compiler theories and structures to establish the ultimate project structure, which led to our successful implementation.
- Managed the project by initiating the set up of the Kanban board provided in the GitHub repository, allowing me to track every issue and efficiently divide the work among willing volunteers.
- Managed and distributed releases to the community website, ensuring that the latest updates for TriggerReactor were available and accessible to the community through our pages.
- Ran and offered support to end-users through the Discord channel with 600 members by answering inquiries, introducing new features, and adding any reported bugs to the Kanban board.
- Configured the Github Action to automate the build pipeline so that the coverage tests would automatically run for new pull requests. The binary files would be built and uploaded to the release page, and the Javadocs to the GitHub Page.
Senior Full-stack Developer
JAM Fintop Capital
- Engaged in discussions with the client to gather requirements, delivered new features and bug fixes outlined in the requirements, and provided clear demonstrations of the results.
- Articulated and visually presented potential choices when confronted with ambiguous situations, ensuring clarity for a non-technical audience, the client.
- Resolved an unforeseen bug in the document viewer that was affecting the client's ability to interact with specific elements on the website, even though it was not initially part of the requirements.
Unity Developer
APAC, I.A.P. Asociación Pro Personas con Parálisis Cerebral
- Took ownership of a game scene, implemented its core gameplay features, and ensured the scene included all necessary gameplay elements.
- Collaborated with a fellow developer to discuss the game's overall system and flow and closely aligned with their code style to boost efficiency.
- Maintained modularity and organization for all game objects and scripts, facilitating adaptability to changing requirements throughout the development process.
- Developed a comprehensive UI system with built-in language translation support that can be effortlessly reused across all game scenes.
React Developer
RightCompany
- Converted a native JavaScript, CSS, and HTML website into React and incorporated essential new components to enhance efficiency.
- Set up Webpack and Babel to transpile the website for compatibility with IE 11 and resolved all pertinent issues.
- Maintained regular communication and utilized git rebase to facilitate a seamless merging process for the current team members.
- Created custom polyfills for node modules that didn't function properly with transpilation.
Lead Software Engineer
Near Vision Institute
- Facilitated requirement elicitation and populated the backlog inventory by working closely with the optometrist from our research group through constant collaboration and communication.
- Revamped the legacy codes to employ the DI and OOP patterns for better maintainability while creating relevant artifacts such as UML diagrams and detailed documentation to assist future maintainers.
- Contributed to weekly whole team meetings by recording new requirements and updates, breaking down the requirements into smaller tasks, and updating the Trello board accordingly to ensure the team was aware of any changes or updates.
- Established the GitHub Action to automate the build pipeline, enabling coverage tests to run automatically for new Pull Requests and ensuring that the binary files were built and uploaded to the institution's private Google Drive.
- Conducted interviews with previous developers, stakeholders, and end-users, producing a domain diagram and dictionary to understand the domain better and clarify any ambiguous jargon.
- Mentored junior developers to help them quickly adapt and understand the project by developing detailed tutorials and providing one-on-one tutoring to each of them.
- Gained administrative access from the project owner and managed the IAM roles appropriately, allowing only the minimum permissions required to accomplish the assigned tasks.
Software Engineer
Near Vision Institute
- Executed the implementation of a distance estimation algorithm that gauges the distance between the user's face and the smartphone, utilizing the frontal camera of the smartphone and resulting in an error margin of roughly around +-3cm.
- Employed the Inversion of Control pattern to modularize the estimation system, making it simple to add or remove from the application.
- Developed an implementation of the estimation algorithm that operated asynchronously, utilizing coroutines to process real-time images without blocking the main thread.
- Took part in the SNOW (School Nurse Organization of Washington) Conference alongside the optometrist from NVI and exhibited the estimation algorithm to the school nurses.
- Developed the communication logic between the application and back-end using the HttpRequest of .Net Framework and utilized coroutine to ensure that the I/O operation did not block the main thread.
- Made extensive use of Git branches to separate each feature into its branch and created descriptive commits by concentrating on the parts and grouping only relevant chunks of changes together.
Software Engineer
Self-Employed
- Teamed up with the moderators of the game server to collect new requirements and identify system failures within a real-time online game environment.
- Developed various plugins as needed, written in Java, to improve the user experience, detect cheating, maintain reliability, and add new game rules.
- Implemented careful design of I/O operations to be run in separate threads to avoid blocking the main thread and ensure a better user experience.
- Configured various network-related settings, including port forwarding, firewall rules, and internal traffic redirection, to efficiently handle real-time traffic from or to the user.
- Monitored the memory allocation and thread usage using VisualVM and fine-tuned JVM parameters to efficiently handle the high number of short-term instances. This helped to minimize the impact of the garbage collection process on the user experience.
- Scheduled the cron job to create daily, weekly, and monthly backups using Rsync.
Experience
Vision Screening Application
http://courses.washington.edu/css497/wooyoung_son.jpgWorking with the back-end team, I implemented a data uploading feature to an AWS server for real-time data collection. This data could be used by researchers to improve vision screening practices. I also added a distance estimation feature using a machine learning algorithm to provide appropriate feedback to the user, advising them to maintain a proper distance from the mobile phone to optimize vision screening.
To ensure security and data protection compliance, I configured AWS Cognito User Pool for user authentication and wrote a Node.js module to verify access tokens and restrict access to protected resources.
In-game Script Interpreter
https://github.com/TriggerReactor/TriggerReactorAs an administrator, I know firsthand that writing Java code can be challenging, and writing simple scripts in the custom programming language I created can be much more productive. Additionally, this plugin's language is not dependent on strong typing like Java, making it easier to integrate multiple plugins. With this plugin, I was able to reach production much faster and provide a more efficient workflow.
Inventory Tracking System
https://github.com/wysohn/CSS343-Assignment4My role in the project was to create a hashtable that allowed for constant time access to each inventory item, and I also conducted unit tests to ensure the quality of the software. The project was a great opportunity to work collaboratively and learn about the importance of testing and efficient data structures. Overall, I enjoyed working on the project and was proud of the final result.
Hellscape Inc.
https://paulwhite93.github.io/HellScapeINC/As one of the team members, my main responsibility was to organize the code produced by my teammates and encourage them to produce modular code for easier integration in later stages of development. I spent a lot of time refactoring the code while ensuring that all the functionalities were maintained.
Additionally, I implemented a general-purpose Finite State Machine that drove the monster's behavior in real-time, making the gameplay more exciting. I also developed the user interface elements for the game, which showed the current progress of the user's objective. Overall, my contributions helped to improve the game's functionality and user experience.
Advertisement Writing AI
https://www.kaggle.com/code/wysohn2/mxnet-title-to-content-genThe data was then queried, pre-processed using Open-refine software, and fed into a pre-trained GPT-2 model that was fine-tuned for five epochs on the entire dataset. The resulting output was evaluated and deemed convincing by a human evaluator.
Brain Hemorrhage Detection
As an additional experiment, I was assigned to retrain the model developed by a previous graduate student to see if it would perform better at different time frames of the ultrasound image.
Our aim was to improve the model's accuracy in detecting hemorrhages by identifying the specific time frame within which the ultrasound image showed the best sign of hemorrhage. We tested the model's performance on different time frames. We found that the accuracy was better in the specific frame used than in its neighboring frames, indicating that the experiment was successful in improving the model's accuracy.
Keyword Search Helper
I built the platform using React/Next.js for the front-end, Django/DRF for the back-end, and Maria DB for the database. Additionally, I created several Python scripts to scrape websites and process data in the database.
To ensure easy deployment to cloud environments, I designed the entire system using Docker. With this set up, if the software proves profitable, it can be easily transferred to cloud environments.
Dockerized Text Classification Algorithm
https://github.com/wysohn/rt_text_class_base_gpt2_hfUsing a smaller model also helped speed up the development process, and I ensured the code was cleanly written to work with the provided specifications. The client was pleased with my expertise and knowledge in AI/ML tools, as well as my clear communication and timely delivery. Overall, I received high praise for my work on this project.
"Wooyoung is a great AI/ML engineer. He delivered a GPT2-based text classification to us as per our specifications. He is very knowledgeable [and] skilled in AI/ML tools. He communicates clearly and delivers on time. Highly recommend working with him!"
Instagram Automation Bot
https://github.com/wysohn/InstaBotI opted for a state machine design due to the chaotic nature of internet communication and unstable network connections that make it necessary to discretize variables into finite states to better handle such variability.
This approach also makes it easier to maintain the existing codebase and add new features. Overall, I am proud of the state machine-based design of this project, as it has allowed me to create a robust and adaptable software application.
Inventory System for In-game Use
Skills
Languages
Python, Java, JavaScript, TypeScript, Python 3, C, C++, C#, SQL, C#.NET, Markdown, Octave, R, HTML, CSS
Libraries/APIs
React, Node.js, Dlib, REST APIs, GSON, Beautiful Soup, NumPy, Pandas, OpenCV, Python API, Asyncio, Scikit-learn, OpenID, Puppeteer
Tools
Git, GitHub, Gradle, NGINX, MATLAB, Docker Compose, Webpack, Babel, AWS IAM, Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Container Registry (ECR)
Paradigms
Object-oriented Programming (OOP), REST, Continuous Delivery (CD), Continuous Integration (CI), Requirements Analysis, ETL, Management, Linear Programming, Agile, Microservices, Compiler Design, Data Science, DevOps, Clean Architecture
Platforms
AWS Lambda, Amazon EC2, Linux, Docker, Android, JVM, Amazon Web Services (AWS), Windows Server, Google Cloud Engine, Google Cloud Platform (GCP), Google App Engine, Kubernetes, Internet Explorer
Other
Data Structures, Algorithms, APIs, Web Scraping, Back-end, Multithreading, Scraping, API Integration, OpenAI GPT-3 API, OpenAI GPT-4 API, Front-end, ChatGPT, Proof of Concept (POC), Software Engineering, Software Analysis, Software Design, Operating Systems, Machine Learning, Deep Learning, Principal Component Analysis (PCA), Plugins, Natural Language Processing (NLP), Data Processing, Full-stack, Software Architecture, Architecture, Scripting, SSL, Networking, Documentation, Cloud, Data Scraping, Store Scraping, Technical Project Management, API Documentation, Open Source, CI/CD Pipelines, System Administration, Artificial Intelligence (AI), Text Classification, GPT, Generative Pre-trained Transformers (GPT), Asynchronous I/O, Neural Networks, Bots, Computer Vision, Game Development, Calculus, Multivariate Calculus, Differential Equations, Linear Algebra, Probability Theory, Statistics, Discrete Mathematics, Analysis, Numerical Analysis, Bayesian Statistics, Microeconomics, Leadership, Compilers, Identity & Access Management (IAM), Coroutines, Cloud Computing, CSV, Site Reliability Engineering (SRE), Amazon Cognito User Pools, OAuth, Data Analysis, Front-end Development, Unreal Engine 5, Blueprints Visual Scripting, Technical Writing, Domain-driven Design (DDD), SOLID Principles, Wagtail CMS, Supabase, Mantine
Frameworks
Unity, Django, Spring, JUnit, Mockito, Next.js, Bootstrap, Spring Boot, OAuth 2, .NET, Material UI, Hibernate, MXNet, Web Frameworks, Flask, Unreal Engine, JPA, Redux
Storage
MySQL, JSON, MariaDB, Databases, Relational Databases, PostgreSQL, Amazon S3 (AWS S3)
Industry Expertise
Project Management
Education
Bachelor's Degree in Mathematics
University of Washington - Bothell, WA, USA
Bachelor's Degree in Computer Science
University of Washington - Bothell, WA, USA
Certifications
Developing a Google SRE Culture
Coursera
Google Cloud Fundamentals: Core Infrastructure
Coursera
Bayesian Statistics | Techniques and Models (with Honors)
Coursera
Strategic Business Management | Microeconomics
Coursera
Mathematics for Machine Learning | PCA
Coursera
Mathematics for Machine Learning Specialization
Coursera
Bayesian Statistics | From Concept to Data Analysis (with Honors)
Coursera
Mathematics for Machine Learning | Multivariate Calculus
Coursera
Machine Learning | Linear Algebra
Coursera
Neural Networks and Deep Learning
Coursera
Machine Learning
Coursera
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