Job
Description
You will design elegant solutions for systems that result in simple, extensible, maintainable, high-quality code based on 12/15 factor app methodology. Your role involves providing hands-on technical leadership in architecture, design, development, code reviews, quality assurance, observability, and product support. Utilize your technical knowledge of product design, patterns, and code to identify risks and prevent software defects. Mentoring and nurturing other team members on achieving quality outcomes will be a key responsibility. Foster a culture of collaboration, disciplined software engineering practices, and a mindset to continually improve processes. Your role requires optimizing team processes to enhance productivity and responsiveness to feedback and changing priorities. Building strong relationships with key stakeholders, effective collaboration, and communication will be vital to achieving successful outcomes. You should be passionate about delivering high-impact and breakthrough value to stakeholders. Hiring, retaining, and growing top talent on the team, leading with a growth mindset, and promoting a diverse and inclusive environment are essential aspects of the role. You should have a desire to learn the domain and deliver enterprise solutions with minimal traditional coding at a higher velocity. Leading in the planning, execution, and delivery of the team's commitments is a critical responsibility. Qualifications & Experience: - Masters or bachelor's degree in Computer Science or another STEM field - Experience with software development in the Alternative Asset Management or Investment Banking domain - 6+ 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 + 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, and 12/15-factor app methodology - 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 - 3+ years managing and mentoring engineering teams,