Java Software Engineer
Direct Hire
The Software Engineer will be responsible for design, development, and integration of various technology solutions including development of our proprietary Investment Management System that supports all aspects of our business: advanced rule-based portfolio analytics, trading, operations, accounting, compliance, client management, integration, reporting and more.
Primary Responsibilities:
-
Work closely with the business unit and other team members to understand and document requirements
-
Provide flexible solutions to complex business problems using our technology practices
-
Design and develop business tier components
-
Design and develop relational database models
-
Design and develop interactive web-based user interfaces
-
Design and develop integrated solutions with 3rd party data providers and systems
-
Create unit/integration/functional tests
-
Contribute to the evolution of our architecture to make it more flexible and easier to use
-
Follow our development process and guidelines
-
Conduct code reviews of other developers
-
Follow technology trends/tools and recommend improvements to our technology when appropriate
Job Requirements:
-
2+ years of hands-on Java/J2EE design and development experience.
-
Understanding of core language features and how to use them properly (interfaces, generics, annotations, reflection, closures, etc.)
-
Practical knowledge of major open source projects including Spring and Hibernate.
-
Experience building highly interactive web-based user interfaces using HTML, CSS, JavaScript, AJAX, JSON (knowledge of ExtJS is a plus).
-
Experience with test driven development, JUnit, and mocking
-
Familiarity with version control systems such as GIT or SVN.
-
Working experience with agile development.
-
Familiarity with continuous integration and build tools like Ant or Gradle.
-
Understanding of SOA, AOP and major design patterns including MVC, DAO, Observer, etc.
-
Working experience with major application servers: Tomcat, WebLogic, etc.
-
Knowledge of RDBMS and SQL.
-
Effective communication skills with business users and other developers.