Principal Software Engineer (Associate Director) - Snapx
Jersey City, NJ
About the Job
JOB DESCRIPTION:
- The Principal Software Engineering role specializes in planning, documenting technical requirements, designing, developing, and testing all software systems and applications for the firm.
- Works closely with architects, product managers, project management, and end-users in the development and enhancement of existing software systems and applications, proposing and recommending solutions that solve complex business problems.
RESPONSIBILITIES:
- Lead needed technical processes and designs considering reliability, data integrity, maintainability, reuse, extensibility, usability and scalability
- Collaborate with Infrastructure partners to identify and deploy optimal hosting environments
- Define scalability and performance criteria for assigned applications
- Ensure application meets the performance, privacy, and security requirements
- Tune application performance to eliminate and reduce issues
- Verify test plans to ensure compliance with performance and security requirements
- Support business and technical presentations in relation to technology platforms and business solutions
- Mitigate risk by following established procedures and monitoring controls
- Help develop solutions that balance cost and delivery while meeting business requirements
- implement technology-specific best practices that are consistent with corporate standards
- Partner with multi-functional teams to ensure the success of product strategy and project work you're doing
- Handle the software development process
- Drive new technical and business process improvements
- Estimate total costs of modules/projects covering both hours and expense
- Research and evaluate specific technologies, and applications, and chips in to the solution design
- Construct application Architecture encompassing end-to-end design
QUALIFICATIONS:
- Minimum of 8 years of related experience
- Bachelor's degree preferred or equivalent experience
- Technology stack: Java, Unix, Spring/ Spring Boot, oracle, APIs, Solace, Camel, Rest Cloud AWS tech.
- Solid understanding of UML
- Understanding of IT Infrastructure design
- System and Application Integration patterns and design
- Understanding of security within scope of application
- Understanding of building and designing resilient applications (strategies)
- Demonstrate ability to quickly understand new frameworks and languages
- Proficient in variety of technologies and architectures
- Fundamentals of object-oriented programming concepts:
- Polymorphism; Encapsulation; Abstraction; Inheritance
- Implement multi-threaded applications (Callables, Futures, Executors, Semaphores…)
- How to accurately handle exceptions in Java
- How to use accurate data structures in application design
- Understanding of how Relational Databases work
- Capable of implementing applications using Spring/Spring Boot (clear understanding of patterns used in Spring)
- Working knowledge of JPA/Hibernate
- Good social skills
ABOUT Client:
 Client safeguards the financial markets and helps them run efficiently, in times of prosperity and crisis. We are uniquely positioned at the center of global trading activity, processing over 100 million financial transactions every day, pioneering industry-wide, post-trade solutions and maintaining multiple data and operating centers worldwide. From where we stand, we can anticipate the industry's needs and we're working to continually improve the world's most resilient, secure, and efficient market infrastructure. Our employees are driven to deliver innovative technologies that improve efficiency, lower cost, and bring stability and certainty to the post-trade lifecycle. Client proudly supports Flexible Work Arrangements favoring openness and gives people freedom to do their jobs well, by encouraging diverse opinions and emphasizing teamwork. When you join our team, you'll have an opportunity to make meaningful contributions at a company that is recognized as a thought leader in both the financial services and technology industries. A Client career is more than a good way to earn a living. It's the chance to make a difference at a company that's truly one of a kind.