As a junior software developer in Nofence you will get to work with many different parts of our system to learn about what type of development you enjoy and not. You will get a chance to learn from experienced developers and we expect you to quickly lose the Junior prefix and take responsibility for a part of our solution.
We plan to grow to handle millions of devices. Scaling to handle this large fleet of IoT devices will be a significant challenge to tackle.
We can offer work within many different areas:
- Infrastructure and platform work to ensure our solutions stay up and that our developers can work efficiently.
- Machine learning and AI to gain insights from the large volume of data we are gathering from all our devices.
- Backend and API work to manage our devices and to open up for integrations with other farming infrastructure software
- Frontend work to ensure our solution is a pleasure to use, we have both a mobile and a web frontend.
- Internal tools development to automate manual tasks and ensure we can scale to handle a rapidly growing customer base
You will be a part of the greater Product & Engineering team, which consists of engineers with a wide range of skills, from hardware development to UX design and everything in between. The P&E team is further divided into product teams that each work closely with representatives from other departments to reach our shared goals.
- Extend existing solutions with smaller features and bugfixes
- Take part in architectural design work
- Rotate between various teams and efforts to understand our solution and our product
- Participate in code reviews to ensure we keep to our standards and share knowledge
- Participate in our support-rota (office hours only)
How we work
As a small company that is still in our early stages our way of working is evolving and growing and you will have the opportunity to shape how we do things. That said, there are some core ideas we believe in:
- First and foremost we believe in products, not projects. We want to build long-lasting cross-functional product teams that can work autonomously, guided by our high level goals, with considerable freedom in how they approach the problems to solve.
- We believe that all our developers need to understand our customers and the challenges they are facing, and to have the chance to visit our customers and experience our solution in action.
- While our support staff can handle the majority of issues that come in from customers, some cases need investigation by our engineers, and we want to evenly share the responsibility for handling these cases. We believe this leads to more innovation around tooling to make troubleshooting as easy as possible. Don’t worry though, we do not require you to be on-call outside of office hours.
- We run all our infrastructure in the cloud (AWS), and while we are not there yet, our goal is to have all infrastructure defined in code. We believe that being able to deploy frequently and without worry is extremely valuable, so ensuring that our deployment process is automated and having good testing practices is important to us.
- We work both in the office and remotely, but we see that as we grow we’re shifting towards more and more remote work. The Product & Engineering team will meet physically at least every 2 months for combined work and social events that are planned to last 3 days each. This is to ensure that we know each other as people and not just as talking heads on a screen.
- In addition the whole company will meet at least twice a year for similar combined work/social events in the form of a summer party and a christmas party
- We believe that everyone in the company should strive to make their job redundant because that will make the company more efficient, and get them a better job. Over the years as a startup we have relied on quick and simple solutions that don’t necessarily scale, and we now need to replace these with scalable solutions that can take us to the next level. Software is absolutely key to this.
Our tech stack
As an early member of our team you will have a chance to influence how we build our tech stack. We obviously do not require you to have experience with everything listed here, but like most engineers you are probably curious about the tools we use:
- Webapps: React, Django
- Backend: Node.js (Express), Django
- Mobile App: React Native
- Databases: MongoDB, PostgreSQL
- CI/CD: Gitlab, Bitrise
- Monitoring: Datadog, Grafana, Sentry, AWS Cloud Watch
- Data Pipeline: dbt, TimescaleDB
- Cloud Platform: AWS
- Project Management and issue tracking: Asana, Jira
- On-Call handling (office hours only): PagerDuty
- Incident reporting: Statuspage.io
- Masters degree or equivalent in Computer Science, Computer Engineering or Information Technology
What we offer
- The flexibility to work remotely or in the office, depending on what you prefer
- A chance to work with meaningful technology
- Participation in our employee stock options program
- And the usual stuff that you expect, like, you know, getting paid, a pension agreement, 5 weeks of vacation and flexible working hours.
For more information contact Software Development Lead André Næss at email@example.com.
Application deadline: September 12th.