Staff Software Engineer
As a Staff Software Engineer at talabat, you operate across multiple levels, including a team, domain as well as your chapter and the wider Tech org.
On a team level, you are the voice of your chapter, helping teams understand the Chapter direction and providing hands-on technical mentorship. You also might drive critical, complex initiatives impacting multiple teams.
On a domain level, you establish yourself as a partner to your Engineering, Product and Data counterparts (senior managers or directors, other senior engineers). You drive the improvement of systems and processes, simplifying what’s complex and removing bottlenecks. You drive the RFC review process to foster a broad insight into our overall app architecture.
On a chapter level, you are a key contributor to the evolution of your Chapter Vision & Strategy. You sponsor and drive the key Chapter initiatives and orchestrate mentorship efforts across the wider tech org.
On a tech org level, you contribute to the improvement of overall developer experience, from branding initiatives/hiring to helping individuals and teams be more effective. You critically question and drive improvement across the org.
Note:
On top of being the industry leader when it comes to your craft, this role requires someone willing to assume end-to-end ownership of a specific area of our system, willing to amplify your knowledge and support others to explore better ways of developing products.
Empathetic and able to easily build relationships
Great verbal and written communication skills
Humble, curious, and open-minded with a growth mindset, thriving on continuous feedback
Great understanding of lean/agile values & principles and associated practices
Solid experience building large-scale applications using modern programming languages (e.g. C#, Java, Go, etc.).
Proven ability to mentor other engineers
8+ years of software engineering experience of which 2+ years should be within Extreme Programming environment (TDD, Pair Programming, Simple Design, and Continuous Refactoring)
Solid experience building large-scale applications using modern programming languages (e.g. C#, Java, Go, etc.)
Expert in Distributed Systems Architecture (Microservices, Event-Driven, RESTful Services)
Familiarity with the general mobile landscape, architectures, trends/emerging tech
Proficient in testing with focus on automated end to end quality
Experience working with relational and nonrelational databases
Exposed to cloud platforms (e.g. AWS, Google Cloud, Azure)
Experience building, maintaining and improving with Trunk Based Development and Continous Delivery