Job Description
Job Description:
The Software Engineer will design, develop, test, and maintain enterprise-scale software applications.
This role requires strong technical expertise across front-end and back-end programming, integration frameworks, cloud platforms, and modern CI/CD pipelines.
The ideal candidate will serve as a subject matter expert, supporting both customer and internal teams, while mentoring junior engineers and ensuring delivery of high-quality, reliable software solutions at scale.
Responsibilities: Perform technical detail design, coding, and testing of applications while serving as a subject matter expert for customer and internal discussions.
Develop and analyze interface design documentation in compliance with hardware/software systems standards, procedures, and code quality policies.
Deliver enterprise-scale systems supporting tens of thousands of users while adhering to migration and DevOps standards.
Conduct software analysis, including requirements gathering, use case development, and design.
Implement and document source code according to specifications, and perform automated unit and structured test cases.
Compile, assess, and report results from software testing and analysis.
Design, implement, and test software solutions addressing both functional and non-functional requirements such as performance and availability.
Perform operations and maintenance (O&M) of existing systems, identifying areas for streamlining and improvement.
Support enterprise environments through front-end and back-end programming, integrations, and estimation of development efforts.
Provide direct technical support for high-level, critical application incidents and troubleshooting.
Collaborate with cross-functional teams to develop highly reliable and scalable systems.
Extend open-source libraries and systems as needed, while evaluating and recommending emerging technologies.
Contribute to product scoping, architecture, and roadmap discussions.
Mentor junior software engineers and promote best practices in software development.
Requirement/Must Have (Hard Skills): Bachelor’s degree in Information Technology or Computer Science (or 4 years additional relevant experience in lieu of degree).
Minimum 5 years of experience in software development, coding, compilation, architecture/design, requirements definition, and specification development.
Strong proficiency in programming languages such as JavaScript, C, Python, or similar.
Advanced knowledge of software development life cycle (SDLC), agile methodologies, CI/CD pipelines, and code quality practices.
Experience integrating complex or existing systems.
Proficiency with cloud technologies (AWS, Azure) and database technologies (SQL, Oracle, MongoDB, PostgreSQL, etc.).
Strong background in automated testing methodologies, including TDD (unit tests) and BDD (automated acceptance tests).
Expertise in deployment, continuous integration, continuous testing, and continuous delivery processes.
Requirement/Must Have (Soft Skills): Excellent written and verbal communication skills.
Strong ability to communicate technical requirements to both technical and non-technical stakeholders.
Proven ability to build and maintain collaborative working relationships.
Analytical mindset with strong problem-solving and critical thinking skills.
Ability to mentor junior team members and contribute to a positive team environment.
Nice-to-Have (Hard Skills): Experience contributing to open-source projects or extending existing libraries.
Hands-on experience with advanced monitoring, performance optimization, or reliability engineering practices.
Familiarity with DevOps tools such as Jenkins, GitHub Actions, Docker, or Kubernetes.
Qualification and Education: Required: Bachelor’s degree in Information Technology or Computer Science.
In Lieu: Additional 4 years of relevant work experience in software development.