Software Engineer2021 - PRESENT
- Migrated an app from LitElement to React with newer functionalities and better UX, which increased user engagement and satisfaction.
- Designed a system to communicate securely between an internal and an open source system, enabling us to open our tool for internal and external users.
- Introduced a process and a guide for our teams on how to use React effectively, which increased developer productivity by 40%.
Software Engineer2011 - PRESENTFreelance
- Designed architectures for complete software solutions with stability and scalability in mind.
- Built a financial portal application and its administration panel using Laravel 5 framework and PHP 5.6 to simplify data entry.
- Created a front-end application for the financial portal using Laravel 5 React, which increased the app's speed and ease of use.
- Developed a tourism company website and its administration panel using plain PHP and MySQL.
- Assisted in the development of a college student management portal application using Java.
- Managed multiple Linux servers for multiple users and companies, providing support for failures and handling upgrades and maintenance.
- Wrote a cheat sheet for the ThymeLeaf templating engine and posted it on GitHub, which attracted 37 starts and aided other engineers in using it for development.
- Developed a Laravel 7 and Vue restaurant booking application.
- Developed and maintained a Discord bot administration panel entirely built in Laravel and React.
Java Software Engineer2018 - 2021Atlassian
- Designed an endpoint to enable our third-party app providers to perform bulk operations, which took into account concurrent tasks and deadlocks among the resources and reduced the time it took to perform batch actions by 60%.
- Laid out the architecture for communication between a monolith and a microservice to predict the required data by the monolith request, which reduced the latency from one second to nearly 200 milli-seconds, drastically improving the user experience.
- Integrated a React front-end application with a larger front-end React project, migrated the architecture to reflect the new requirements, and put our team's plan on track with the broader company vision.
Java Software Engineer2016 - 2018Rakuten
Technologies: Spring Boot, Oracle, JavaServer Pages (JSP), Apache Struts, Hibernate, Spring, Java, SaaS, Git, Oracle RDBMS, Docker, React Redux, TypeScript, Architecture, System Design, REST, System Architecture, REST APIs, Back-end, Full-stack, CI/CD Pipelines
- Wrote development specifications for other developers that reflect the details of tasks to be done, which would make their work easier, well defined, and understood.
- Added a new ticket type and booking flow system to a legacy air-ticket booking system, which gave users access to various new tickets and increased revenue by one million yen per month.
- Enhanced the security of our web service surfing by enabling secure HTTPS access throughout our entire web app, which gave users a safer and more reliable experience.
- Designed an architecture for a microservice-based system that resembles in its functionality a legacy system and used the latest tools and design methodologies to achieve the desired output.
- Laid out the communication and data flow design of an event-based system for a ticket booking platform. This reduced the user's waiting time and gave them a faster experience without having to be blocked by their waiting requests.
- Developed REST-based APIs and designed their model to enable ease of access and protection of our data from malicious users, which facilitated the communication between all the system APIs and led to a more stable system.
Java Software Architect2016 - 2016Aurea Software
Technologies: Amazon DynamoDB, Oracle Database, PHP, Amazon Web Services (AWS), Hibernate, Spring, Java, SaaS, Git, Architecture, System Design, REST, System Architecture, LAMP, Back-end, Full-stack, CI/CD Pipelines
- Broke down the architecture of a monolithic mailing system into small microservices. This increased the scalability and reliability of our system.
- Maximized the efficiency of our usage of AWS to fully utilize Amazon's services and cloud tools, such as Load Balancing and Autoscaling, which reduced the cost of cloud hosting by a great margin.
- Enabled automatic scaling of the database by moving it from a traditional MySQL to a cloud-managed service, which increased the reliability and stability of our databases, and enabled us to work under a heavy load and scale accordingly.
- Unified the model and architecture of the database across all of our database servers. This made the database more consistent and predictable as well as increased its scalability.
- Developed a sidecar app that provided us with custom automatic scaling metrics and alarms, which greatly enhanced our resource utilization and reduced our running costs by 40%.
Senior Java Developer2014 - 2016Future Group
Technologies: Ember.js, Hibernate, MongoDB, MySQL, Spring MVC, Java, SaaS, Git, Architecture, System Design, REST, System Architecture, JSF, Apache, Back-end, Full-stack
- Developed back-end modules using JSF 2 for a translation management system, creating and designing a very complex document parsing algorithms and event-driven modules, which would then enable users to upload and translate their documents promptly.
- Implemented a WebSockets asynchronous event-based notifications system to enable our users to get their tasks as soon as they arrive, which increased their efficiency and time utilization.
- Reverse-engineered a modern translation tools match scoring system, which is how they calculate their matches and scores.
- Trained a machine learning model to recognize translation with specific criteria. This greatly increased the translators' efficiency and accuracy, reduced their error rate, and enabled them to share their knowledge.
Software Engineer2013 - 2014Mubasher, Int.
Technologies: Oracle Database, WebSockets, Spring MVC, Spring, Java, SaaS, Git, Architecture, System Design, REST, System Architecture, JSF, Apache, Web Scraping
- Built a tool that scrapes the web for files, notifies the team of updates, and then downloads the files and sends them across using WebSockets. This increased this efficiency and eliminated the time wasted on searching for their files.
- Implemented software to unify the personal profile bios of our people of interest. It also generated a unified form of a company's business description by mining our data to generate them, which increased their consistency and accuracy.
- Created a semantic search tool that would enable users to search for information on our website using natural language, which enhanced the user experience and increased the visibility of our newly added features and sections.
- Developed a web scrapper system that scrapes certain websites and collects their data, then pushes them to our database via a RESTful API, eliminating the time wasted manually scrapping this information and storing them in our databases.
- Built a tool that pushes notifications of any newly added news items to the news editors who review it before publication. This reduced the error rate and prevented misinformation from being published.
Junior Software Engineer2012 - 2013FerryCode
Technologies: MySQL, Enterprise Java Beans (EJB), Java EE, Java, SaaS, Git, Architecture, REST, System Architecture, JSF, Apache
- Migrated a Jakarta EE 5 application to Jakarta EE 6, upgrading components developed in JSF 1.2 to PrimeFaces and a JSF 2.0 component.
- Developed an HTML5 news page drawing tool that draws a mock of the newspaper pages before they're published, giving a more robust look and catching errors before publishing.
- Handled on-site deployments at clients' servers and fixed issues and failures that happened during runtime.