Principal Software Development Engineer Job Description

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.