Careers

Software Engineer
(Desktop Apps)

Position based in Melbourne, Australia

Who we are

At Tiny Bright Things, our mission is to transform the way researchers and manufacturers see (and measure) tiny. Our patent-pending Halo microscopy platform enables imaging and measurement down to the nanoscale (smaller than a virus) at lightning speed, enabling whole new fields of discovery and supercharging manufacturing with real-time process insights. We develop optical hardware with embedded electronics that integrate tightly with our proprietary image acquisition/analysis software through a simple, modern user interface so that our customers can make groundbreaking insights with just a couple of clicks. Tiny Bright Things is an award-winning early stage startup backed by Uniseed venture capital (among others), with strong links to the University of Melbourne. Our customers are manufacturers with particulate characterisation needs (e.g. pharmaceuticals, agrichemicals) and laboratories/institutes with general imaging and measurement needs, particularly across nanotechnology and life sciences.

Where we work

We maintain a physical office in Melbourne (700 Swanston St, Carlton) but have a remote-friendly culture. We support flexible work patterns and remote work whenever possible, particularly to accommodate health needs or family obligations.

In this Software Engineering role, some aspects of product development require physical access to specialised hardware and/or lab equipment that may be easiest to support in-office; many of these access requirements are intermittent or apply only to a subset of application features, and so we anticipate a variable fraction of your time will need to be spent in-office (notionally 2-3 days/week in-office to start). We will work with you to find an optimal balance and schedule.

When we work

We believe that a healthy work-life balance makes people happier, more creative and more productive.

We offer 20 days of paid annual leave (in addition to public holidays) and strongly encourage you to use all of that time off. We support flexible working days and hours, with a cap on total weekly hours. We try to keep meetings to a minimum and use asynchronous communication (email, Slack) as much as possible. You can expect around one hour of reserved time per week for standup calls. We will always try to accommodate personal and family commitments, for example by encouraging individualised work patterns and by scheduling any meetings outside of common hours for e.g. childcare/school pickup times.

What is the role

You will be working in our software development team, which is responsible for feature-driven development of our flagship customer-facing application for image acquisition/analysis. Under the supervision of our VP of Software Engineering, you will work closely and be supported by an experienced Staff Engineer to develop an existing application from beta-testing through to commercial release (and beyond). In addition to maintaining and extending existing code in response to user feedback, you will develop new features and functions as we execute the larger technology roadmap for Tiny Bright Things; along the way, we’ll do our best to give you opportunities to build experience in the areas that interest you most (e.g. UI/UX, databases, embedded systems & firmware, deep learning, image processing). Ultimately, you will be expected to take ownership of implementing, maintaining and extending features for our flagship software product.

What you will do

  • (70%) Scoping and implementing features that empower our customers to generate beautiful images, exacting measurements and groundbreaking insights;
  • (20%) Address feedback from end-users and their organisations, to ensure we are addressing customer problems with compelling solutions;
  • (10%) Collaborating with others, you will continually learn and update your technical knowledge, and where appropriate communicate this to the wider team through internal information channels.

Who you are

Must have:

  • Be eligible to work in Australia
  • Experience in creating desktop software with attention to cross-platform compatibility, performance, and accessibility (a11y);
  • Experience with at least one OOP language (e.g. C++, Python, C#, Java);
  • Experience with at least one family of version control tools (e.g. Git/SVN, GitHub/Bitbucket);
  • Comfortable with automation, testing, deployment and analytics tooling;
  • Strong written-communication skills. We work in a remote-friendly, internationally distributed team, so written communication is important to us;
  • Track record of self-motivated learning, listening, creative problem solving, critical thinking and solutions communication. We are less interested in specific technologies and tools, and more interested in your attitude, learning speed and thought processes.

Nice to have:

  • Strong Python background;
  • Strong C++ background;
  • Experience with a range of procedural and object-oriented programming languages;
  • Experience with image processing/analysis;
  • Experience with CI/CD workflows;
  • Experience with Agile methodologies;
  • Track record of industry experience, including production systems;
  • Ability to deal with ambiguity and change while maintaining high standards of quality and attention to detail;
  • Familiarity with design or user experience (UX) principles;
  • Experience creating complex interactive UIs;
  • Experience with backend development technologies.

Bonus:

  • Track record of leading and mentoring junior software engineers;
  • Interest in optics and microscopy, digital cameras and machine vision, hardware interfaces, machine learning and inference models, and scientific research.

Technologies we use

For UI/UX development, we use Qt5/PyQt frameworks to create beautiful and responsive cross-platform graphical interfaces. For core application features and backend systems, we make extensive use of Python libraries such as NumPy/OpenCV, and incorporate a lot of C++ for performance-critical functions. Most application processing is local (and tightly integrated with our custom hardware), but may be complemented by some lightweight server-side state management and planned SaaS plugins. We deploy cross-platform, and support both x86 and ARM hardware (i.e. Apple). Everything we build aims to be (elegantly) simple and performant.

We are remote-friendly and support flexible work patterns, and so tend to drive our planning and execution through a mixture of Slack channels, web-based collaboration tools (Google Workspace) and GitHub issue tracking. When a short meeting is the best way to communicate, we generally use Slack huddles and try to keep things brief and useful.

Our benefits

  • Salary range of $100,000 to $140,000;
  • Employee stock options;
  • Remote-friendly equipment: MacBook Pro (or equiv.) & work-from-home IT allowance as required;
  • Flexible working hours with a cap on total weekly hours;
  • 4 weeks of paid annual leave (in addition to public holidays);
  • Generous parental and carer leave;
  • Support for remote work modes whenever possible;
  • Desk space in our Melbourne office (700 Swanston St, Carlton);
  • Opportunities for professional development (e.g. workshops, online courses);
  • Opportunities to present/attend technical conferences if desired and suitable.

Our hiring process

  • (30 mins) Introductory call with a co-founder. This is a chance to learn about Tiny Bright Things and to check that our plans align with your own. We want to get to know you.
  • (90 mins) Technical call with two Tiny Bright Things team members. We’ll give you an opportunity to talk through past development experiences, including taking us through some of your code. We want to learn more about how you think and solve problems!
  • (30 mins | Optional) Follow-up with additional Tiny Bright Things team members. You will meet your future team members and learn more about the role directly from us.

Our policy on equality, diversity and inclusion

Tiny Bright Things is committed to creating an environment where diversity is valued and everyone is treated fairly. We welcome and encourage applications from anyone who meets the specific criteria of this role regardless of age, disability, ethnicity, gender, marital or civil partnership status, pregnancy, parenthood, religion or belief, sex and sexual orientation. Reasonable adjustments to the interview process and role can also be made for any candidates living with a disability.

One last thing…

If you have a compelling interest in our mission and would like to propose a role that more closely matches your skill set, please get in touch.