Posted 4 years ago
Job Title: Principal Software Engineer – Back End
Locations: Accra, Ghana, Cairo, Egypt, Kampala, Uganda, Kigali, Rwanda, Lagos, Nigeria, Nairobi, Kenya
What You’ll Bring
- All Andela engineers go above and beyond. To find out more about additional suggested competencies, check out our engineer framework.
Experience:
- A minimum of 6-12 years of professional experience, during which you’ve built deep technical expertise and demonstrated technical leadership.
Required:
Advertisements
- Expert-level understanding of at least one core backend language: Python, JavaScript/Node, PHP, Ruby
- Intermediate-level understanding of at least one other backend language (In addition to the core language): Python, JavaScript/Node, PHP, Ruby
- Leadership skills with a high amount of emotional intelligence. You’ve led teams, initiatives, and a range of technical working sessions
- Demonstrated experience of having taken large-scale initiatives from conception through to production, while continuing to support, optimize, and iterate
- Extensive experience with architecture and design principles, building to consider maintainability, performance, security requirements, and impact.
- Advanced understanding of at least one Web Framework for your language of choice: Flask/Django for Python; Node/Express for JavaScript, Rails for Ruby, Lumen/Laravel for PHP.
- Deep understanding of fundamental database concepts – relational (SQL) database, non-relational (NoSQL) database and ORMs/ODMs
- Strong knowledge of at least one cloud hosting platform (Ex: AWS, Azure, GCP)
- Deep knowledge of at least one CI/CD tool — Jenkins, Travis CI, Circle CI
- Expert level understanding of containerization and orchestration techniques — Docker, Docker Swarm, Kubernetes
- Demonstrated expertise with highly available infrastructure patterns and their tradeoffs
- Deep understanding of applicable unit and integration testing, and testing frameworks/libraries
- Deep knowledge of networking concepts– DNS, OSI model, TCP/IP, UDP, FTP
- Strong ability to problem-solve, debug, and understand pertinent performance metrics
- Comfort working within agile methodologies and experienced in estimation and time management
- Awareness of the capabilities of applicable languages/frameworks/libraries as well as the inherent differences between them in order to understand trade-offs and make recommendations.
Preferred:
- Working knowledge of software engineering collaboration tools
- Strong preference for test-driven-development (TDD) and understands its importance
- Working knowledge of code editor and formatting tools
- Practiced at learning by sharing knowledge via means such as mentorship, engagement within a technical community, contributions to open source, etc.
- Comfort with at least one web server technology — (ex: Apache, Nginx).
Apply Now
Job Features
Job Category | Software/ Programming / Web development |
Deadline | Not Specified. |