Client Digital Assets, a client Investments Company, is developing a full-service enterprise-grade platform for storing, trading, and servicing digital assets like Bitcoin and Ethereum. As a Senior Software Engineer, you will be an integral part of the Platform Services team. This role will involve developing secure, scalable, resilient cloud-based microservices, collaborating with the technical lead and architect, and writing code for product features. The role requires experience in developing REST API clients and services, handling asynchronous messaging, and working with SQL databases to manage data.
Key Responsibilities • Develop secure, scalable, and resilient cloud-based microservices using modern software development practices. • Design and implement REST API clients and services. • Exchange asynchronous messages between services using technologies like SNS and SQS. • Utilize SQL databases to manage data and write automated unit and integration tests. • Package software using containers and coordinate builds using continuous integration pipelines. • Prepare services for deployment on AWS. • Work with the Platform Services team to support digital asset and wire transfers, as well as account positions and transaction activity. • Mentor junior software engineers.
Required Qualifications • Expert in core Java technologies and frameworks like Spring Boot. • Proficient in databases and SQL. • Understanding of AWS or other cloud platforms and containerization technologies such as EKS and Docker. • Experience with version control systems like GIT. • Experience with asynchronous workers and resilient messaging services such as SNS and SQS. • Knowledge of microservice architectures and twelve-factor app patterns. • Ability to build reliable software that can withstand unreliable environments. • Unit and integration test automation experience using Junit and Spring Boot test framework. • Experience building and deploying applications using continuous integration pipelines and automated deployment tools such as Jenkins.
Preferred Qualifications • Bachelor's degree in software engineering or a related field. • 4+ years of experience in software engineering. • Strong critical thinking and problem-solving skills. • Passionate about learning new technologies and frameworks. • Ability to work independently and within a small agile team. • Strong analytical, communication, and organizational skills.
Candidate Profile:
Senior/ Principal level candidates only.
Java & Springboot
Postgres / Liquibase Back End Data Base
AWS - need to know infrastructure related - code that interfaces with SNS and SQS
Nice to Have: Micro services or architecture background, if they have worked on highly performative microservices