Java Software Engineer2018 - PRESENTAtlassian
- 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. This reduced the time it took to perform batch actions by 60%.
- Laid out architecture for communication between a monolith and a microservice to predict the required data by the monolith request. This reduced the latency from one second to nearly 200 milli-seconds, which drastically improved the user experience.
- Integrated a React front-end application with a larger front-end React project and migrated the architecture to reflect the new requirements. This put our team's plan on track with the broader company vision.
Software Engineer2011 - PRESENTFreelance
Technologies: Java, MongoDB, MySQL, HTML5, CSS3, React, Laravel, PHP
- Designed architectures for complete software solutions, with stability and scalability in mind.
- Developed a financial portal application and its administration panel using Laravel 5 framework and PHP 5.6, to simplify data entry.
- Developed a front-end application for the financial portal using Laravel 5 React, which increased the speed and ease of use of the app.
- 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 maintenances.
- 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.js restaurant booking application.
Java Software Engineer2016 - 2018Rakuten
Technologies: Spring Boot, Oracle, JavaServer Pages (JSP), Apache Struts, Hibernate, Spring, Java
- 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 a variety of new tickets and increased the revenue by one million yen/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 systems APIs and led to a more stable system.
Java Software Architect2016 - 2016Aurea Software
Technologies: AWS DynamoDB, Oracle Database, PHP, Amazon Web Services (AWS), Hibernate, Spring, Java
- 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
- 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 efficiency and accuracy of the translators as well as reduced their error-rate, and enabled them to share their knowledge.
Software Engineer2013 - 2014Mubasher, Int.
Technologies: Oracle Database, WebSockets, Spring MVC, Spring, Java
- Built a tool that scrapes the web for files and notifies the team of updates, 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 web site using natural language, which enhanced the user experience and increased the visibility 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 on manually scrapping this information and then storing them in our databases.
- Developed 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
- Migrated a Java EE 5 application to Java 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.