A Senior Software Engineer is an experienced engineer who has achieved mastery
of the software engineering process and is the company expert on one or more
sizeable product components. They have a deep understanding of the telecoms
domain. They own and deliver complex projects, through all stages of the
software development lifecycle, independently and with a high level of
productivity. They deliver impact predominantly through individual contribution
but also leverage and contribute to the work of others.
Key Responsibilities:
- Own and deliver complex one-person projects end-to-end, from architecture
through deployment, working from loose briefs
- Contributes to larger team-scoped projects through some combination of
producing high-level designs, large/complex test strategies, or debugging
all-but the most challenging field bugs in unfamiliar code
- Mentor engineers and contribute to their professional growth
- Drive technical excellence through code reviews, best practices, and quality
standards
- Investigate and introduce new technologies and methodologies to improve team
capabilities
- Contribute to technical strategy and roadmap
- Partner with cross-functional teams to deliver integrated solutions
- Participate in hiring and help build strong engineering teams
- Resolve complex technical challenges and serve as escalation point for
critical issues
Competencies & Attributes
- Technical Depth-Maintain detailed understanding of key components and
technologies in your domain
- Proactive Learning- Fill knowledge gaps through independent investigation–can
adapt to different languages, devices and operating systems
- Collaboration to elevate others- supporting and mentoring teammates and
building relationships with neighboring teams for effective information
sharing
- Reliable Ownership– across your projects, components and processes, you are
trusted to exercise judgement, meet commitments and to spot and drive
resolution of issues
- Informed Advocacy– understand the customer need, business case and wider
context so that you can advocate for the right outcomes in areas such as
security, quality and ongoing maintenance
Desired Skills/Qualifications
- A degree from a reputable University (preferably STEM) or equivalent years of
experience
- 5+ years of experience as a software engineer, covering the full software
development lifecycle, in telecoms or a similarly complex domain with high
availability requirements
- Mastery of advanced programming concepts such as low-level resource
optimizations and high-level design patterns, across multiple languages
- Expertise in software technologies including Linux, IP networking, databases,
open-source software and cloud computing platforms
- Experience in more than one specialist domain, examples: real-time
collaboration application development, real-time multimedia communications
application development, instant messaging and presence application
development, SIP application development
- Mastery of code management in Git and/or SVN, including advanced branching
- Excellent problem-solving and communication skills