Senior Software Engineer-20000NMGApplicants are required to read, write, and speak the following languages : English
Own one or more product features or module from end to end
Design and develop new product features and enhancements with high quality
A craving for high performance & quality delivery
Work with architects to design product features and participate in architecture decisions
Work with product management team to define new product requirements
Acquire knowledge of existing code and refactor as needed to meet the needs of the evolving platform
Work with the platform, data services and QA teams to deliver high quality features on time
BS / MS in computer science or other relevant technical degree with Senior Engineer role
6+ years of experience in application development using Java / J2EE technologies
Demonstrate analytic and problem-solving skills, particularly as it relates to application design, development and infrastructure
Excellent object oriented programming, unit testing, debugging and code review skills
Hands-on Experience with Java, Spring, Hibernate, JMS, JSON, Test NG, relational databases and SQL and scripting like shell scripting.
Hands-on Experience with configuration management tools like Ansible, Chef or Puppet etc.
Experience designing / implementing & troubleshooting high performance Web services using SOAP / REST
Strong understanding of architecture patterns such as multi-tenancy, scalability, and federation, to build cloud-ready systems
Ability to quickly learn and develop expertise in highly complex existing applications and architectures
Good experience on concurrency and multithreading. Basic experience on SQL and Database concepts
Experience with high volume distributed application development in a SaaS environment
Detailed Description and Job Requirements
Design, develop, troubleshoot and debug software programs for databases, applications, tools, networks etc.
As a member of the software engineering division, you will assist in defining and developing software for tasks associated with the developing, debugging or designing of software applications or operating systems.
Provide technical leadership to other software developers. Specify, design and implement modest changes to existing software architecture to meet changing needs.
Duties and tasks are varied and complex needing independent judgment. Fully competent in own area of expertise. May have project lead role and or supervise lower level personnel.
BS or MS degree or equivalent experience relevant to functional area. 4 years of software engineering or related experience.