Senior Software Engineer

Company Details

Intelligent Industry

The Position

Job title: Senior Software Engineer

Department: Engineering

Location: Exeter office with flexible work options; Hybrid Remote

Reports to: Head of Technology

Job Purpose

Dashboard is growing rapidly and therefore this job description supplies a broad handrail for the responsibilities of the role. As a part of our team, you will be expected to roll up your sleeves, reliably perform your duties, and tackle other challenges as they arise. A strong candidate will readily adapt to these challenges and get stuck in.

The typical qualities needed to be successful in this role include: Innovative and analytical thinking; Strong interpersonal skills; Motivation, enthusiasm and commitment; Flexibility and adaptability; The ability to tackle complex problems and a willingness to always learn

You will be responsible and accountable for an area of software development and maintenance of that software once it goes live, working within a small team.

We are looking for someone who enjoys tackling different problems in a structured way and is a highly motivated self-starter. Our engineering team members should have great interpersonal and communication skills and a strong desire to deliver the best possible solution for our clients, whilst maximising value.

We pride ourselves on having a dynamic team and knowing the value of a team. You should be an excellent team player who recognises the strength of the team as a whole and can find their role within the Dashboard team.

The challenges

Our platform is used by companies monitoring physical assets in the world. This could be a pipeline to a building or bridge, our challenges can change from project to project but the core platform challenges we focus on are:

  • Realtime Asset Monitoring
  • Massive amounts of data ingestion
  • Data security, availability, and integrity
  • Delivering value to our customers

The Tech Stack

Our team has tried and tested multiple solutions, languages and frameworks and our current stack is scalable, fast and secure. Don’t feel you need to know them all, there will be time to learn as part of the role. We use the following technologies and services:

  • Python, TypeScript/JavaScript, Go
  • gRPC, MQTT, Kafka
  • Postgresql, Druid
  • Grafana, SuperSet
  • Redis
  • Azure

Key Responsibilities

Most of your days will be spent designing software and systems, research and coding. This work will involve collaborating with other departments within Dashboard to deliver new or change existing features based on client requirements and feedback. Your overall day to day goal is to help make our API service faster, more scalable and more robust. You will also take the lead on projects, features and code reviews to ensure the highest standard of development work is kept.

Building stable and reliable software is not an option: as a leader in the development team, you will design and write state-of-the-art software, follow best practices, measure everything, document everything and be responsible for development to production.

Other responsibilities include:

  • Responsible for developing features, fixing bugs, updating applications and services
  • Work as part of a small effective team
  • Leading sprints, code reviews
  • Provide input into high-level and low-level software discussions
  • Work closely with clients to understand their needs and working with the Dashboard platform
  • Work planning, tracking and feedback
  • Helping us to grow our software engineering practice
  • Helping with Dashboard internal applications and project or other work when possible

Key Relationships

Head of technology, Senior Software Engineer, other team members, Product Owner, Scrum Master/Project Manager, Product/Marketing/Commercial Team

Emotional Characteristics and Professional Skills

  • Adaptable and consistent – An ability to keep up with a fast-paced schedule of work and maintain a high standard of work output
  • Autonomous and dependable – An ability to problem solve and complete work without extensive supervision or guidance
  • Collaborative and transparent – A well-developed ability to work alongside many stakeholders with distinct needs, and to be honest/open when problems arise
  • Diligent and responsible – An ability to successfully manage timekeeping and meet deadlines when needed
  • Fair and understanding – Showcase strong emotional empathy for others’ perspectives and lifestyles when engaging in business operations
  • Proactive and organised – An ability to track changing priorities and to bring a forward-thinking approach to the role
  • Tactful and considerate – An ability to maintain confidentiality and discretion in interactions with stakeholders within and without the organisation

Knowledge and Experience

  • At least 3-5 years’ experience with Python, JavaScript/Typescript
  • At least 3 year of experience with SQL or other query languages
  • Experience of server-side frameworks such as Django, FastAPI, NestJS or Fastify in production
  • Experience of relational and non-relational database such as PostgreSQL or MongoDB in production
  • Working knowledge or frontend frameworks such as VueJS
  • Experience in deploying applications and or services to a live environment
  • Supported applications and or services in a live environment
  • Great written and verbal communication skills
  • Experience leading a team, project or feature development
  • An understanding of software development methodologies such as Agile
  • Working knowledge of software deployment lifecycle
  • An interest in IoT or IIoT
  • Experience with MQTT, Kafka, NATS, and gRPC
  • Experience with Golang, Rust or C++
  • Experience with PostGIS or other GIS platforms
  • Experience with security protocols

Qualifications

  • At least 3-5 years practical experience writing software in a production environment.
  • As part of the interview process, we would like to discuss examples of previous development projects you have completed. We may also supply a small task to better gauge your ability and coding practices, these tasks are not paid work and the code is not used by Dashboard, execution of the task should take no more than 1-2 hours.

Whilst every effort has been made to ensure this job description provides a comprehensive overview of the responsibilities of this role, all employees may be required to undertake other reasonable tasks as requested from time to time.

We are an equal opportunities employer and welcome applications from all suitably qualified persons regardless of their race, sex, disability, religion/belief, sexual orientation or age.

Tagged as: java, python, GO, typescript, data security

Visit us on LinkedInVisit us on FacebookVisit us on Twitter