About ECN - Electronic Communications Network

Address

42 James Crescent, Halfway House, 1685

Company Size

201-500
Summary

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 nation­wide 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:

  1. refining and upgrading our supporting applications and services
  2. maintenance of back­end systems
  3. 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
  • MySQL
  • Spring
  • Node.js and Angular.js
  • JavaScript
  • Akka
  • Mule
  • ActiveMQ
  • Jenkins
  • Git
  • KVM
  • Docker
  • Puppet

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.

Work Environment

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 stand­ups, 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.

Core Values

The Core Values of our Development Team are:

  1. 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.”

  2. 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.

  3. 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 work­back agreement will be made if the cost is above a certain threshold.

Career Path

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.

Performance Management

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.

Interview Process

  • 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.

Perks
Support for further studies
Irregular Beer & Pizza Fridays
Bottomless Coffee
Flexitime
Flexible & Relaxed Leave Policy
Peer-Review Based Performance Assessment
Casual Dress Code
Press
Tech Stack

Application and Data

AngularJS
Javascript
Node.js
MySQL
Java
Spring Framework
jQuery
HTML5

DevOps

GitHub
Jenkins
Git
Docker
Maven
GitLab
Puppet
Selenium
Kubernetes

Utilities

Elasticsearch

Business Tools

Google Apps
Slack
Trello
The Home of ECN
Feeding Area
Contrary to popular belief we're not all mushrooms: some us do require sunlight and fresh air to flourish
DevOps undergoing jungle warfare training
Coffee is the oil that keeps the gears turning.
Developer (n): A device that turns code into error messages
Another sweeping panoramic shot of our building
Our general habitat
Some of our other local residents and also the reason the internet exists.
Give us our Daily Stand-Up...