As a Senior Software Engineer, you will design, code, debug, and develop software applications in Java, Springboot, and more. You will be part of a team driving architecture and designs for efficient services. The role involves problem-solving, defect maintenance, and product support.
Job description
Scope:
- Develop features across multiple sub modules within our applications, including collaboration in requirements definition, prototyping, design, coding, testing, debugging, effort estimation, and continuous quality improvement of the design & code and deployment
- Design, develop and manage automated unit and acceptance tests
Our current technical environment:
Software: C++,Java, Springboot, Gradle, GIT, Hibernate, Rest API, OAuth
Application Architecture: Scalable, Resilient, event driven, secure multi-tenant Microservices architecture
Cloud Architecture: MS Azure (ARM templates, AKS, HD insight, Application gateway, Virtue Networks, Event Hub, Azure AD)
Devops: CI/CD, Jenkins
OS: Windows, Linux
Frameworks/Others: Kubernetes, Kafka, Elasticsearch, Spark, NOSQL, RDBMS, Springboot, Gradle GIT, Ignite
What you’ll do:
- Design, code, debug and performs development activities in accordance with designated standards and procedures.
- Drive architecture and designs to become simpler, more robust, and more efficient. Deliver on these promises through self-healing, reliable services that require minimum manual intervention.
- Provide early visibility and mitigation to technical challenges through the journey.
- Provide support of products through conception to product delivery including problem solving, defect maintenance and support to customer services
What we are looking for:
- 5-8 years of experience designing and developing software applications.
- Java, MVC Architecture, J2EE, Struts, Portal Server, Web Development Experience
- Knowledge on Design Patterns
- Unix Knowledge desirable
- Strong database concepts
- Demonstrates good understanding of the product and its architecture
- Quick learner
- Experience in developing multi-threaded applications.
- Experience with REST, JSON & web services.
- Scrum or Kanban experience. GIT and Jenkins experience.
- Experience developing software in Linux/Unix development environment.
- Expected to have Sound software engineering practices and a passion for quality
- Must have a proven record of meeting tight deadlines without sacrificing quality
- Strong communication skills are essential, both written and oral, targeted at a wide variety of internal and external audiences
- Must have good idea about customer deployment scenarios and experience in dealing with peer teams outside engineering
- Expected and assumed: independence, drive, motivation, willingness to go above and beyond, flexibility, and cooperative spirit