As a software engineer at Horizons, you’ll have the opportunity to work on a wide range of projects, from developing new software applications to improving existing ones. You’ll be responsible for writing code, testing and debugging software, and collaborating with other team members to ensure that the software meets the needs of the business and its customers.
One of the key aspects of being a software engineer at Horizons is the ability to think creatively and solve problems. You’ll need to be able to identify and analyze problems, and then develop solutions using your technical skills and expertise.
In addition to your technical skills, being a software engineer at Horizons also requires strong communication and interpersonal skills. You’ll need to work closely with other team members and stakeholders such as project managers and customers to ensure the software meets their needs and expectations.
Below we set out the core features of software and product development at Horizons.
We are Agile
We operate in a fast-paced industry which requires efficiency, and consistent progress towards business goals. Specifically, we implement:
- Agile methodology
- We use Scrum to focus on rapid and flexible iterative development, with an emphasis on frequent delivery of small increments of working software.
- Lean methodology
- Lean Startup and Lean UX means maximizing value and minimizing waste. At Horizons, this means identifying the key value drivers for our solutions, and using data and experimentation to continuously optimize and improve them.
Tools and development process
There are several tools and practices that help us effectively manage the development process:
- Task management tools
- We are using JIRA to help us track and prioritize tasks, assign them to team members, and track progress.
- Code version control system
- At Horizons, we use Git with Gitlab to allow multiple developers to work on the same codebase without overwriting each other’s changes. We are currently switching to a Trunk-Based flow.
- Collaboration tools
- All our emails and internal tools are Microsoft-based. Therefore we are using Microsoft Team to facilitate communication and collaboration within and across teams.
- Regular meetings
- We have meet regularly, including daily standups and sprint planning sessions. This helps us keep everyone on the same page, and identify and resolve issues quickly.
Job ladder and Career Growth
Our defined job ladder is used to provide clear career advancement opportunities for employees within our engineering department. As employees progress up the ladder, they may take on more responsibilities, gain more authority, and earn higher salaries. Specifically it means:
- Transparency
- Every engineer can know where there are in the job ladder and where their colleagues are.
- Salary improvements
- All steps in the job ladder have a minimum salary. So if an employee reach a new step, the salary at least meets this point on the salary band. This is an important way of minimizing unfairness in salary attribution.
- Attracting and retaining the top talent
- It helps employees with a sense of opportunity and growth within the company, which can help to increase motivation and engagement.
Skills matrix
We have a comprehensive skills matrix to help visualize the skills and competencies of each engineer for every step of the job ladder. The matrix is filled in to indicate the level of proficiency or expertise of each individual in each skill.
- Different skill types
- There are three different types of skill we emphasise: technical skills, leadership skills, and soft skills. Each skills type come with a set of three concrete examples to help employees to understand if they have reached the required skill level or not.
- Clear path for advancement within the company
- It helps employees understand what they need to do to move up within the organization and provides them with a sense of direction and purpose in their career.
- Establishing clear roles and responsibilities
- We ensure that everyone knows what is expected of them and can work effectively as a team.
- Promotion
- It helps employees understand what is expected of them at each level and what they need to do to be considered for promotion. The manager can then create a career development plans for team members.
- Training
- It’s a useful tool for managers to identify training and development needs and to match employees with the right roles and responsibilities. We provide constant training to all our engineers.
Mission File
A mission file is a document that outlines the mission, vision, and values of an engineer in our department. The mission is defined by the employee himself.
- Autonomy
- Employee needs to think about what he can personally do about the global company missions and goals.
- Set clear goals
- Identify specific areas that you want to focus on, and set specific, measurable, achievable, relevant, and time-bound (SMART) goals to help make progress.
- Alignment
- It allows us to be sure that the manager and the employee agree on what is expected.
Weekly one-on-one (1:1)
Each engineer have a weekly ‘one-on-one’ (1:1) of one hour with their direct manager. This allows us to:
- Build trust
- Trust between the manager and the employee is crucial to our success. It allows us to deal with problems early (even if that is sometimes painful).
- Addressing specific issues
- One-on-one interactions can be useful for addressing specific issues, providing personalized feedback or support, or building relationships.
- Performance evaluations
- During the one-on-one we review the mission file and the skills matrix and the manager provides coaching sessions where necessary.
- Seek out new challenges and responsibilities
- Employees can discuss with their manager possible opportunities to take on new challenges and responsibilities. This can help grow and develop new skills and capabilities.
Overall, being a software engineer at Horizons is a dynamic and challenging career that offers the opportunity to work on a wide range of projects and make a real impact on the business. If you have a passion for technology and enjoy solving complex problems, a career as a software engineer at Horizons could be the perfect fit for you.
Our goal is that when you leave Horizons you are better than when you joined.