As an Engineer, Here s just some of what you ll be doing:
- Function as a member of an agile team and helps drive consistent development and test practices with respect to tools, common components, and documentation.
- Perform technical development for applications including architecture, design, developing prototypes, writing new code and APIs and performing unit and assembly testing of developed software also as needed
- Hand-on architecture working closely with solution architects and architecture governance technical team for solution development and design reviews
- Typically spends 60-70% of time writing code and testing, and remainder of time managing team and stakeholders through ongoing product/platform release sprints
- Perform code reviews, make design decisions and ensure constant focus on quality and clearing technical debt items in the backlog.
- You will be using Java Technologies Vertx, Spring MVC, Spring Data and Spring Boot and RESTful micro services.
- Build & Maintain new RESTful APIs on Cloud Platform (eCP) using MapR DB and any NoSQL DBs.
- Improve efficiency, reliability, and scalability of our data pipelines.
- Work on cross-functional initiatives and collaborate with Engineers across the organizations.
- Build CICD pipelines for continuous integration and delivery.
- Build automation for application changes and deployment for faster time to market.
- Develops deep understanding of tie-ins with other systems and platforms within the supported domains
- Perform ongoing refactoring of code, quality assurance and testing, applying best practice methodologies and processes.
- Identify opportunities to adopt innovative technologies & ideas in development / test area.
- Provide continuous support for ongoing application availability.
- Collaborate/influence within and across teams to create successes with an innovative mindset and challenge the status quo.
Minimum Qualifications
- Computer Science, or equivalent degree or industry experience.
- Up to 2 years of software development experience in a professional environment.
- Strong OOPs concepts, concurrency, exception handling etc.
- Data structures and Algorithms, Strong OS fundamentals, Advanced Java concepts
- Strong development experience using languages Java/ Go. Keen understanding of how to build highly performant systems with such languages.
- Hands on experience in building distributed micro-service systems, experience with Service Mesh products/frameworks like such as Envoy, Linkerd, Istio, gRPC/ProtoBuf; Distributed System Management/tracing and monitoring such as Zipkin/Jaeger, ELK Stack, Prometheus
- Have experience in designing and building Cloud native applications. Experience in cloud platforms like Docker, Kubernetes, OpenShift are a plus.
- Experience in using NoSQL databases and distributed messaging systems such as Redis, Kafka, Couchbase, Cassandra in the context of low latency and high transaction volume systems.
- Experience with Continuous Integration/Continuous Deployment tools such as Jenkins, GitHub
- Experience working in DevOps teams and Scrums.
- Ability to learn and deep dive into new technology and business domains, question status quo and think outside of the box.
- Proficient oral and written communication skills.
Preferred Qualifications
- Demonstrated experience of writing applications for deployment on cloud environment including OpenShift and Docker containers.
- Experience on RESTful API design and implementation is a plus
- 1-2 years of experience with Test Driven Development (TDD) / Behavior Driven Development (BDD) practices, unit testing, functional testing, system integration testing, regression testing and web service testing.
- Experience with automated release management using Maven, Git, Jenkins.
- Experience with continuous integration and continuous delivery environment
- Looks proactively beyond the obvious for continuous improvement opportunities.
- Willingness to learn new technologies and exploit them to their optimal potential
- Excellent leadership and communication skills, with the ability to influence at all levels across functions, from both technical and non-technical perspectives alike.