Principal Software Engineer / Architect
At Otravo we are looking for a Principal Software Engineer / Architect for our air labels!
At Otravo Air we are working on the new platform for selling flight tickets which will provide us with a competitive edge. Short time to market for new features is essential and hence our new platform must be designed based on well thought through concepts that derive from the best patterns in strategic and tactical modeling. On top of it we must be able to serve flight tickets content quickly for our users as well as create APIs and front-ends for many brands in many countries.
Once you look for a job which involves solid conceptual modeling, data structures and algorithms knowledge together with dev ops skills in an environment which gives you freedom to shape the future of a platform used by millions of users – this is the right role for you.
What will you be doing?
We are looking for a top-notch software engineer with deep understanding of strategic and tactical design of software systems who will help us devise and build our new platform together with mentoring his team mates in a friendly manner.
Responsibilities will include:
- Check against companies´ commercial goals, rethink and if applicable provide changes to the strategic design of a branded air flights sell platform taking into account technical concerns (while not letting them lead the design)
- Building of new functionalities across layers that often span new and old system with a view of the gradual removal of the legacy parts. To achieve it you will use your broad knowledge about tactical modeling, enterprise design patterns, archetypes, programming paradigms, algorithms etc.
- Taking care of basics DevOps responsibilities and help building a modern software product environment with containers, build server and continues integration
- Help especially senior and middle level team mates in becoming better in subjects as if conceptual design, code modeling, dev ops etc.
- Besides above have fun during our Friday parties and retreats to places like Greece or Spain (non mandatory ;) )
What are we looking for?
Proficient understanding and proven experience in Enterprise Design Patterns and Model Driven Software Systems Modeling (Especially DDD) on both strategic and tactical level
- In depth knowledge on object oriented programming paradigm and object design patterns
- Outstanding programming skills in Java including object oriented, lambdas and concurrent programming
- Experience working with popular Java frameworks as if Spring, Spring Boot, Hibernate etc.
- Proficient knowledge on technical architecture (including enterprise integration patterns) choices as if microservices, hexagonal architecture, multi layer architecture, CQRS, data pipelines etc.
- Solid understanding of basic algorithms and data structures along with at least basic ability to calculate (might be intuitively) computational complexity in big O notation
- Good understanding of web markup, including HTML5, CSS3
- Good understanding of different persistence systems so that you will choose the right one for the particular job
- Experience with DevOps concerns as if automated build (maven), deployment (including containers), automated configuration, monitoring, log files analysis etc.
- Broad experience with automated testing especially on functional and integration level
- You like to work in teams and helping others is deep instilled in your personality
- Transforming of the legacy code into a modern top-notch solution in a step based way is not a problem for you
- You will eagerly work in a distributed team (some team members are based in Amsterdam and some in Lithuania)
- You are able to flight sometimes to our other office in Lithuania to meet your team mates face to face
Nice to have
Functional programming including category theory and/or abstract algebra
- Massive Parallel Data Processing systems design & build experience
- Advanced algorithms and data structures
- In depth knowledge on popular Java frameworks as if Spring, Hibernate
- Experience with Model Driven Design Archetypes
- Reactive programming
What do we offer?
We are small company with good financial backgrounds which means you will get stability as in big corporations but flexibility, short decision making and degree of freedom typical to the lean startups. Your thoughts and experience will shape our platform as our teams are leading in making technical decisions. No careless as fast as possible delivered code company but instead an environment which values good design and thought through code as these ensure long standing short time to market.
The package we offer contains the following benefits:
- 30 paid holidays;
- Opportunities to attend conferences, training sessions, workshops, etc.;
- Discount on your holiday trips (of course :)
- A friendly atmosphere with committed people and place which supports exchange of ideas
- Support with relocation (visa, housing, 30% tax ruling)
- Use of our multi-functional room with among other things can be used as a gym
- Fulltime (startersfunctie)