As a Senior Software Engineer you work in a team that owns the design, development, and operations for major components of the payments and banking integrations
You should be a distributed systems generalist, able to architect broad systems interactions while being very hands-on, able to dive deep into any part of the stack, and lower-level system interactions. You should value simplicity and scale, work comfortably in a collaborative, agile environment, and be excited to learn.
Software solutions you build must meet internal quality standards and deliver the business metrics for which it was designed.
Duties and Responsibilities
Design and implementation of scalable distributed systems using Kubernetes, Docker, and other tools in the Cloud Native landscape.
Build configuration and deployment assets required to deploy and run the distributed applications.
Design microservices and other service elements to fulfill business requirements on assigned projects.
Continually evaluate technology changes in the cloud-native landscape and support the team in exploring and implementing solutions that serve the business and team goals.
As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging, or designing of software applications or operating systems.
Provide technical leadership to other software developers. Specify, design, and implement modest changes to existing software architecture to meet changing needs.
The duties and tasks are varied and complex needing good judgment and informed risk-taking.
Qualifications for the role
5+ years of experience delivering and operating large scale, highly available, distributed systems.
Strong knowledge of Java and the Spring framework, and experience with scripting languages such as PHP.
Strong knowledge of data structures, algorithms, operating systems, and distributed systems fundamentals.
Working familiarity with networking protocols (TCP/IP, HTTP, HTTPS) and standard network architecture components such as load balancers.
Strong troubleshooting and performance tuning skills.
Experience writing software using automated testing practices such as TDD, unit, and integration tests.
Strong command of version control usage with proper Git flow usage
Experience working with CI and CD workflows.
Deep experience with Kubernetes and Docker is a strong plus.
Experience building multi-tenant, virtualized infrastructure is a strong plus.
Experience working and designing architectures using the Istio service mesh is a strong plus.
This role has some aspect of project management. The candidate will need to have strong soft skills to communicate and work well with several cross-functional teams in fulfilling the business requirements.
Detail-oriented – simply put, the devil is in the details.
Decision making – succeeding in this role requires both a can-do and risk-taking attitude. With this in mind, it pays to sit back and evaluate the constraints and take a call using good judgment and rigorous planning.
Project manager – work planning, status review, risk analysis, feasibility analysis.
Technology Delivery Manager – status review, technical review, planning, design.
Information security team – vulnerability analysis and patching.
Infrastructure team – provisioning and capacity planning.
Other software engineers.
Support engineers – training, support.
Method of Application
Send your CV in PDF, the position should be used as the email subject: to firstname.lastname@example.org before August 10th, 2020.
Hiring will be done on a rolling basis.