Position Title: Lead Software Engineer.
Location: Egypt – Remotely.
Company: Waffy (Fintech).
At Waffy, we are passionate about fostering a workplace culture where everyone feels empowered to thrive. We believe in inclusivity, fairness, and supporting our employees’ professional and personal growth. From competitive compensation and flexible work arrangements to impactful work and career development opportunities, Waffy provides an environment where you can grow, excel, and make a difference.
Job Summary
The Lead Software Engineer’s role is to build and provide ownership over, high-quality, innovative, and high-performance software that complies with coding standards and technical design.
The Lead Software Engineer is eager to design and develop software platforms that will serve as independent scalable products. The ideal candidate should have full SDLC from preliminary system analysis to tests and deployment, all while using cutting-edge techniques and tools to build and scale the product as a world-class platform for the future.
Duties & Responsibilities
- Design and develop software services and components.
- Build reusable code and libraries for future use.
- Execute full software development lifecycle.
- Manage and contribute to the product infrastructure.
- Optimize application for maximum speed and scalability.
- Design and implement data storage solutions.
- Implement security and data protection.
- Develop software verification plans and quality assurance procedures.
- Document and maintain software functionality.
- Deploy programs and evaluate user feedback.
- Develop tools and applications by producing clean, efficient code.
- Automate tasks through appropriate tools and scripting.
- Developing new features, APIs, and epics.
- Lead a team of 5+ Software Engineers.
- Write reusable, testable, and efficient code.
- Maintain current backend code.
- Work directly with the QA and Product team to achieve high-quality output.
Qualifications & Requirements
- Bachelor degree in Computer Science or any related discipline is a MUST.
- 7+ years of experience in the Software Industry (Product Start-Ups).
- Experience in Data Modeling and Database Design Experience.
- Working experience in at least one back-end programming language (Java, Kotlin, Python, JavaScript, Go, Scala, C+).
- Knowledge of at least one of the scripting languages (Python, Shell, JavaScript, Ruby).
- Experience with any non-relational data store (MongoDB, DynamoDB, Cassandra,…).
- Experience with any messaging systems (Kafka, RabbitMQ, SQS, …).
- Proficient understanding of code versioning tools, Git.
- Familiar with container-based development/deployments.
- Strong knowledge of OOP.
- Strong knowledge of Design Patterns.
- Strong knowledge of Computer Science fundamentals
- Experience within an Agile Scrum team.
- Passionate about creating clean, highly maintainable, and structured code, supported by unit and integration tests.
- System Design, Design Patterns & Software Architecture.
- Exceptional Skills at identifying the source of bugs, knowing how to dig into the code that may be causing the outstanding issue, and working to resolve any issues that come up.
- In-depth knowledge and experience with Python, NodeJS, and JavaScript.
- Deep understanding of the Full SDLC with at least one project implementation.
- Demonstrated success working on software engineering problems that span multiple products.
- Experience building and interacting with RESTful APIs.
- Proven track record with building Micro-services architecture systems.
- Ability to work with both relational and NoSQL Databases (MySQL, MongoDB, Redis).
- Deep Knowledge of Docker and container technology.
- Your code will be integrated within our fully automated CI/CD pipeline, so we hope you have an initial DevOps experience.
- You should be familiar with Agile methodologies and have experience in working within an agile, fast-paced development process.
- Demonstrated ability to deliver through other software engineers.
- Evidence of a strong sense of ownership and product understanding.
- Experience in Open Source Technologies is a MUST.
- Extensive experience designing and developing enterprise-grade software.
- Experience with source control management systems and continuous integration/deployment environments.
- Experience with automated testing.
- Strong communication skills with both internal team members and external business stakeholders.
- Strong initiative to find ways to improve solutions, systems, and processes.
Nice to HAVE
- Experience with multiple programming languages.
- Experience with GraphQL.
- Microservice architecture experience.
- Experience with Cloud Providers (AWS, Azure, Google Cloud).
- User authentication and user authorization are performed between multiple systems, servers, and environments.
- Good understanding of containerized applications and tools like Docker and Kubernetes.
- Familiar with automatic building and deployment with tools like Jenkins, GitHub actions, and Bitbucket Pipeline.
- Experience with multi-tiered distributed systems, web services, APIs, and relational and NoSQL databases.
What Waffy App Offers?
- Innovative environment work in.
- Learning & Development Opportunities.
- Competitive compensation in USD.
- Flexible working hours.
- Complete Empowerment.
Joining Waffy means becoming part of a company that values diversity, transparency, and well-being. We are committed to nurturing talent, fostering open communication, and providing a collaborative environment where your voice is valued. With competitive compensation, flexible work options, and opportunities for meaningful work, Waffy offers not just a job but a chance to grow and thrive in your career.