
Software Engineer
Melbourne • Full-time (Hybrid)
About the job
About Us
Blackmagic Design is a well-established international company, headquartered in Melbourne, that creates innovative solutions for the television and film production industries. Our products are used globally by professionals working at the highest levels of content creation.
We are known for our commitment to engineering excellence, with a team of talented hardware and software engineers, experienced and approachable leadership, and a deep base of in-house intellectual property.
Overview of the Role
We are seeking a Software Engineer to join our growing team, with a strong focus on backend development using Node.js. You will be responsible for the design and implementation of backend infrastructure and architecture, working across client-side and server-side technologies in a UNIX-based environment. This role is ideal for someone who enjoys building robust systems and solving real-world engineering problems in a fast-paced, product-driven environment.
Education
- Degree in Computer Science or Software Engineering (or equivalent)
Experience
- 4+ years of relevant software development experience
- Minimum 2 years of commercial experience with Node.js (non-negotiable)
Required Technical Skills
- Significant development experience on UNIX/Linux/macOS platforms
- Strong understanding of software engineering best practices
- Significant experience with server-side web technologies (e.g. Node.js v10+)
- Experience with JavaScript and variations of it (e.g. TypeScript, modern frameworks)
- Experience with remote hosting platforms (e.g. AWS)
- Git version control
Highly Regarded Skills
- Experience with e-commerce platforms or projects
- Experience with nginx
- Experience with MySQL, MongoDB, or memcached
- Familiarity with CI/CD pipelines
- Exposure to React
Additional Information
In particular, we’re looking for examples where the work was more involved than just building an API in front of a database.
It would be great if you could share examples of:
- Backend systems you’ve built in Node.js that involved complex business logic beyond simple CRUD
- Any experience sequencing actions across multiple systems or services
- How you approached error handling and recovery paths in those situations
For context, the work we’re doing involves integrating with a payment gateway and orchestrating actions between several systems with rigorous error-path handling.
Looking forward to hearing about your experience.
