Job Description
Job Description:
1. Collaborating with product managers and stakeholders to understand requirements. Design, develop, and maintain software applications and systems, adhering to coding standards and best practices.
2. Writing clean, efficient, and well-documented code in languages such as Java, Scala, TypeScript, or others as required by the project.
3. Analyzing complex technical problems, troubleshoot issues, and providing innovative solutions to meet project objectives.
4. Analyzing and optimizing software performance, identifying, and addressing bottlenecks, and improving response times to enhance the user experience.
5. Designing and developing real-time stream processing applications using Apache Kafka, Apache Samza, or similar technologies to handle and transform data streams efficiently, including filtering, aggregation, windowing, and pattern recognition.
6. Developing and maintaining databases to support back-office operations. Write complex SQL queries to extract, manipulate, and analyze data as needed by software applications and stakeholders.
7. Designing, developing, and maintaining middleware components, middleware layers, and custom middleware for NestJS applications.
8. Leveraging cloud services such as Google Cloud Platform (GCP) to optimize software scalability, performance, and reliability. Design and implement cloud-native solutions, including containerization and serverless architectures, to enhance the efficiency and availability of software applications.
9. Implementing robust monitoring and observability solutions to proactively track the performance and health of software applications. Set up monitoring tools and dashboards, configure alerts to quickly identify and address issues.
10. Participating in on-call rotations and responding to incidents promptly. Ability to look at logs and collaborate with cross-functional teams to diagnose and resolve issues, aiming for minimal service disruption.
11. Developing and executing unit tests, integration tests, and system tests to ensure the reliability and functionality of software components.
12. Identify and debug software defects through thorough testing and debugging techniques. Collaborate with quality assurance teams to ensure software reliability and stability.
13. Setting up and maintaining CI/CD pipelines to automate software builds, testing, and deployment processes.
14. Provide technical support to resolve software-related issues and assist in diagnosing and fixing production problems.
15. Creating comprehensive technical documentation, including design specifications, API documentation, and user guides, to facilitate understanding and maintenance of software.
16. The position may be eligible for part-time telecommuting.
Requirements:
Bachelor's Degree or foreign equivalent* in Computer Science or a related technical field and two (2) years of experience in a systems analysis or development occupation. Experience must include:
- Two (2) years of experience designing, developing, and maintaining software applications and systems.
- Two (2) years of experience writing clean, efficient, and well-documented code in languages such as Java, Scala, TypeScript, or others.
- Two (2) years of experience developing and executing unit, integration, and system tests.
- Two (2) years of experience designing and implementing cloud-native solutions, including containerization and serverless architectures.
- Two (2) years of experience designing and developing real-time stream processing applications.
- Two (2) years of experience analyzing complex technical problems, providing innovative solutions, and making data-driven improvements.
OR
Master’s Degree or foreign equivalent* in Computer Science or a related technical field and demonstrated knowledge** of a systems analysis or development occupation. Knowledge must include:
- Designing, developing, and maintaining software applications and systems.
- Writing clean, efficient, well-documented code in Java, Scala, TypeScript, or others.
- Developing and executing unit tests, integration tests, and system tests.
- Designing and implementing cloud-native solutions, including containerization and serverless architectures.
- Designing and developing real-time stream processing applications.
- Analyzing complex technical problems, providing innovative solutions, and making data-driven improvements.
*Any combination of education that has been evaluated by a professional credentials evaluation service to be the equivalent of a U.S. degree will be accepted. **Knowledge can be demonstrated through coursework, training, and/or experience. References required.
Work location: 864 Spring Street NW, Atlanta, GA 30308.
If interested, send resume or curriculum vitae to: NCRCareers.HR@ncrvoyix.com, reference requisition: R0145726 SW Engineer II (Evergreen) (Open) #LI-DNI