Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will take an active role in the definition and evolution of standard practices and procedures.
You will be responsible for defining and developing software for tasks associated with the developing, designing and debugging of software applications or operating systems.
Work is non-routine and very complex, involving the application of advanced technical / business skills in area of specialization.
Leading contributor individually and as a team member, providing direction and mentoring to others. BS or MS degree or equivalent experience relevant to functional area.
7 years of software engineering or related experience.
Preferred Qualifications :
Minimum 10 years of hands-on development experience
Experience with java and j2ee in a technical leadership role is required
Microservices and cloud native applications design and implementation
Experience with RESTful resource model and application design. Knowledge of OpenApi specifications is a plus.
Hands on experience with at least one Java microservice framework like Spring Boot, Helidon, etc. is required
Experience in Kubernetes and Docker.
Experience with other cloud-native technologies such as Kibana, EFK, Prometheus, Jaeger & cloud-native databases
Experience / Knowledge in at least three of the following technical areas is also required :
Object oriented design and methodologies
Experience developing or designing cloud-based services (e.g. SaaS, PaaS)
Knowledge and development background in web services, or web based technologies using REST.
Experience with VoIP based technologies based on SIP protocol.
Experience developing or designing highly available / redundant software.
Experience developing or designing telecommunications software.
Knowledge and experience with C, C++, Golang, or Python will be a plus
Experience in developing Scalable, Fault tolerant and Highly available systems
Experience in developing multi-threaded and client server applications
Experience developing software following Agile methods, using CI / CD processes including automation testing development
Experience in a technical lead or architect role guiding a geographically distributed team.
Experience in Linux / Unix environment
Strong trouble shooting capabilities targeting complicated problems in remote system
Strong communication skills required.
Strong writing skills required.
Ability to multi-task and handle changing priorities.
Knowledge of software development methodology, build tools and product life cycle; experience in agile development is a plus.
Excellent team skills, can-do attitude, focus on quality.
BS or MS in Computer Science, Computer Engineering, or equivalent