Engineering / Senior Engineering Manager – Product Development
We are looking for a Software Engineering Manager who is a seasoned developer and an experienced people manager who is involved with planning and coordinating all activities related to software components owned by his or her team. The Software Engineering Manager is the “go to” person for the Team, ensures alignment between the technical solutions and the business needs. This person will play a key role in every part of the software development lifecycle, working with the team to produce high quality, high performing software components that meet our stakeholders’ needs while maintaining clear visibility to progress and challenges.
DUTIES AND RESPONSIBILITIES:
Key responsibilities and duties include, but are not limited to:
- Analyses software requirements, drives implementation through design, coding, unit testing, reviews and documentation as needed.
- Recommends efficient design and development approaches to team members.
- Develops Proof of Concepts when needed, contributes to and reviews architecture, design and code as part of the job.
- Sets attainable goals to Team and oversees day‐to‐day execution of project by the team.
- Owns the team deliverables – Quality, Timeliness, Standards of Development.
- Co-owns the product delivery through the Testing and Release cycles.
- Manages a small to medium size team, provides guidance to Team members and encourages and monitors work productivity.
- Manages goal setting and performance reviews, provides regular feedback, and facilitates employee development and growth.
- Unblocks the team by identifying and resolving issues – both technical and non-technical.
- Provides transparent and clear status updates on the projects in a disciplined way to direct and matrix managers.
- Hires and grows a team of high performing engineers with diverse skill sets.
- Works with and contributes in a dynamic, distributed team environment with multiple stakeholders like release management, product management, documentation team etc.
Essential skills and experience required:
- 12+ years of experience, including Engineering and People Management for a minimal 3 years.
- Bachelors/master’s degree in computer science engineering or related stream.
- Experience working with products in Storage domain, especially experience with Block and Object storage.
- Knowledge of Storage related concepts (mirroring, encryption, snapshots, replication, etc.).
- Extensive programming and debugging skills in functional ( C ) and at least one of object oriented languages (C++, C#, Java, Python)
- Has led a small to medium size team of 5-8 members for end-to-end product delivery
- Extremely comfortable with modern engineering management tools and processes, project planning, estimations and execution
- Is an experienced participant of agile – SDLC process with seasoned understanding of various phases of test, automation and DevOps areas.
- Good system design skills with ability to provide advice on design and development approach.
- Self-starter with extreme comfort in working with geographically dispersed teams.
- Strong communication skills and interpersonal skills to work with developers, testers, peer managers, and cross Geo stakeholders.
Preferred skills and experience:
- Kernel or device driver development and debugging experience on Windows / Linux.
- Good general working knowledge of the SCSI specification and common transports.
- Strong understanding of White box test principles.
- Exposure to development with VMware ecosystem will be a plus
- Familiarity to Kubernetes and Containers will be a plus