This is a fully remote position in a global organization based in Nairobi, Kenya.
Ideal time zones: GMT to GMT+6. Team-wide meetings are usually held at around 15:00 GMT.
You are a pragmatic, thoughtful, curious software developer with some experience who wants to make an impact beyond the purely technological. Social justice, open source and international development are subjects that you would like to be directly involved with. You are not afraid to ask questions and collaborate effectively in a remote environment.
You’re looking to use your skills to develop software that has a tangible social good.
New cultures, people and experiences give you energy; you are open about working with a distributed and diverse team sitting across several time zones.
You know that coworkers who aren't engineers are just as smart as you and that you can learn from each other. You recognize that you grow faster when you are part of a team tackling great challenges with diverse skill sets and use your colleagues’ feedback to boost your growth.
Given the freedom to work anywhere, you are self-guided and can work autonomously. You bring empathy and effective communication to your day to day work.
About this role
Ushahidi is seeking a Senior Back-end Engineer who is looking forward to collaborating openly with team and community members alike, fighting for causes of social good.
This role combines back-end programming with the setup and operation of these same projects in our cloud systems.
You will be a part of the Ushahidi engineering team, working closely in open partnership with engineering, QA, designers, customer support, and, in some cases, users placed "in the field" running their initiatives. Through this rich set of partnerships you will have a direct impact on the social and humanitarian causes our software is being used for.
You will report directly to our CTO.
This is a role with stake in the daily operation, maintenance and evolution of our cloud-based setup, serving thousands of people and organizations globally. You may not necessarily be an infrastructure expert, but in that case you are willing to receive the necessary mentoring from others to get there.
Direct interaction with our open source community is an essential part of what we do, and you will spend significant time with this. It's fine if you don't have experience doing so. As long as you are up to it, we are more than happy to help you get up to speed.
We run a Laravel, MySQL and Linux (with nginx and php-fpm) stack that implements a REST API used from web, mobile and third-party clients. Code is unit and integration tested. We'd need you to be comfortable with this tech stack.
- Experience with modern PHP using Laravel or a similar stack, preferably while designing and building REST API implementations.
- Experience with SQL databases (MySQL or other) and the general techniques to write code that uses them efficiently.
- Experience deploying, operating and maintaining backend applications in production on Linux environments.
- Preferably experience with programming for real-time (websockets) and asynchronous (background) workloads.
- An acute and active interest on digital security, helping ensure we don't let down the (sometimes, highly vulnerable) individuals who count on us.
- A general notion of the essential building blocks of cloud infrastructure, such as: virtual servers, load balancers, managed databases and network storage.
- Interest in Infrastructure and DevOps processes tooling: i.e. Continuous Integration, Ansible, Terraform or Kubernetes (we'll help you as needed).
- A thoughtful approach to communication, with the audience and the context in mind.
- Set up to work remotely: we'll provide you with a laptop, but you'll need a stable internet connection and an environment suitable to carry out video-conferences.
Why You Might Be A Good Fit
- Independent and intrinsically motivated: the team agrees upon goals, but how they are accomplished is left largely up to the individuals. Nobody will be leaning over your shoulder telling you what to do every day, we expect you to be able to do that yourself.
- Open minded and team oriented: the desire to work with and support your team. We rely on team members to discuss issues together and support each other, helping keep each other productive and happy.
- A drive to get things done and ship: we’d love you to write beautiful elegant code every time, but getting things done matters. The team will need your contribution in striking the best balance between perfection and practicality.
- Empathy and an interest in helping our users: a desire to work with the community and customers, dig into their use cases, and help them solve problems.
- You posses an internal drive that powers you to work for causes of international development and social justice.
Why You Might Not Be A Good Fit
- You only want to wear one hat. Ushahidi is small, but we take on the goals of much larger organizations. In practice this means that all Ushahidians end up wearing multiple hats, assisting in different ways while working on multiple projects. If that excites you, great! If you are set on never venturing out of your job title or take on more than one project at a time, you’re going to get frustrated fast.
- You want to be in an office surrounded by colleagues. Granted that recent events have already been making this situation increasingly rare. However, in our case, we are largely remote (with a physical office in Nairobi) and we rarely see each other. If you find you'd struggle working a full time job like this and find it isolating, this job may not be for you.
Why you may like working at Ushahidi
- Our goal in hiring is to find great people first, great skills second.
- We take on big challenges and we strive to keep a work environment where everyone can grow and learn, developing new skills or honing current ones.
- Ushahidi team members currently live across several continents: from Washington DC , sweeping through Europe and landing on Nairobi and Mombassa.
- Build a schedule that suits you. While we have meetings that you will be expected to attend, there are no “business hours” at Ushahidi. We are a milestone-based company, not a sit-in-your-chair from 9 to 5 company.
- Generous vacation policy: minimum 25 days/year, with a limit of 35 days. More vacation days are available with the approval of senior management. Because we are an international team, this limit includes national holidays.
- If you are not in Nairobi, a co-working space reimbursement of up to USD 250/month is available. For folks who live in Nairobi, you can always use The Batcave, our one and only office.
- A laptop provided by us (or reimbursed). It becomes your property after 18 months.
- In Kenya, we provide healthcare through our health care provider, who we review for best rates and coverage annual. For international employees, we will reimburse your healthcare premiums up to $250/month.
- Employees are entitled to parental leave of ninety (90) calendar days with full pay. Employees are eligible for an additional 30 calendar days of parental leave without pay.
Because our salaries are calculated with a standardized location-based formula, we will send the salary range based on your location if we invite you to interview.