About Wego
Were on a mission to help people discover the real value of travel to inspire, to give more reasons, to make it easy for you to travel. Our company was founded back in 2005, and since then, weve imagined and created some of the most well-loved products for travelers all around the world.
Today, Wego is the number 1 travel metasearch engine in the Middle East. There are millions of users on Wego every month people who travel for adventure, for work, for family and for many other reasons. Thats why we work tirelessly to make your experience of planning & booking flights, hotels and trips as seamless as possible.
About the role
We are looking for passionate engineers and curiosity-driven to join our Hotels-BoW engineering team. This is a team role and youll be involved in many aspects helping evolve our existing architecture, working with teams to build robust backend systems, and implementing new features and functionality.
What you will be doing:
Ship and maintain robust and scalable backend services in Java
Design and create services and system architecture.
Apply standard and best industry practices in software engineering, write clean code and create automation tests for every module youve written.
Maintain high coding quality & standards by participating in code reviews.
You will take ownership of what you work on as well as lead efforts from architecting, coding and deploying.
Work closely with the product and design teams to understand end-user requirements, formulate use cases, and then translate that into a pragmatic and effective technical solution.
Participate in brainstorming sessions and contribute ideas to technology, algorithms and products.
Embrace feedback culture to grow together with your team.
Optimize the performance of the application for maximum speed and scalability.
Dive into difficult problems and successfully deliver results on schedule.
Requirements for the role:
8+ years experience in hands-on coding and system design as a backend software engineer.
Deep working knowledge and experience with the Java programming language.
Strong analytical and problem-solving skills.
Practical experience with Design Patterns, Design Principles, Software Architecture and Algorithms and automated tests (unit / integration / functional).
Strong web API knowledge and experience in developing highly available and robust APIs.
Willing to learn new technologies and programming languages.
Passion for clean and beautiful code with an eye for simplicity and pragmatism.
Familiarity with version control systems and development environments.
Experience with build processes, continuous integration and continuous delivery.
A product-minded engineer who cares about the Why Why build this feature Why does the team work in this way
Proficiency in English and technical communication.
It would be great if you have:
Familiarity with relational databases.
Experience with distributed microservices and a grasp of concepts of message brokers (e.g SQS, RabbitMQ, Kafka).
Experience with container technology (e.g. Docker, Kubernetes).
Experience in cloud technologies such as AWS, GCP.
Owned and shipped a big project end-to-end, involving complex decisions.