Fully remote role with 1 exception – the only time you’d need to go into the office, based in Cape Town, is once a quarter for a meeting.
Established, innovative Cape Town inhouse Software Development and IoT company that builds (cloud) software to grow their client’s businesses is on the hunt for a Senior Developer. Their work covers a variety of industries and a range of apps and IoT software projects. Their client range from startups, scale-ups and enterprises that need brand new cloud software or upgrade or to replace existing software.
About the role
Join their team as a senior software developer. It will be your job to develop software based on architectural, UX and UI design specifications and other acceptance criteria.
We believe that as a software developer, you add the most value when you are empowered to provide input into the business case for the software as well as the UX and UI designs in order to get to the most optimal solution. Your job is not just to deliver code.
Responsibilities
- Deliver code according to a product backlog
- Agile software development
- Technical leadership of a small development team
- Provide input on UX and UI designs to optimise development efforts
- Give architectural advice where required
- Actively contribute to the entire team of product managers, UX practitioners, software developers and QA analysts and engineers
- Continuous self-development and expansion of skills
- If you’re an intermediate: assist senior software developer to mentor junior team members
- If you’re a senior: mentor junior team members
- Assist with software and product support
- Communicate technical needs and risks effectively outside of the team
- Be familiar with DevOps and infrastructure deployment
- Write effective documentation for architecture and infrastructure
About you
As a developer, you can engage with the tools and techniques to create software.
As a good developer, they will expect you to have experience with some or most of the technologies they regularly use. ( see below )
As an excellent developer you are able to create solutions with these tools and techniques.
You will have a deeper understanding of the tools and techniques and how to use them to best effect.
You find a high degree of satisfaction from entering a state of flow while programming, and the beauty and elegance that you create as a result.
Knowledge and skills
Firstly, you would need the skills to take on the responsibilities specified above. You should also have some depth of experience in the technologies we generally use, which includes the following:
- AngularJS. Other web frameworks (ReactJS etc) may also be applicable
- Flutter and Dart for mobile development. Android and iOS native development are also appropriate
- API integration through HTTP. REST and REST-like interfaces
- GraphQL integration
- Relational databases and SQL
- Other databases (time series, graph, document, key-value etc)
- Use cloud based infrastructure (AWS and Google). This includes compute and data storage elements
- Automated deployment infrastructure (Azure DevOps, CodeDeploy etc.)
And these equally important skills
- Communication skills that allow you to collaborate and explain your process, approach and motivation to various stakeholders, including technical and non-technical people
- Able to work well in a team as well as individually
- Excited about learning, pushing technical limits and finding new solutions
- Excellent analytical and problem-solving skills
- A propensity to fail fast and learn fast and share both failure and learning with others
- Prioritising learning over being right. Understanding others rather than becoming defensive
- Understanding the value of the client as part of the team rather than “us & them”
Experience
- Minimum 6 years of relevant software development experience
Education, qualification and certifications
- Relevant B.Sc. or B.Eng. university degree. Good academic performance, exceptional in software development/programming courses
Nice to haves
If you tick all the required boxes, the following things will give you an edge:
- If you’ve started your own business before (it does not matter whether it worked out or not)
- If you’ve built and released something of your own
- Active contributions to open source projects
- A preference for a variety of work and ‘horizontal’ training over deep specialist skills
- Aspirations to mentor and coach other developers
Desired Skills:
- AngularJS
- Other web frameworks (ReactJS etc)
- Flutter
- Dart for mobile development
- Android
- iOS native development
- API integration through HTTP
- REST and REST-like interfaces
- GraphQL integration
- Relational databases
- SQL
- Other databases (time series
- graph
- document
- key-value etc)
- Use cloud based infrastructure (AWS and Google) – including compute and data storage elements
- Automated deployment infrastructure (Azure DevOps
- CodeDeploy etc.)
Desired Work Experience:
- 5 to 10 years
Desired Qualification Level:
- Degree