Posted 05 September 2017
Interview by Indi Davies

From child maths genius to developer at motion-design studio Mainframe, meet Martin Vejdarski

Describing himself as the kid who was forever winning maths competitions, Martin Vejdarski’s interest in numerical formulas and the possibilities for technology started early. He was still in school when he began to teach himself code, going on to study Computer Science at the University of Manchester. In his first role since graduating, Martin now works as a developer for motion design and VFX studio Mainframe. Updating and tweaking software created in-house, he’s responsible for enabling the animators to produce the best-possible motion graphics for every project. Having always found the field of 3D imagery fascinating, he’s been able to apply his skills to an area he’s passionate about, balancing technical details and creativity in equal measure.

Martin at work

Martin Vejdarski


Job Title

Developer at Mainframe North (May 2016–present)

Based

Manchester

Education

Computer Science at University of Manchester (2015–2017)

Website

py.run

Social Media

twitter.com/extrulm

Day-to-Day

How would you describe your job?
I’m a developer. My job is centred around the development of the MASH and Type plugins, which have become an integral part of Autodesk Maya [computer animation, modelling and rendering software]. We come up with exciting new ways to expand their features and make sure the user experience is intuitive and easy to use. It’s an incredibly satisfying blend of creativity and problem solving.

What does an average working day look like?
It usually takes me about 30 to 40 minutes to get to work. Normal working hours are from 9.15am to 5.45pm. We use GitHub and JIRA to organise our time and projects. This is mostly based on Agile development, Scrum tables and the like. I love what I do and I find it incredibly exciting, so every day is full of new ideas, new ways to tackle problems and, of course, new solutions

How did you land your current job?
I heard about the position from a recruiter. I got really excited because I had done some Maya animations in my early high school years and I find the field of 3D mesmerising. When I got to the interview, I found out just how creative and full of opportunities the role was. I knew I would love it, and I do.

“There’s a lot of collaboration between the development and the creative side; we get to see our tools get used as we build them.”

Where does the majority of your work take place?
The majority of the work happens in the Mainframe North office. It’s very cosy, with an exposed brick interior, and is great for collaboration between everyone.

How collaborative is your role?
Very – it allows for an incredible amount of creative expression, which I treasure. There’s a lot of collaboration between the development and the creative side, as we get to see our tools get used as we build them as part of a very unique workflow.

What are the most and least enjoyable aspects of your job?
The most enjoyable aspects are coming up with new ideas and finding ways to solve difficult development problems or use-case scenarios. Some problems can be quite complex at times, but that just means that the mental reward is greater.

What has been the most exciting project of the last twelve months?
I like to think of our projects as interconnected – everything we work on is one big project that keeps getting better and better. We always find ways to improve things by mixing and drawing from every project.

Introduction to Maya, 2016
Chris and Ian present Maya’s new features, 2016

What skills are essential to your job?
Problem solving, coding, team work, knowing software architecture design and principles, focus on usability and UX, understanding of all levels of program execution and abstraction, and code management.

I also constantly research new tech breakthroughs, think about creative ideas and while there is a lot I don’t know yet, I try to learn and expand my perspective and skills each and every day.

Would you say your work allows for a good life-work balance?
I love my work, as it allows me to express myself, ans I’m able to be more creative and productive the more I develop, and that makes me happy.

Tools (What tools do you use most for your work?)
I use an iMac (Retina 5K, 27-inch), Sublime Text 3, Xcode IDE, Autodesk Maya, Slack, Gmail, GSuite, GitHub, JIRA (for team communication and organisation). I also use Python, C++, Javascript coding languages. Plus Simplenote for note taking.

In the studio
Martin at work
Inside the studio

How I Got Here

What did you want to be growing up?
Thinking back, I always wanted to be able to create things with technology, even from a very early age. I started off as that kid who would always win every maths competition in town, and even some at a national level. In parallel to that, I picked up programming fairly early, which became my life’s passion and, not long after, my career choice.

How (if at all) is the subject you studied useful to your current role?
The thing I found most useful was learning low-level computer architecture and computer engineering, as I constantly find myself considering it, especially when trying to optimise high-performance algorithms. I believe it has made me a better developer in general.

What were your first jobs?
Not taking into account any self-initiated projects, this is my first position as a software developer.

Was there anything in particular that helped you at the start of your career?
When I first got into programming, I started building websites. At some point after that, I decided to try 3D animations with 3ds Max and Maya, which I also enjoyed, but found that I was much more productive on my programming side. When I started high school, I learned Java and made a group chat tool for desktop, which was able to send messages, files and emoticons. I consider that my first development project, which was followed by publishing an iOS app and making a product from beginning to end, which thought me a lot about development as a whole. The next big step was landing my current position at Mainframe and all the amazing things I’ve been able to work on since then.

“I always wanted to be able to create things with technology, even from a very early age. I was that kid who would always win every maths competition in town.”

A still from a MASH tutorial
A still from a MASH tutorial
‘For Approval’, Mainframe’s self-initiated video work, created between projects

What skills have you learnt along the way?
In middle school I started off with a very basic understanding of programming. I knew how to write some code to make something work, but that was just the beginning. Later on I learned about object-oriented programming, writing clean and structured code, learned to use the Terminal and BASH (and never looked back). I learned about Version Control, algorithms, complexity, build environments, computer engineering and architecture. I explored different programming languages and built different projects to get more familiar with their peculiarities, learned about important software engineering workflows such as Agile, Scrum, test driven development, continuous integration, Unified Modelling Language, Design Patterns and many more.

What’s been your biggest challenge?
The field of software development is constantly evolving and changing; one of the biggest challenges is keeping up to date and regularly expanding your skill set. I’m always challenging myself to continue to improve.

Is your job what you thought it would be?
During my interview at Mainframe, I really got excited about the position and felt like it was an incredible opportunity, but I didn’t know that I was going to be able to express my creativity to this extent, and be able to work with so many passionate and amazing people.

“Being a beginner is the best state of mind for learning.”

Martin with Mainframe North’s MD Chris Hardcastle

Words of Wisdom

What advice would you give to a young creative wanting to become a software developer?
In the words of Steve Jobs: “Stay hungry, Stay foolish.” Always try to learn more, explore, experiment with everything you learn – and practice, practice, practice. You’ll find yourself horrified looking at code you’ve written a while ago, but that only means you’ve improved, and that only happens with practice. And in addition to practice, read. There are decades-worth of experience sitting in books, and read other people’s code as well. There are tons of open-source projects and spending time to understand the code behind them will definitely pay off in the long run. Having said that, stay hungry and always explore and keep searching for things to keep you excited and passionate. The moment you feel like you know a lot, try to learn or read something new. Chances are there is a massive area you haven’t explored yet, which will make you a beginner again, and being a beginner is the best state of mind to learn.


This article is part of a feature on Mainframe.

Interview by Indi Davies
Photography by Tim Sinclair
Mention Mainframe
Mention Ian Waters
Mention Jack Brown
Mention Martin Vejdarski