Role Summary
Software Engineers are responsible for the design, development, maintenance, testing and evaluation of new or modified software products. They manage the entire application lifecycle from research and design through implementation, training and support. Senior Software Engineers take on more complex tasks, aid research and design on critical projects, and mentor junior engineers. Hands‑on experience working with enterprise‑level data platforms is desired and a willingness to learn new technologies as needed. A Senior Software Engineer works closely with leadership to understand requirements and timelines, collaborates with peers to enforce best practices and software standards, and ensures designs meet architectural and departmental standards.
Duties & Responsibilities
- Be a champion for department initiatives and values ensuring all actions promote the department’s mission statement
- Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions
- Work with other developers, analysts, project managers, QA and others to develop enterprise‑level software products adhering to best practices and established standards and practices
- Mentor software engineers on design principles, engineering practices and be resourceful
- Ensure software solutions are reviewed, documented and unit tested prior to handing it over to QA
- Prepare and install solutions by determining and designing system specifications, standards, and programming
- Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear testable code
- Improve operations by conducting systems analysis and recommending changes in policies and procedures
- Communicate in a professional manner when interacting with coworkers and external customers
- Participate in internal and external technical reviews, as required
Other duties and projects as assigned
Skills Required
- Excellent time management, resource organization and priority establishment skills, and ability to multi‑task in a fast‑paced environment and ability to work independently and as part of a team
- Robust understanding of OOPS and design patterns
- Can work quickly and efficiently with moderate supervision
- Demonstrated skills and abilities needed to coordinate, facilitate, and participate in a collaborative approach to the completion of tasks or assignments
- Ability to develop software in C#/.NET, WebAPI, Entity Framework, React, React JS, HTML/CSS, TSQL or other selected languages
- Strong knowledge of enterprise computing software, including system management standards and solutions
- Strong Object‑Oriented design and implementation skills
- Robust understanding of design and architectural patterns
- Understanding of NuGet package management including creation, deployment, and version management
- Knowledge of data mining and segmentation techniques, Business Intelligence tools
- Good to have knowledge on Data‑as‑a‑service design
Qualifications
- Have HEART. To work here, you must be:
- Humble – self‑aware and respectful
- Effective – measurably move the needle & immeasurably add value
- Adaptable – innately curious and constantly changing
- Remarkable – stand out in some way
- Transparent – openly and honestly sharing knowledge
- 6 to 8 years’ experience with software development post BE/B.Tech, ME/M.Tech or MCA
- Must have experience in design and development of enterprise class software solutions
- Should have worked with Scaled Agile Framework