What are the responsibilities and job description for the Remote- Software Engineer - Test Infrastructure Development position at Apetan Consulting?
Job Title: Software Engineer - Test Infrastructure Development
Job Description:
- Develop and maintain internal web applications and engineering tools using Python, JavaScript/TypeScript, React, SQL, HTML, and CSS.
- Implement end-to-end features based on requirements and designs from senior engineers, including backend services, REST APIs, database integrations, and frontend UI.
- Troubleshoot software defects, performance issues, deployment problems, and production support issues.
- Write maintainable code, tests, and technical documentation; participate in code reviews and follow team development standards.
- Support CI/CD, Linux application deployment, monitoring, and routine infrastructure maintenance.
- Use AI-assisted development tools and support AI-enabled workflows such as search, summarization, log analysis, and automation where appropriate.
- Collaborate with Test Engineering, Product Engineering, Manufacturing, Operations, and globally distributed software teams.
What We Need to See
- BS in Computer Science, Computer Engineering, Electrical Engineering, or a related field, or equivalent experience, with 3 years of hands-on software development experience.
- Strong full-stack development skills across frontend, backend, databases, APIs, deployment, and system integration.
- Strong Python programming and practical Bash/Linux shell scripting experience.
- Solid SQL and relational database skills: schema design, efficient queries, indexes, and basic execution-plan/query optimization knowledge.
- Experience with JavaScript/TypeScript, React, HTML, CSS, and npm/yarn or modern frontend build tools.
- Experience developing/consuming REST APIs; familiarity with OAuth, JWT, SSO, RBAC, and secure API design.
- Working knowledge of Git, code review, testing, documentation, CI/CD, Linux deployment, logs, processes, basic networking, and troubleshooting.
- Ability to independently execute assigned development tasks within an existing architecture, with strong problem-solving and communication skills.