As a Senior Software Engineer, you'll be instrumental in the design and delivery of mission critical and complex custom-designed, business applications that use a wide range of the latest technologies. We're seeking talented and passionate people with a creative approach to problem-solving. You will be working on projects in a team of 5-8. You will be responsible for the OO design and implementation of large-scale custom-designed distributed systems.
- Experience in software development and delivery with Java.
- Advanced knowledge of enterprise Java (Spring and/or JEE) and OR frameworks (e.g. Hibernate, EclipseLink).
- Strong understanding of application servers (e.g. Apache Tomcat, Jetty, Oracle WebLogic) and devops tools (e.g. Git,
- Working with containerization and cloud technologies (e.g. VMware, KVM, AWS, Docker).
- Expert understanding of OO principles and design patterns.
- Working with various database technologies (RDBMS, graph databases, document databases, time series databases).
- Knowledge of application integration technologies (web services, messaging, EI patterns).
- Understanding the principles of UI ergonomics and UX best practices.
- Working experience with REST.
- Knowledge of Apache Spark is a plus.
- Experience in machine learning is a plus.
- Work proficiency in English is must have
- Work in an agile development team to build enterprise and high-scale applications.
- Become a mentor and role model for less experienced developers.
- Employ Agile development including task estimation, test automation, deployment automation and Continuous Integration to improve overall execution speed and product quality.
- Understand the importance of code review and refactoring.
- Work on international projects.
- Be a game changer in our development teams.
- Think through hard problems and work with brilliant people to make client ideas a reality.
- Have a passion for writing clean, object-oriented code.
And we have many things to offer in return! Check the Perks&Benefits section to know more!