Principal Software Development Engineer Job Description Template
Our company is looking for a Principal Software Development Engineer to join our team.
Responsibilities:
- Driving software quality and reliability initiatives including documentation, testing, and performance tuning aspects of existing and future projects;
- Writing technical solution documents;
- Support QA team in developing test plans;
- Performing hands-on software design reviews;
- Applying Agile methodologies such as Scrum or Kanban;
- Interacting directly with network engineers and management in understanding needs and requirements to direct technology approach;
- Introducing machine learning, advanced analytical and statistical capabilities, and artificial intelligence tools to new and existing platforms;
- Analyzing and documenting customer requirements to translate them into project definitions and work breakdown structures;
- Identifying and developing concepts for new innovative applications;
- Leading technology, product management, and business management functions to push the business forward with innovative technology solutions;
- Work with QA, product management and operations in an agile environment;
- Own and deliver tested and optimized high-performance code for a distributed messaging environment;
- Contribute to vigilantly rewriting, refactoring, and perfecting code;
- Architect, design, and develop new platform services to build our technology platform;
- Participate in resolution of production issues and lead efforts toward solutions.
Requirements:
- AWS/Azure;
- Cloud Computing fundamentals, Storage, Sql/NoSql;
- Java, or C#
- Security system development experience or experience in building systems for cloud infrastructure;
- Passion for working with customers and advocating for their requirements to be met by features;
- BS Degree in Computer Science, Electrical & Computer Engineering or Mathematics or equivalent experience;
- Experience using scalable data ingestion and transformation systems in batch and near real time (NRT) environments (λ-lambda architecture) is a plus;
- Experienced agile methodology practitioner with background in building scalable cloud services;
- 2+ years of Software Program/Product Management experience;
- 10+ years of experience as a software engineer designing, implementing and shipping cloud services or software products;
- Experience with the Microsoft Azure or similar cloud platforms;
- Passion for mentoring junior engineers;
- Strong communication and collaboration skills;
- Interface design with coding proficiency in C#/Java, .NET, React, JavaScript, node.js, or equivalent languages/frameworks;
- Bachelor’s Degree in Computer Science, Computer Engineering or a closely related field.