We are looking for a software manager/contributor with basic management skills, including tech leadership or people management as well as strong experience with design, development, and debugging experience within a Linux environment. You will join a team currently implementing new/modern storage software. This role requires being a new leader for a small team and growing your leadership skills while spending 50-70% of your time hands on. The technical aspect of the role requires the ability to work in various areas of low-level I/O paths such as networking and storage. The position is broad and encourages growth as a leader in our software organization while staying technical. This is a great opportunity to learn and try out your leadership skills while keeping the option to remain technical. Responsibilities
As a development engineer, in your normal day you will be:
• Understanding and implementing product requirements via new and existing technology stacks.
• Implementing automated unit test cases surrounding your code.
• Participating in bi-directional code reviews, design discussions, and task breakdowns.
• Collaborating with teammates in an Agile software development lifecycle
• Expanding your knowledge of new storage technologies and the software behind them.
As a development manager, in a normal day you will be:
• Providing career guidance and annual performance reviews for team members
• Maintaining one on ones with team members
• Directing coding style, process and coordination between coding efforts inside and between teams
• Providing Code Reviews
• Working with (or being) the Product Owner within a scrum team to drive prioritization Requirements
• 6+ years of C/C++ software development experience with parallel/networked/distributed systems
• 1+ years of experience as a People Manager and/or technical leader for a complex software project
• Strong experience developing software within the Linux environment, e.g.: general administration, kernel interaction, networking, scripting languages, development tools etc.
• Excellent analytical and debugging skills
• Strong interpersonal and communication skills
• Active participation in a modern/distributed team environment Desirable Skills
• Direct experience developing code for SAN/NAS servers.
• Deep working knowledge of file system architecture and principles.
• Understanding and experience with software development of protocols such as SMB, NFS, Samba.
• Development level exposure to enterprise level storage technologies, distributed file systems, snapshots, replication, clustering, high availability, de-duplication, and related concepts.
• Conversance with agile software development methodologies and task break down methodologies, such as: scrum-ban, stand-ups, story mapping, planning poker, etc. Education
• Bachelor of Science in Computer Science or equivalent
Keywords: linux, C++, file system, metadata, replication, distributed file system, block storage, NAS, SMB, Samba, NFS, POSIX, SDS, Object Storage, op-locks, ACLs, locking, versioning, snapshots, replication, caching, clustering, multi-threading Our Values
Research tells us that some applicants, especially those from underrepresented groups, can be put off from applying for roles if they need flexibility or feel they don't meet all of the set criteria. We strive to create an inclusive environment for all and are open to considering home working, compressed/flexible hours. Get in touch with us to explore how we might be able to accommodate your specific needs.
We are proud to say we are an equal opportunity employer and welcome all applicants for employment without attention to race, colour, religion, sex, sexual orientation, gender identity, national origin, veteran or disability status. With Japanese roots going back over 100 years, our culture is founded on the values of our parent company expressed as the Hitachi Spirit:
Wa - Harmony, Trust, Respect
Makoto - Sincerity, Fairness, Honesty, Integrity
Kaitakusha-Seishin - Pioneering Spirit, Challenge