Search by job, company or skills
Job Description
We seek a Senior Engineer/Full Stack Developer to innovate, manage, direct, architect, design, and implement solutions focused on our trade operations and controller functions across Private Equity, Credit, and Real Assets. The ideal candidate is a well-rounded hands-on engineer passionate about delivering quality software on the Java stack. Our Senior Engineer will work closely with key stakeholders in our Middle Office and Controllers teams and in the Credit and Opportunistic Technology teams to successfully deliver business requirements, projects, and programs.
The candidate will have proven skills in independently managing the full software development lifecycle, working with end-users, business analysts, and project managers in defining and refining the problem statement, and delivering quality solutions on time. They will have the aptitude to quickly learn and embrace emerging technologies and proven methodologies to innovate and improve the correctness, quality, and timeliness of solutions delivered by the team.
Primary Responsibilities:
Contribute to development of elegant solutions for systems that result in simple, extensible, maintainable, high-quality code.
Participate in design discussions, hands-on technical, development, code reviews, quality assurance, observability, and product support.
Use technical knowledge of patterns and code to identify risks and prevent software defects.
Foster a culture of collaboration, disciplined software engineering practices, and a mindset to leave things better than you found them.
Optimize team processes to improve productivity and responsiveness to feedback and changing priorities.
Build strong relationships with key stakeholders, collaborate, and communicate effectively to reach successful outcomes. Passionate about delivering high-impact and breakthrough value to stakeholders.
Desire to learn the domain and deliver enterprise solutions with at a higher velocity.
Contribute to deliverables from early stages of requirement gathering through development, testing, UAT, deployment and post-production Lead in the planning, execution, and delivery of the team s commitments.
Qualifications & Experience
Qualifications & Experience:
Master s or bachelor s degree in Computer Science or another STEM field
Experience with software development in the Alternative Asset Management or Investment Banking domain
5+ years of software development experience in at least one of the following OO languages: Java, C++, or C#
3+ years of Web 2.0 UI/UX development experience in at least one of the following frameworks using JavaScript/TypeScript: ExtJS, ReactJS, AngularJS, or Vue.
Hands-on development expertise in Java, Spring Boot, REST, Messaging, JPA, and SQL for the last 2+ years
Hands-on development expertise in building applications using RESTful and Microservices architecture
Expertise in developing applications using TDD/BDD/ATDD with hands-on experience with at least one of Junit, Spring Test, TestNG, or Cucumber
A strong understanding of SOLID principles, Design Patterns, Enterprise Integration Patterns
A strong understanding of relational databases, SQL, ER modeling, and ORM technologies
A strong understanding of BPM and its application
Hands-on experience with various CI/CD practices and tools such as Jenkins, Azure DevOps, TeamCity, etcetera
Exceptional problem-solving & debugging skills. Awareness of emerging application development methodologies, design patterns, and technologies.
Ability to quickly learn new and emerging technologies and adopt solutions from within the company or the open-source community.
Experience with the below will be a plus
Buy-side operational and fund accounting processes
Business processes and workflows using modern BPM/Low Code/No Code platforms (JBPM, Bonitasoft, Appian, Logic Apps, Unqork, etcetera )
OpenAPI, GraphQL, gRPC, ESB, SOAP, WCF, Kafka, and Node
Serverless architecture
Microsoft Azure
Designing and implementing microservices on AKS
Azure DevOps
Sencha platform
NoSQL databases (MongoDB, Cosmos DB, Neo4J)
Python software development
Functional programming paradigm