The Intersection of Filmmaking and Software Design

Last modified date

Spark Forward is a series of essays about film and filmmaking.  It is part of Treepot Spark, a collection of initiatives aimed at igniting creativity and collaboration among creatives.

I recently crossed my 15-year mark in the film industry, a journey that began as a detour and became a defining thread of my professional life.

Backstory

Before my life in the world of film, I was a software engineer working with a consulting company in the US and Canada. It was a company with a very flat structure, where people with very specific skills were assembled to work on specific projects. We worked with aggressive timelines and resources were often shuffled around between assignments by design. You could, for example, lead a team, then turn around and be on a different team lead by one of your coworkers who previously took direction from you. It sometimes felt like being part of The Avengers where everyone had something unique to add to the team.  This approach to working is something that has shaped a lot of what followed.  

As comfortable as I was with being an engineer, a spinal injury in 2002 pushed me to experiment with filmmaking.  Making movies was a long-held passion that turned into a calling during my recovery.

A few years later, I took a pause from work to go back to college for broadcasting where I met many like-minded people.  Through working on film challenges and volunteering at festivals, it didn’t take very long to find my tribe.  Within this small group, we rotated through roles producing, directing, shooting and editing each other’s films. I didn’t see it at the time, but I was essentially mirroring the collaborative foundation I had been lucky to stumble into during my engineering career.

(bottom left) Recent broadcasting grads meet to discuss Treepot.tv in early July 2010. We launched our first episode on July 22, 2010. (top right) CBC Ottawa News did a story on us in August 2010.

In 2010 I founded Treepot Media and launched Treepot TV, an online sandbox to build our resumes and portfolios, while freelancing to stay afloat. We showcased and celebrated our creative work at community venues and public parks, at screenings I organized as the Treepot Film Festival.  This festival evolved into the Ottawa Canadian Film Festival (OCan), now a registered charity and Canadian Screen Awards-qualifying public film festival with a jury and annual screenings.

While all this was going on, realizing that passion alone won’t pay the bills, I stepped back into full-time work in broadcasting, joining CPAC in 2014. Through a range of roles, I eventually found myself back in the software engineering space as digital development lead. In that capacity, I helped re-architect CPAC’s streaming and publishing platform in 2021, collaborating with an international team of software developers and system integrators.

Viewing both software design and filmmaking from the intersection of those disciplines has given me valuable insights into both.  In particular, thinking like a filmmaker has helped to shift my engineering perspective from “How can we build this?” to “How will people experience this?” I have subsequently learned that this concept is closely related a discipline called Human-Centred Design & Engineering (HCDE).

System Architecture as Story Structure

Good system architecture involves reusable modules, layers and clearly defined data flows.  Similarly, an engaging film has a good story structure with acts, beats and narrative arcs.  Both disciplines often involve breaking a complex whole into self-contained parts, ensuring each part has a purpose and a clean boundary, while making transitions smooth so that your audience never feels lost.  In fact, when done well, I find that system architecture diagrams and functional designs can read like storyboards.

Film Editing is Iterative Refinement

In film, editing is largely about removing elements that don’t serve your story, just as good software architecture is concerned with removing what doesn’t serve the overall system or primary goals.  This iterative process gives you a clean, clear narrative in film, and leaner codebases with systems that feel intuitive for end users on websites and in apps.  It’s worth mentioning that it is sometimes necessary to be absolutely ruthless during this refinement process in both disciplines.  I have seen this done and the end-product has benefited from the cuts.

This is one of my favourite onset photos. I took this photo on the set of Jasmin et macarons, a film I co-produced. This is peak indie movie efficiency. The crew set up the shot and lighting as the actors rehearse, with the script supervisor tucked out of frame.

Directing and Technical Leadership

Directing a film means guiding a team of specialists in diverse areas of expertise towards a unified mission, very similar to leading an engineering team.  I often think back to the “teams of Avengers” from my early days in software engineering as I watch things work well or fall apart on film sets.  The main ways to achieve this successfully include communicating a vision, respect for each specialist’s craft, the ability to make decisions under uncertainty, often “rolling with it”, while keeping morale and momentum high.  In both filmmaking and engineering, this involves working to achieve buy-in from a number of stakeholders and pushing everyone to work at their best.

Consider Your Audience

Filmmakers obsess over how the audience feels at every moment of their film.  That instinct translates directly into good software design, whether it is constantly considering the user, anticipating confusion or friction, designing interfaces that flow like well-paced scenes, and prioritizing clarity over complexity.

Cinematic Constraints and Engineering Tradeoffs

Film production (especially independent production) teaches you to work with limited time, limited budget and imperfect conditions.  That mindset helps in engineering, when choosing between ideal architectures and practical delivery, managing scope and balancing trade-offs without losing the core vision.  Filmmakers are trained to be resourceful, which inherently makes them strong technical decision makers.

Emotional Intelligence and Team Culture

Film sets rely on trust, timing, and emotional awareness.  Engineering teams benefit from the same dynamics.  Working on a film set shows you the value of being calm under pressure, trains you to read team dynamics, to be sensitive to creative vs. technical personalities and to work within a collaborative, non-hierarchical mindset.  This is also something you learn very quickly on small software development teams.  You also see certain groups of people gravitate towards one another where the chemistry just works.  In cinema, there are plenty of examples of directors who work with the same cinematographer and editor, costume designers who work with the same art directors.

Conclusion

I remember a particular writing workshop at university.  A group of us were told to bring in our resumes with mostly retail experience through high school and were challenged to rewrite them focusing on reusable skills to help us land a first engineering job.  Turning “learned to make a hamburger a beautiful thing” into “good time management, ability to follow a plan and a skilled troubleshooter” was early training into banking reusable skills from all experiences because those skills can be handy in other situations.  My life at the intersection of two disciplines has taught me that thinking like a filmmaker can inform good software architecture, just as good design help craft an engaging story.

Jith Paul

Web Designer, Editor, Film Reviewer

Jith Paul is an independent filmmaker based in Ottawa. While pursuing a career as a software engineer, he decided to take a detour to follow his passion for film and filmmaking, establishing Treepot Media in 2010.

He is a co-founder of the Ottawa Canadian Film Festival, where he served on the board until 2024. He is currently the editor of the film613 blog.

When he is not busy fighting crime, he coordinates the efforts of an international team of software developers and service providers as the Team Lead for Digital Development at CPAC, the Cable Public Affairs Channel.

Follow Jith on letterboxd. More at jithpaul.com