Reporting to: CTO
Hours: 8:30 - 17:30, Monday- Friday and beyond when required
Location: Nairobi, with occasional local travel required
Company Introduction
We empower micro and small businesses in Sub-Saharan Africa to grow and succeed. This not only means access to credit, but also the skills to use it correctly. It’s why our first product blends loans with financial education.
Purpose of the position
We are looking for a Back-End Web Developer responsible for managing the interchange of data between the server and the users. The roles primary focus will be development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. The role will also be responsible for integrating the front-end elements built by the front end developer into the application. A basic understanding of front-end technologies is therefore necessary as well.
Responsibilities & duties
- Write clean code to develop functional web applications
- Collaborate with Front-end developers to integrate user-facing elements with server side logic
- Perform UI tests to optimize performance
- Participate in the entire application lifecycle, focusing on coding and debugging
- Building reusable code and libraries for future use
- Liaise with developers, designers and system administrators to identify new features
- Optimization of the application for maximum speed and scalability
- Implementation of security and data protection
- Design and implementation of data storage solutions
- Follow emerging technologies and adapting them to the current technology stack
Work experience & skills
- Understanding accessibility and security compliance on cross platform systems
- User authentication and authorization between multiple systems, servers, and environments
- Good understanding of server-side CSS preprocessors, such as LESS and SASS
- Integration of multiple data sources and databases into one system
- Management of hosting environment, including database administration and scaling an application to support load changes
- Data migration, transformation, and scripting
- Setup and administration of backups
- Basic understanding of front-end technologies and platforms, such as JavaScript, HTML5, and CSS3
- Outputting data in different formats
- Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimizing output to match the specific platform
- Creating database schemas that represent and support business processes
- Implementing automated testing platforms and unit tests
- Proficient knowledge and hands on experience with back-end programming languages like Java, Python and JavaScript
- Proficient understanding of code versioning tools, such as Git and SVN
- Proficient understanding of OWASP security principles and OAUTH for authentication of users and platforms
- Understanding of “session management” in a distributed server environment
Personal qualities & behavioral traits
- Ability to perform multiple tasks simultaneously, employing effective time management and organizational skills
- Ability to work independently and as a team to meet deadlines, goals and objectives
- Passion for learning new data analysis methods and tools
- Excellent critical thinking skills
Academic & trade qualifications
- Bachelor’s Degree in Computer Science or related field
- 3+ years’ web development experience required
- 2+ years’ app development experience preferred
- Working knowledge of CMS framework
- Excellent analytical and time management skills
- Teamwork skills with a problem-solving attitude
Relationships
- CTO: Direct line manager, who will offer ongoing support and supervision
- Lead Developer: Work hand in hand to develop the systems back end requirements
Performance review period
Initial 6-month probation. Upon successful completion of the probation period, annual reviews will be conducted in April.