Job Description:
Role: Lead Software Engineer & Lahore People Manager (Technical)
Experience: Not less than EIGHT years, with at least THREE years leading teams.
Reports to: Engineering Manager
Direct Reports: TEN
Location: Lahore, Pakistan (English-speaking)
Job Type: Full-Time, Permanent. Hybrid; standard local hours (PKT).
About the role (Job Summary)
In this role, you will:
Serve in a dual leadership role by:
Technology:
Currently we use the following:
We’re looking for smart people, rather than engineers that can use this tool or that language. You’ll get the opportunity to influence the technology and methodologies we use, but the themes of our stack are:
Projects
We have various projects in flight, but some of the broad initiatives we have planned, and that you will be involved in include:
About You (Profile)
We’re looking for exceptional Lead Software Engineers who excel in dynamic, fast-paced environments. At Atheneum, you'll be more than a technical expert; you'll be the de-facto go-to person on your team and for your colleagues in our Lahore office.
You evangelise software engineering excellence both within your team and the wider tech community. We’re talking open-source contributions, giving tech talks, attending meetups, giving department-wide brown bags, and leading excellence-driving initiatives within Atheneum. We’re looking for leaders to establish new standards in software engineering excellence.
As a seasoned engineer, you will be constantly re-learning your craft and building a robust set of principles. You understand that when times are hard, principles should be relied upon, not abandoned.
You care about code quality
Test Driven Development isn’t just a TLA - you believe in it, you do it yourself in your personal projects, and not because it looks good on a CV - you can demonstrate why it’s important!
If you come to meet us, we’re going to ask you about things like CQS, encapsulation, SOLID, outside-in-TDD, triangulation, verification, characterisation tests, pairing, devil’s advocate, ping-pong, Gollum-style, red-green-refactor… If you’re genuinely excited right now, then so are we!
You thrive on delivery
While quality is essential, you understand that flawless code that never gets to production has zero value. You know when to be pragmatic and value shipping early and often. You have the discipline to revisit imperfect products only when it is appropriate to do so, and you’ll be working as part of a multidisciplinary team to help make that happen.
We’re a product-led agile organisation, delivering value early and often, and you should be comfortable working this way, too. You know how to work collaboratively and iteratively to incrementally improve the features and functionality of the product with each release. There are no big bangs here!
If you’re passionate about exceptional code and thrive in an environment that values quality outcomes and continuous improvement, then we're eager to meet you!
In this role, you will (Key Responsibilities)
• Provide strong technical leadership and coaching to your teams and the department.
• Work in an agile software engineering environment to deliver awesome features that will delight our customers.
• Write software in an iterative environment using continuous integration and continuous delivery.
• Work in a collaborative environment to design, prove, document, engineer, test, deploy, scale and operate software.
• Contribute technically to ensure design feasibility; approach; usability; architecture; code quality; testability; scalability; and performance.
• Suggest appropriate technologies, techniques and standards to help deliver our goals.
• Participate in scrum ceremonies to help provide visibility and accountability towards delivery of projects you’re working on.
• Pair with other team members.
• Support and developing other software engineers by providing advice, coaching, mentoring and educational opportunities.
• Work to help ensure homogeneous code contributions from everyone on your team.
• Work with a geographically distributed software engineering function.
• Assist with driving the adoption of good practices across the department.
• Update job knowledge by studying state-of-the-art development tools, programming techniques, and technologies; participating in educational opportunities; maintaining personal networks; and participating in professional organisations.