Role Summary :
The Staff Software Engineer has responsibilities which involve deep expertise in the design and implementation of enterprise software systems, The Staff Software Engineer leads a small to mid-
sized cross-functional program team to deliver the technical content, performance, intellectual property and quality deliverable for a software project.
Essential Responsibilities :
In this role, you will :
Capture system level requirements by brainstorming with CTO, Sr. Architects, Data Scientists, Businesses & Product Managers
Identify the scope of the work, provide initial estimate and justify the estimate with facts
Demonstrate the understanding of Agile software development lifecycle and able to distinguish the core inputs and outputs in each cycle.
Engage in technical discussions; participate in technical designs and present technical ideas through white boarding
Work closely with your peers and keep engaging in a fast pace technical design and development team
Execute in a fast pace delivery mode and focus in delivering tasks to meet the product release goal
Maintain code quality through best practices, unit testing and code quality automation
Seek and provide feedback on design and development
Demonstrate the ability to make informed technology choices after due diligence and impact assessment
Understand whole product, its modules and the interrelationship between them while being an expert in the assigned component or module
Help in designing interfaces and information exchange between modules
Possess advanced domain knowledge and show great customer focus. Expert in processes / methodologies and Skilled in build, release & deployment processes
Help define his or her own role in the delivery of the product / service design
Articulate the need for scalability and understand the importance of improving quality through testing.
Be an expert in writing code that meets standards and delivers the desired functionality using the technology selected for the project
Drive design reviews, define interfaces between code modules, and applies existing technology to designs
Be an expert in assessing application performance and optimizing / improving it through design and best coding practices
Be an expert in core data structures as well as algorithms and has the ability to implement them using language of choice
Qualifications / Requirements :
BE or higher degree in Engineering - Minimum 10 years of overall experience with at least 4 years of experience in architecture, design and / or consulting with hands on software development.
Direct experience in the design and development of complex enterprise software solutions in healthcare domain.
Demonstrated ability to work with technical leadership team to implement product platform / subsystem multi-generation technology plan for a specific release of a global program / product
Desired Characteristics :
Technical Expertise :
Strong knowledge of Object Oriented Analysis and Design, Software Design Patterns and Java coding principles
Hands-on experience in web services (REST, SOAP, WSDL etc.), using Apache Commons Suite & Maven
Hands-on experience in utilizing Spring Framework (Core, MVC, Integration and Data)
Hands-on experience with web development using HTML, Java Script, jQuery. Also, experience in implementing Java OSGi modules and using an OSGi container.
Experience with Play framework, Angular is a big plus.
Business Acumen :
Strong problem solving abilities and capable of articulating specific technical topics or assignments
Experience in building scalable and highly available distributed systems
Expert in breaking down problems and estimate time for development tasks
Evangelizes how our technology solves customer problems from a technology and business perspective
Demonstrates clarity of thinking to work through limited information and vague problem definitions
Influences through others; builds direct and "behind the scenes" support for ideas
Proactively identifies and removes project obstacles or barriers on behalf of the team
Shares knowledge, power, and credit, establishing trust, credibility, and goodwill
Personal Attributes :
Able to work under minimal supervision
Excellent communication skills and the ability to interface with senior leadership with confidence and clarity
Able to work well with global teams, including time-zone flexibility
Skilled in providing oversight and mentoring team members. Shows ability to effectively delegate work.