Title: Senior Software Engineer
Location: Jersey City, NJ 07311
Duration: 12+ Months
Position Description:
We are seeking an experienced Senior Software Engineer in our Core Brokerage group, who will be responsible for the technical aspects of designing, implementing, and testing various initiatives for high-performance online trading-related systems and applications. The candidate will need to have high energy and be highly motivated to work in a fast-paced environment. The role expects significant engineering in complex server-side applications, including new feature work, improvements on existing code, and active participation in designing and shipping the product. The incumbent will be working in the Middle Office Core Platform Organization to drive product development, including requirement gathering and technical solutioning.
RESPONSIBILITIES
* Design and implement highly reliable, scalable, extensible, maintainable, global, and operable products and platforms
* Draft and review architectural diagrams, interface specifications, class structures, and other design documents
* Build systems that balance resources, constraints, requirements, and complexity
* Strong analytical, communication, and organizational skills, and the ability to manage multiple tasks at a given time
* Evangelize technologies, solutions, and best practices developed within the organization
* Develop department-wide technical perspectives, standards, solutions, and strategies that resolve significant product or organizational pain-points
* Participate in a network of principal engineers to share ideas, practices, and experiences
* Work closely with product management and development teams
* You must enjoy challenging engineering problems. We are looking for someone who can solve complex issues
* We value principal engineers who do enough hands-on implementation work to keep current with technology trends inside and outside the company
* Utilize innovative approaches to solve complex technical problems and apply advanced technical principles, theories, and concepts to develop products.
* Minimum of 10 years of software development experience
* Bachelor's degree in Computer Science or a related field
* Strong Proficiency with either Go or Java/J2EE Preferred
* Expert in the software development domain and principles, including design patterns, data structures, continuous integration, and deployment architecture
* Solid experience in working with either Golang or Java. Knowledge in multiple languages, like GO, Java, C++, and JavaScript, will be a plus.
* Knowledge on Spring, Spring Boot, JPA/Hibernate, and C/C++, batch scripts - perl, ksh.
* Good understanding of Web Services protocols such as REST, SOAP, IDL, gRPC, and API design for extensibility and portability
* Experience writing SQL queries for Sybase / Oracle or another Relational Database is required.
* Well-versed with OOD and SOA principles.
* Experience of working in a UNIX environment. Knowledge of Perl and UNIX-based shell scripts is required
* Working knowledge of cloud, service mesh, and containers
* Team player possessing strong analytical, problem-solving, and communication skills
* Experience with SCRUM, Agile, and iterative approaches a plus
* Creative thinker, self-starter, able to work on multiple projects simultaneously