Job Title: Senior Software Engineer
- In this role, you will primarily work as a Senior Software Engineer within the Technology department building world-class internal products to support Andela’s business needs.
- As the Senior Software Engineer, you will take on complex tasks and complete them despite roadblocks, grabbing others for help or insight as necessary.
- You will require very little oversight beyond high-level direction; you can take a complex user story, break it down into sub-tasks, and complete their sub-tasks with relative ease.
- You will show initiative beyond knocking tasks off a list; you are able to identify and suggest areas of future work for yourself or your team.
- You will drive product velocity and deliver products with confidence.
- You will take pride in building products that are key to helping Andela grow and scale as an organization.
You’re the kind of person who:
- Believes that building great software is more than just delivering working code, that other aspects such as reusability, testability, maintainability, security, and performance are just as important.
- Is constantly learning and expanding your skillsets on and off the job.
- Can mentor entry-level developers willing to become world-class.
- Work closely with Product Owner and Stakeholders to understand the business needs
- Deliver complex software solutions that meet those needs
- Share responsibility for strategically scaling Andela’s internal systems
- Promote and nurture good team practices such as TDD, code reviews, and pair programming
- Bring vision to the team in the form of new technology recommendations, ideas and approaches
- Mentor entry-level developers willing to become world-class
- Ruby/Ruby on Rails
- Golang, Python
- AngularJS, React
- Postgres, MongoDB, Redis
- Heroku, AWS, Google Cloud, Docker, Kafka
- The ability to be located in Lagos, Nigeria or Nairobi, Kenya.
- 3-5 years of software development experience
- Strong understanding of computer science principles
- Experience working in an agile environment (standups, sprint planning, retrospectives, etc)
- TDD and pair programming experience
- Experience or strong interest in microservices architectures and distributed systems
- Solid written and verbal communication
- A Bachelor's or advanced degree in Software Engineering, Computer Science or related field.