Luxoft is a global leader in high-end software development.
Luxoft is looking for talents with a passion for technology & ready to create original solutions. Once on board, you are invited to expand your knowledge & skills, offering you a continuous learning experience helping you stretch your potential.
So if you’re enthusiastic by the idea of accessing cutting edge technology & innovation to make an impact, why don't you join us?
Job Function:
Working in an agile software development environment, the java senior engineer performs complex technical and advisory functions in the development of web-based Java applications. He serves in a team leadership capacity, offering technical advice to Java developers, planning and developing conversion techniques for implementing major, complex integrated system projects, preparing definition of system solutions and gathering the specifications from business stakeholders. As a senior, he coordinates complex information system developments or revisions and implements technical functions to achieve the desired result in the system or system enhancement. Follows approved life-cycle methodologies, creates design documents, performs program coding and testing, being involved at the same time in coaching and mentoring less experienced colleagues.
Essential Duties and Responsibilities:
- Extend, improve and maintain several software components that cover the security of financial products, while offering a GUI supporting a variety of reports and content management.
- Develop and conduct program automated tests; verifies test plans and testing data and oversees testing to verify that the programs function correctly in order to ensure that modifications have not caused error in other parts of the program, interfacing programs and interfacing systems
- Code with future proofing and re-usability of code in mind and is aware of the effects of certain coding practices
- Collaborate with an international team of software developers, testers and business clients
- Take responsibility for the entire task lifecycle from the Open state to Closed, ensuring that all work carried out is tested, documented, signed off by users and accessible to all parties
- Ensure appropriate quality standards are applied to all design and development work
- Is responsible for work quality and process as well as that of the wider team, ensuring it meets the team's technical standards
- Perform code reviews and pair-programming when necessary
- Learn new and keep informed about existing technologies and apply to a variety of projects as required
- Analyze and recommend new procedures and techniques to improve the supported systems
- Review and analyze existing code to gain a detailed understanding of the implementation of the underlying business functions
- Ensure technical risks and issues are raised within the team, and that mitigation options are provided to minimize impact
- Participate in requirements gathering workshops/meetings with users
- Coordinate and lead the development and testing effort across several software components if necessary
- Take part in the candidate selection process for new colleagues
- Use effective leadership techniques, such as coaching and mentoring to support and motivate the team towards maximum performance; provide guidelines and act as a mentor for less experienced colleagues
Contacts
- Have extensive daily contacts with professional both inside and outside of the team
- Acquire and relay information utilizing proficient communications skills
- Interact with business, customers, potential clients, development and QA colleagues and other teams in order to ensure systems' integration
- More than 5 years of professional experience with Java and JavaEE; strong knowledge of OOP , Java concepts and OO design, including design patterns
- Professional experience with refactoring and test driven development
- Experience with gathering functional specifications, analysis, design, implementation and delivery of Java EE applications
- Knowledge and experience of Java, web and database technologies, including JMS, JDBC, Spring, Hibernate/JPA, JSF, JTA
- Knowledge and experience of some of the following: HTML/Javascript/CSS, Ajax, JSON
- Experience with application integration and messaging
- Ability to analyze data logically and exercise sound judgment in defining, evaluating, and solving difficult technical and operational problems where solutions may be of a precedent-establishing nature
- Must have a passion for working with and developing engineering teams; must be able to work in a very dynamic environment
- Experience with automated testing and various testing tools; must be willing to write automated tests
- Must understand the key dependencies among existing systems in terms of the flow of the data among them
- Internal client-focused attitude with excellent communication skills, both written and verbal
- Demonstrated leadership capability
- Strong work ethic and ability to work with minimal supervision
- Attention to detail and accuracy
- Capable of reasoning and thinking through problems and be able to independently and jointly develop desired solutions
- Strong problem solving and analytical skills with the ability to clearly communicate and share solutions with fellow team members
- Excellent analytical, organizational and problem solving skills
- Strong understanding of system integration and ability to discover the financial world
- Strong interpersonal and technical skills
- Able to work within a team and work independently; able to effectively work as a part of a larger team, with clients and other teams
- Committed team player with positive winning attitude
- Excellent written, verbal, and communications skills to interact with staff and customers
- Able to multitask; able to look at various systems and their specification and from these understand the entire picture of the entire IT system
- Knowledge and skills required in the following areas:
o Excellent interpersonal and human relations skills
o Business integration skills
o Sense of urgency necessary to meet goals, objectives and deadlines
o Knowledge of company policy, procedures and organizational structure
Other Preferred Skills and Experience:
- Experience with FIT testing
- Experience with XML, HTML, JavaScript, Ant/Maven
- Experience of some of the following: Intellij IDEA, Eclipse, Tomcat, Oracle
- Professional experience in at least 1 other programming language
- Experience with continuous integration tools (preferably TeamCity) and experience with/knowledge of Agile Software Development practices
- Knowledge of Linux Shell Scripting
- Readiness to travel
Hiring Standards
Education: A Bachelor's degree with a major in Information Technology, Computer Science, or Engineering or related field or equivalent experience
Experience: Minimum of 5 (five) years Java programming experience with at least 3 (three) years building global high-performance, multi-threaded client-server Java-based systems. Must have proven experience in web based application design and development and should have experience working in an Agile software environment (Kanban preferred) including design, testing, existing code maintenance and documentation activities.
Java based, web multi-tiered application that act as an integrated backbone in the support and transformation of the front to back trade booking and lifecycle processing, managing the life cycle from issuance to the products' end of life.
