Ameer Nasrallah
Verified Expert in Engineering
Technical Leadership Developer
Since 2013, Ameer has worked as a software engineer developing many end-to-end features. He is a self-motivated, quick learner who focuses on delivering high-quality and maintainable components. Most of Ameer's experience is in Java, and he is paving a fast path to full-stack development using the Spring Framework and modern JavaScript libraries such as React.
Portfolio
Experience
Availability
Preferred Environment
Sublime Text, Visual Studio, IntelliJ IDEA
The most amazing...
...thing I've built is an online marketplace payment system, including proper fallback mechanisms.
Work Experience
Senior Software Engineer
Freightos
- Built a REST API using Spring and Apache Camel that integrates with a NetSuite SuiteScript to download a statement of account for marketplace customers.
- Worked closely with the finance department to integrate marketplace operations with NetSuite financial transactions and ensure data integrity.
- Built a REST API to integrate with Kantox Dynamic Hedging which helps to manage the risk of foreign exchange in the marketplace.
- Added a Hibernate validation layer to the existing integration framework (which uses Apache Camel).
- Exposed NetSuite resources as REST APIs to be used from any team/project.
Senior Software Enigeer
Exalt
- Designed and implemented the back-end to work on the microservices architecture using Spring Boot, MongoDB, and Netflix opensource projects.
- Built REST APIs and managed the security using OAuth2 and JWT tokens (verification using RSA private/public keys).
- Designed the architecture for a back-end integration with a BI tool. This will be used to enable SSO and to embed BI dashboards on the front-end.
- Supported the fast deployment of the back-end using Docker Swarm.
- Worked a little with big data technologies (e.g., Hadoop, Cloudera Impala, Spark, and Kafka) which form the lower layer in the project.
R&D Engineer
Freightos
- Developed components while building a web framework using Java and GWT (similar to the Ruby on Rails framework).
- Designed and implemented customers' features from end-to-end.
- Refactored old areas to increase their usability; e.g., used the strategy design pattern to redesign a certain client component—enabling it to be used seamlessly across the system.
- Designed and implemented a marketplace payment system (using the Stripe Java API).
- Won the award, the Freightos Code Ninja 2016 which meant that with every task, I had fixed related code and improved the system; not only code but the documentation too!
Software Developer
Exalt
- Developed web applications using mainly GWT and ASP.NET MVC.
- Generated business PDF documents using XSL templates.
- Worked a little on Android projects.
Experience
Integrated a Payment Workflow for a Marketplace
The first part of the project was to enable business and person entities (vendors/shippers) to send/receive payments either online (Stripe Java API) or by wire transfer through our platform (the marketplace & the SaaS site but mainly the marketplace). This part included making a proper design that ensures secure payments and confidentiality—a proper data model that integrates easily with the existing business model and can be tracked easily for cases of failure.
The other part was to integrate with a SOR (system of records) to keep track on all the balances of our customers.
It was done by the integration with Zoho Invoice API.
Two challenges here:
1) A mapping between our data model and Zoho invoice model to ease transactions; handled by a transformation layer (not very efficient included only field names).
2) Catching failure scenarios without affecting user experience; handled efficiently by designing a fallback mechanism on the main scenarios (highest layer) that alerts by email failure received and point of failure (with data) enabling product and development teams to handle the issues.
Burger Shop API
https://github.com/AmeerGN/BurgerAPIIn this project, it was required to build the API using Django REST framework. Before starting with the project, I had little knowledge about Python and zero knowledge about Django. I had to finish it within one working (in another company) week including research.
I prepared the environment on the first day, managed to learn Django and Django REST framework within three days, and then I worked on the project for two days.
Even though I lacked basic knowledge (as you will see in the repository) about the requirement text and naming conventions (such as burger_api instead of API) but other standards including coding and modeling went very well.
Bittorrent Simulation | University Project
I built this project using Java that uses threads to simulate a tracker with the communication with many peers, chunks, and acknowledgements with each other on downloading a certain input file.
The project will eventually be uploaded to GitHub.
Solved Complex Scenarios in Browser Compatibility Issues
For example, I solved an issue causing a crash in a specific request to Google maps API on IE 10 by finding a bug in error-handling in the GWT library.
Another example, there was a problem when we adopted the "number" type input for our website to enhance a mobile user's experience. The problem caused unacceptable behavior (from the business perspective) on both modern and old desktop browsers so I had to read how each browser intercepts and validates the "number" input. Then I implemented a solution that preserved the old experience for desktop users and kept the new experience for mobile users (with known limitations).
Education
Bachelor's Degree in Computer Systems Engineering
Birzeit University - Birzeit, Palestine
Skills
Libraries/APIs
Stripe API, Zoho API, Java Servlets, REST APIs, React, React Router, Spark Streaming
Tools
Zuul, Docker Swarm, Git, Java Concurrency, Tableau, Bitbucket, Jira, Docker Compose, IntelliJ IDEA, Visual Studio, Sublime Text, Eureka, ELK (Elastic Stack), Impala
Frameworks
Spring Boot, GWT, Spring 4, JSON Web Tokens (JWT), Bootstrap 3, Hadoop, Spring Security, Jakarta Server Pages (JSP), Spring, Spark, Hibernate, Django, OAuth 2, Apache Camel
Storage
Spring Data MongoDB, Google Cloud Datastore, Google Cloud Storage, MySQL, MongoDB, Google Bigtable
Languages
Java, SuiteScript 2, XSL, C#, SuiteScript 1, Python, Sass, JavaScript
Platforms
Apache Kafka, Docker, Google App Engine, Google Cloud SDK
Paradigms
Microservices Architecture, Agile Software Development, Management
Other
Technical Leadership, Reflection, Regular Expressions, DOM, Spring Cloud, NetSuite
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