ECN is the largest independent next-generation telecommunications operator in South Africa. We are unique amongst our peers in that the vast majority of our systems and platforms are either open source or entirely designed, developed and supported by our in-house development team. This allows us to customise and optimise our systems to suit specific customer requirements, fine-tune performance and integrate with external systems without having to rely on 3rd party vendors. By taking complete ownership of our core technologies we are not beholden to the strategic vision of another company, instead we are firmly in charge of where to invest our efforts. This includes not only our voice and data platforms but extends to supporting systems, such as billing, reporting, customer management, product allocation and fraud detection. With such a broad portfolio of responsibilities, there is something for everyone in our Development Team.
What we do exactly?
The foundation of everything we do is our nationwide voice and data network. We have major nodes (Points of Presence) across the country, including Cape Town, Durban and Johannesburg. There are a number of interconnects with other telcos (both mobile and fixed line as well as international) that allow us to both receive and terminate voice calls to any number in the world. Our customers range from large multinationals to small to medium sized businesses, all of which benefit from our lower rates and high quality service. While we do deal directly with our end users we also have a network of Service Providers and Dealers that resell our products and services in the market.
To support our core services we have a number of bespoke, in-house applications to manage billing, invoicing, reporting, customer configuration, service provisioning, product allocation and so forth.
Built on-top of all this are more specialized offerings, such as our Virtual PBX, Call Recording and Conferencing Service. Our selection of value-added services will be rapidly expanding as our next generation platform is rolled out.
Our development is focused on three areas:
- refining and upgrading our supporting applications and services
- maintenance of backend systems
- the creation of brand new products and services
What are our core technologies?
We always strive to use the best technology available for the job. This not only allows our developers to gain experience in a variety of fields, but it also keeps things fresh and interesting. That said, our core systems need to be supported, improved and extended, which means there are components of our tech-stack that will be with us for the foreseeable future.
Our core technologies are:
- JavaSE and JavaEE
- Node.js and Angular.js
How Big is Our Team?
We have a team of around ten developers of varying levels of experience working on a number of projects at a time. Each initiative (both long-term and short-term) is headed up by an experienced senior developer who, if the complexity of the solution is relatively low, may also be acting as a software architect.
Our office environment is best described as “casual”. Dress-code is very relaxed… just remember to wear pants! We’re in an open-plan office with everyone (Senior Managers included) sitting in the same area. This includes not only fellow developers but also the Systems, Networks and QA Teams, so there is no need to send an email to check on something; instead you can just walk across the room and ask in person.
There are a number of meeting rooms nearby for daily standups, planning sessions, workshops and so on.
Flexitime and Work-From-Home?
Yes to both.
Ways of Working
Our development teams follow the Scrum Agile Methodology. We perform all of the required rituals including Daily Stand-Ups, Reviews, Retrospectives and Demos. We have a dedicated Scrum Master and Product Owner.
The Core Values of our Development Team are:
Transparency and Honesty : We encourage transparency and honesty in everything we do. Every Sprint Board, Burndown, and OKRs are all public knowledge; Demos can be attended by anyone who is interested. Both success and failure are exposed for examination. As they say: “Never let a good crisis go to waste.”
Freedom and Responsibility : We trust our developers and give them a lot of freedom to do their job. This also means that they have to step up and take responsibility for their decisions, both good and bad.
No Time for Office Politics: We’re a relatively small team where attempts to engage in office politics are neither effective nor desirable. Our previous two Core Values make it hard to play this game and proponents will caught out very quickly.
Training & Personal Development
We encourage our employees to further their academic studies and provide generous study-leave for major assignments and exams. Financial aid for tuition fees can be discussed on a case-by-case basis.
Work related training costs are usually covered by ECN with the understanding that a suitable workback agreement will be made if the cost is above a certain threshold.
We have recently launched our new structured Career Path Program which a provides clear direction and requirements of what an employee has to achieve in order to earn a promotion or move sideways into another position. We also understand that the traditional developer career path of: Junior -> Intermediate -> Senior -> Team Lead/Architect/Manager/Analyst doesn’t suit everyone and we will strive to accommodate and reward those that wish to write code for a living without entering a management position.
We use two independent means to measure progress and performance.
The first is Objectives and Key Results (OKRs) which is used to ensure that the department, sections, and teams are going in the right direction in terms of alignment with company objectives, delivering key projects and following through with various plans and initiatives. OKRs are ambitious and are designed to keep everyone focused and striving forward. Where OKRs are about the big picture, our Individual Performance Management is about you, as a person and built around objective measures (such as adoption of ways of work etc.) as well as peer ratings.
Characteristics of a Successful ECN Developers
Self-motivated, eager to understand how things work and make them work better. Inquisitive and tenacious people who are not shy to engage broadly within the team, department and company. People willing to take risks and make mistakes. Developers who are obsessed with quality.
First is a HackerRank Assessment to make sure the candidate can actually code.
If that goes reasonably well, there will be a face-to-face interview, usually attended by the Head of Development and the resident Scrum Master. The focus is on exploring previous experience, determining culture-fit and some additional technical assessment.
Finally, the Head of the Technical Department may want to have an informal chat with the candidate to confirm we're not hiring any axe-murderers.
We're usually pretty quick (a few days at most) in deciding if we're going to make an offer.