
Senior Manager of Software Engineering - Java / AWS / Kafka
- Jersey City, NJ
- Permanent
- Full-time
- Provide overall direction, oversight, and coaching for a team of entry-level to mid-level software engineers that work on basic to moderately complex tasks
- Be accountable for decisions that influence teams' resources, budget, tactical operations, and the execution and implementation of processes and procedures
- Ensure successful collaboration across teams and stakeholders
- Provide input to leadership regarding budget, approach, and technical considerations to improve operational efficiencies and functionality for the team
- Design and implement Microservices in Java, utilizing streaming, non-blocking, and Reactive Java Programming techniques, while contributing directly to the codebase.
- Work with technologies such as Kafka, IBM MQ, Kubernetes (K8s), Redis cache, MSK, and AWS to build scalable and efficient systems, providing hands-on support.
- Support the adoption of domain-driven design principles and contribute to architectural discussions.
- Contribute to the development of technical documentation, including service APIs using Swagger, ensuring robust logging, auditability, security, and monitoring features.
- Participate in API design sessions and contribute to the selection of design patterns for the team.
- Engage in code review sessions, ensuring high maintainability through TDD/BDD approaches.
- Demonstrate scalability of services using mock testing frameworks and other tools, actively engaging in testing and validation processes.
- Formal training or certification on software engineering concepts and 5+ years applied experience. In addition, 2 + years of experience leading technologists to manage and solve complex technical items within your domain of expertise
- Experience leading teams of technologists
- Ability to guide and coach teams on approach to achieve goals aligned against a set of strategic initiatives
- Experience with hiring, developing, and recognizing talent
- Experience with middle-tier data caching solutions (e.g., Redis, Apache Ignite) and messaging-based solutions (e.g., Kafka, IBM MQ)
- Strong expertise in Java programming, a willingness to engage in hands-on coding, a track record in building distributed architecture systems, especially those involving large data volumes and real-time distribution, knowledge of modern architectures based on microservices, Spring, REST APIs, databases, SQL, non-SQL stores, and event-based architecture
- Proficiency in automation and continuous delivery methods
- Advanced understanding of agile methodologies such as CI/CD, Application Resiliency, and Security
- Practical cloud native experience including experience with AWS
- Experience in Computer Science, Engineering, Mathematics, or a related field and expertise in technology disciplines
- Experience working at code level
- Familiarity with trading systems and FIX protocol
- Reactive Java