Вакансия Principal Software Engineer

19 вакансий
Специализация: .NET/C#
Уровень: Team Lead
Опыт: Более 5 лет
Уровень английского: Upper-Intermediate
Город: Минск
Режим работы: Полный день
Размер компании: 800
Возможна удалённая работа: Да

We are looking for a skilled Principal Software Engineer, who will be a part of a team that solves complex challenges and builds working software by:

  • Collaborating with your PO to groom backlog and break down stories into small functional slices
  • Maintaining an attitude of commitment through outward display of willingness
  • Impressing responsibility on others by displaying ownership in tasks
  • Practicing positive interactions – lean on encouragement in place of judgment
  • Being open to new ideas and encouraging innovative practices amongst peers
  • Actively working on broadening or adding a skill
  • Asking for assistance when problems become challenging
  • Balancing best practice decisions with delivering high business value (right vs right now)
  • Delivers stories/tasks that are “committed” within a timebox

As a Principal Engineer, you will consider the premier developer on the team. It is therefore your responsibility to engineer solutions within a large-scale platform to enable our client’s business while supporting the strategic architectural vision of quality, scalability, performance and function.

Principal Accountability | Technical Planning

  • Owns technical design for a sprint including high-level flow diagrams, ERD, service contracts
  • Ensures the whole team understands the technical plan, reasons for it, and adherence to it.
  • Considers testability in design with focus on code determinism, abstraction, and modularity
  • Commands a broad awareness of dependent projects and considers them in design
  • Works with Enterprise Architects to ensure a team’s direction is in line with the enterprise vision
  • Defines technical acceptance criteria (where necessary) for each story
  • Integrates the technical PBIs and works with PO/client to justify and schedule those efforts

Principal Accountability | Software Development

  • Communicates important details of the solution design to everyone on the team
  • Encourages collective code ownership through CI and promotes frequent code check-ins (daily)
  • Practices and teaches unit test development to achieve at least 80% code coverage
  • Addresses technical debt constantly - escalating when it becomes risky to time or quality
  • Develops with an awareness for team needs and acts as resource/mentor for junior members
  • Oversees the merge up/down process
  • Carries out root cause analysis on defects to ensure fixes are happening in the right way
  • Keeps an up-to-date local development environment to reduce risk

Principal Accountability | Team Leadership

  • Translate and break-down strategic technical vision into a consumable form for the team
  • Assure team productivity meets a high standard that can be quantified
  • Low-level development, testing and deployment tasks have ownership by team members
  • Frequently thinks out loud about design with the team and a higher level design committee
  • Helps team members define clear, small, and testable tasks
  • Enforces the team’s Definition of Done
  • Liaises between the team and management to assure needed skills are represented on the team

Principal Accountability | Software Inspection

  • Ensures daily code check-ins (through spot checks) are happening by each member of the team
  • Employs static code analysis to identify code readability, anti-patterns, vulnerabilities & defects
  • Monitors unit level test results after code is committed and holds team to account on quality
  • Considers cyclomatic complexity of code and drives project refactors where necessary
  • Enforces transparency of the inspection process via Continuous Integration and reporting
  • Reviews QA test plans for technical coverage
  • Conducts cross team and inter-team code reviews

Principal Accountability | Release Planning

  • Drives and adheres to a well-defined code promotion process
  • Supports and is accountable for timely releases and adherence to release activities
  • Resolves defects in a timely and effective manner
  • Identifies tactical risks and raises/resolves issues effectively
  • Ensures that operational teams are effective during deployment (dry-run or production)
  • Follows up with infrastructure to create service accounts, permissions, access rights, etc
  • Creates deployment documentation which outlines WHERE & WHAT?

Principal Accountability | Thought Leadership

  • Collaborates outside of the product team to encourage a development community
  • Establishes and carries out formal and informal educational sessions (lunch & learn, etc)
  • Encourages self-study by promoting best practices and bringing in external perspective

Technical Qualifications & Responsibilities

  • Act as a technical subject matter expert for the eLearning common platform and other integrated software components
  • Develop high-quality software design and architecture
  • Work collaboratively with other engineering team members to architect and develop solutions specific to the common eLearning platform implementation
  • Communicate and collaborate with users, stakeholders, and other technical resources to maintain the existing eLearning systems
  • Identify, prioritize and execute tasks in the software development life cycle
  • Maintain existing code using HTML, CSS, JavaScript, jQuery, Typescript, C# and Visual Basic
  • Write readable, extensible, testable code, while being mindful of performance requirements and consolidation efforts
  • Write and maintain documentation for new and legacy features
  • Review and debug code
  • Automate tasks through appropriate tools and scripting
  • Keep up to date on best practices and new technologies

See the company description page for more details.

Представитель компании
Вакансии компаний
Jobs-бот найдёт работу!
Подключайте бота в Telegram и получайте подходящие предложения.