Design, develop, and debug diverse scope software for cloud-based applications using Java or GO, Spring Boot. Maintain accountability for software lifecycle. Experience with IDEs, debugging tools, unit testing, CI/CD automation. Strong understanding of non-functional requirements like performance, scalability, and security. Work in a fast-paced, geographically distributed team environment.
Job description
What you’ll do
Designs, develops, and debugs software of diverse scope for new and existing products in accordance with designated development practices, timelines, and quality expectations.
Primary Responsibilities:
- Experience in designing and developing cloud-based applications.
- Experience in server-side development, including the use of either GO or Java, Spring Boot, micro-service architectures, REST and MVC patterns.
- Must be familiar with software engineering concepts, Agile and DevOps software development methodologies.
- Participates in project scoping and scheduling; tracks progress of individual tasks and alerts stakeholders of issues blocking or preventing completion of task.
- Ensures quality through functional, unit and performance testing; works closely with testing by providing thorough reviews of the test plan and communicates when updates to the plan should be made to cover code changes related to enhancements, redesigns and/or bug fixes.
- Maintains accountability for the entire life cycle of the code including support for both internal and external consumers.
- Experience using IDEs and third-party tools for debugging, unit testing and CI/CD automation using Jenkins.
- Experience with Cloud architectures and at least one major public Cloud provider
- Candidate should have a thorough understanding of non-functional requirements and be able to work on those viz. performance, scalability, security, etc. and have experience in one or more of these areas.
Skills:
Proven experience in design and development of software projects for the cloud environments using following technologies.
- Languages: Golang/Java, knowledge of more than one programming languages will be preferred
- Cloud: Docker, Kubernetes, Azure, AWS, GCP, OpenShift
- Interfaces: RESTful web services and command line interfaces
- Databases: PostgreSQL, Elasticsearch, Redis
- Tools: GIT, Gerrit, Gradle, Jenkins, Black Duck Hub, SNYK
- Operating systems: Unix, Windows, z/OS
Knowledge and Abilities
- Ability to think analytically and work on highly complex projects
- Superior problem-solving skills
- Strong written and verbal communication skills
- Energetic, hard-working, motivated, able to take initiative and meet deadlines in a fast-paced environment.
- Comfortable working in a geographically distributed, team-based environment
- Detail-oriented, well-organized, and able to multi-task under pressure
- Demonstrated experience with disciplined unit, regression, and integration testing
- Participate in peer code reviews and embrace constructive criticism of your code
- Expert knowledge of current and emerging software development tools, methodologies, and principles
Experience
Should have at least 5-8 years of experience with relevant technology.
Education Preference
Bachelor's degree in computer science or equivalent related work experience