Careers

Overview

As a Senior Software Engineer, you'll assume a pivotal role in spearheading the development and upkeep of sophisticated software solutions, encompassing all phases of the software development lifecycle. Collaborating closely with seasoned developers and project leaders, you'll lead the charge in designing, coding, testing, and debugging applications to ensure they meet project specifications and industry benchmarks. Your expertise will be instrumental in translating user requirements into robust software features, while also offering technical guidance and troubleshooting support as necessary.

This role presents a prime opportunity for you to further hone your proficiency with state-of-the-art technologies and frameworks, exposing you to diverse programming languages and development paradigms. You'll actively engage in comprehensive code reviews, championing enhancements in code quality and fostering adherence to best practices across the team. Additionally, you'll play a pivotal role in documenting software specifications, maintaining version control, and upholding established development methodologies and coding standards.

Furthermore, you'll play a pivotal role in documenting software specifications, maintaining version control, and upholding established development methodologies and coding standards. Your adept management of these aspects will ensure smooth project execution and alignment with organizational objectives.

As a respected member of our esteemed development team, you'll benefit from the mentorship and wisdom of seasoned professionals, accelerating your trajectory in the software engineering domain. Your contributions will wield a direct influence on project triumphs and fortify our organization's technological prowess. This role promises an exhilarating journey of continuous learning, skill refinement, and substantial impact within a vibrant and collaborative milieu.

Professional Responsibilities

As a Senior Software Engineer, your responsibilities will include:
Technical
  • Writes production-ready code with testability, readability, and error-handling in mind.
  • Leads technical design of features and mentors less experienced engineers.
  • Focuses on attaining expertise in relevant areas and stays updated on industry trends.
  • Writes unit tests and higher-level tests following the testing pyramid.
  • Approaches engineering work with a security mindset and actively seeks vulnerabilities.
Delivery
  • Persists in overcoming obstacles, requiring minimal oversight.
  • Consistently completes tasks and delivers complex products/projects to QA with minimal bugs.
  • Takes initiative to fix issues and owns large features from design to completion.
Impact
  • Takes end-to-end responsibility on projects, considering regression impacts.
  • Partners with product and analytics to address all parties' needs.
  • Empathizes with users and contributes constructively in code reviews.
Communication & Leadership
  • Communicates technical decisions effectively and mentors junior engineers.
  • Collaborates across functions and identifies problems early for course correction.
  • Builds strong relationships with teammates, managers, and relevant stakeholders.
Related Responsibilities
  • Participates in sprint ceremonies and completes required engineering curriculum courses.
  • Stays updated with industry trends and offers improvements to enhance processes.

Evaluation Criteria

Your success as a Senior Software Designer will be evaluated based on the following criteria:
Criteria
  • Quality and readability of code.
  • Leadership and mentoring abilities.
  • Delivery of tasks and projects.
  • Impact on product quality and user experience.
  • Effective communication and collaboration.
  • Continuous learning and contribution to process improvement.

Personal Attributes

In order to be successful in this position, you must be:
  • Persistence and initiative in problem-solving.
  • Security-conscious mindset.
  • Empathy towards users and team members.
  • Strong communication and collaboration skills.
  • Proactive attitude towards learning and improvement.

Qualifications

In order to be considered for this position you must be or possess (a/an):
  • Bachelor's degree in Computer Science or related field.
  • 6+ years of experience in software engineering.
  • Proficient in TypeScript, React, C#, .NET, Azure, and Docker.
  • Strong understanding of software development methodologies.
  • Experience in mentoring junior engineers and leading technical design.
  • Excellent communication and collaboration skills.