All development team members, regardless of role, can expect to be participating regularly in the following:
- Performing lightweight code reviews
- Contributing to design discussions and decisions
- Working with our lead developer to determine the best long-term outcomes for the project, advising in their specific area of expertise
- Manual and automated quality assurance tasks (unit/functional testing, exploratory testing, Browserstack automation, etc)
- Contributing to the improvement of our operations automation, monitoring and CI capabilities
Software Engineer (DevOps)
- Extending and maintaining the existing JSON/HTTP API and associated web portals using Java EE
- Overseeing many aspects of the development and deployment of a highly redundant, multi-cloud application
- Change management
- Build pipeline management
- Quality control gates
- Automated, zero-downtime deployment
- Application health monitoring
- Incident response, troubleshooting and escalation (including 90 days/yr of after hours on-call)
- A degree in Information Technology, related discipline or equivalent industry experience
- 5+ yrs software development in any language, including 1+ yrs in Java EE
- 3+ yrs database development and administration
- 2+ yrs Linux systems administration
- 1+ yrs experience working with infrastructure automation tooling
Experience with the following will be regarded as highly desirable:
- Sip/VoIP/PBX servers
- New Relic or similar monitoring/alerting tool
- React and Redux or similar front-end framework
- Demonstrable experience with other technologies from “Our Technology Stack”
Working at Spruce^ki
Spruce^ki is currently based in an inner-city office, embedded on a client site. Hours are fairly regular but not super-strict, and working from home is possible (and let's face it, often necessary to balance working with living).
Spruce^ki is made up of a small team of engineers, each responsible for all stages of the development lifecycle - from requirements analysis, through design, development and testing to deployment and operations.
We work in weekly sprints using Kanban, often wrapping up sprints and planning new ones via video chat. Everyone is in control of their own workload, and trusted to put their best work forward each sprint. Autonomy and self-motivation are highly valued here, as is teamwork, trust and a collaborative spirit.
While working in a small, tight-knit team is great, we still value regular visits to a co-working space to mix with other humans and extend our network.
Spruce^ki is a bit of a “Java shop”, but it’s less about the language and more about the stability and flexibility of the JVM and the Java EE standards. It allows us to build a solid foundation using established tooling, while possibly using non-standard frameworks for experimentation, all on the same platform. We’re not even adverse to trying non-JVM technologies where it makes sense.
We write software because we find it rewarding at all levels. From the challenge of solving complex design problems, to the simple satisfaction of delivering small improvements to our users’ day-to-day experience. We specialise in telecommunications because it presents many interesting challenges and opportunities for innovation.