You will take part in the valuable development and operational support of the technology and systems. In doing so you are an important part of the Engineering Team and will be responsible for maintaining, and improving, the processes and culture of development.
Many of the products are developer-facing, including APIs, software as a service, software distributed to 3rd parties, data, documentation and demonstrations.
You contribute to the technical development of consumer-facing products . Additionally the company values involvement with the software development community and supports such activities to the extent that they are aligned with the company's aims.
The company's systems predominantly consist of public-facing services for manipulating data, but you will also be responsible for developing and maintaining internal systems that are required to support engineering work. This will also involve providing out of hours support to customers. too.
As a small team with big ambitions, the workload is not always even. Consequently, we are fair in the team and allow flexibility for working hours at quieter times, while we're together keeping the number of hours per month within normal bounds.
As a start-up, we operate in an ever-changing environment. Learning new skills, and experimenting with new technologies are a core part of your role. To that end, we encourage all team members to propose and build small experimental projects that extend our knowledge and experience.
You are expected to maintain and improve your own development environment while contributing to the up-keep and development of shared systems and tools. This includes the production, test and build environments along with release and testing tools. You are also responsible for ensuring that our systems and associated data are secured against loss or unauthorised use, by maintaining existing measures such as backups and access control. This responsibility includes ensuring that your work complies with the processes that have been set up relating to statutory and contractual requirements including the Data Protection Act, other legislation/regulations, and our contracts and SLAs agreed with clients and partners.
In order to execute these responsibilities successfully, you need to learn relevant technologies and development practices. To achieve this you are expected to have a good grasp of industry developments. This involves keeping up-to-date with changes in both technology and in the products and services offered by our competitors, clients, and partners in their respective industries.
In addition as a senior member of the engineering team you will be expected to deal with the more complex or critical aspects of the code, such as optimising and interconnecting systems, performing security audits, upgrading old systems/code and ensuring there is adequate test coverage. You should be in the position to understand and translate new user requirements to solutions and determine the operational feasibility of proposed systems. You will have to contribute to the continuous improvement of operations by conducting systems analysis and recommending changes in policies and procedures.
Senior engineers are also expected to contribute to the team's knowhow and support and develop other software engineers by providing advice, coaching and educational opportunities as well as mentor junior engineers. You should be able to document and demonstrate solutions with a high level of clarity, and communicate all ideas and issues in a similar manner. Similar expectations exist for the clarity and quality of your code and documentation. Even though we understand the high degree of uncertainty that comes with developing code, you are expected to set and meet reasonable estimates for your work.
The following are essential prerequisites for this technical role:
Computer Science related degree;
Working knowledge of Java; and
A minimum of 5 years of relevant development experience would be welcome.