picture of a game programmer at work by Sergey Galyonkin

How to Hire Your First Programmer for Non-Techie People

Written by Zainab Al-Ansari on . Posted in Blog

Why I’m Writing This

A friend of mine is currently in the middle of hiring her first programmer for her new game studio, and I offered to help steer her towards a more suitable hire as I saw many startups struggle or downright fail after hiring the wrong person.

I decided to turn this into a blog post in case it helps someone else too.

But I must put a disclaimer: My professional development background is mainly web development, while my professional background in games development is negligible as of writing this article. As such I will be tackling this as a general programmer job, not specific to games development.

The Impact of Your First Hires

I’ve worked in multiple startups before and I can say with confidence that your first five hires will determine your entire company’s culture, or at least the development team’s, now and long after they’ve left the company.

So, before looking at their qualifications, look at their personality, and whether it fits with the culture you wish to develop.

For example: If you wish to nurture a culture with good life/work balance, then don’t hire any workaholics among your first five.

Your First Hire

Your first hire will most likely be your future team lead, assuming they stick around long enough.

For this person, they need to:

  • Work well in a team.
  • Be capable leaders (pushovers and tyrants not suitable to lead programmers).
  • Understand business, and experience working in a startup would be great too.
  • Have a high sense of integrity and work ethics (you don’t want someone who doesn’t care about the success of the team/company making important decisions or writing your game’s base code).
  • Love to help and teach (they will be doing lots of that to you and your other hires).
  • Be able to architect software well.
  • Be able to estimate how long a task will take reliably.
  • Be productive programmers.
  • Think of performance and other lower-level issues than simply coding.

What Questions To Ask in The Interview

You know best if the person you’re talking to will fit culturally with your company so I won’t touch on that here.

Instead, I’ll focus on the more technical questions to ask to determine those last 4 points I pointed out in the previous section.

Question #1: Show me your portfolio.

Simple: no previous work = no hire. You want someone with actual programming experience building published projects.

Preferably using the language(s)/tool(s) you’re hiring them to build in.

Question #2: Which code versioning tool do you use?

This is a trick question 😀 .

It doesn’t really matter which versioning tool they use, what matters is that they use one AT ALL.

Using one indicates that they care about their productivity (or worked with one who does, anyway).

Which tool to use depends on the project and learning new ones doesn’t take too long, roughly 15~30mins a day for one work week is enough.

Question #3: How do you document your code?

Code documentation can be done in many ways, most important are code comments.

But other forms of documentation can be necessary too depending on the project.

If they don’t write comments, don’t hire them. This should be a minimum requirement for any hire.

If they write bad undocumented code really fast they will be suitable only for building prototypes and other throwaway code.

Question #4: How do you plan and organize your projects’ code?

There’s no right or wrong answer to this question, because it will depend on the project.

The important thing is that they do have an answer.

If they stumble and stutter and are generally unable to answer this question, it means they’re not suitable as a first hire.

This refers to their ability to architect software well.

But note that simply thinking about how to organize a project is very basic and minimal, and not an indication of a capable developer.

Question #5: Which software design patterns have you used in the past?

This is a fun one :D.

I expect most to fail this question (at least here in Bahrain).

If they have used any design patterns in the past, then that indicates they’ve delved deeper into the realm of programming and software development than most around here.

If they haven’t, then they should at the very least know what a software design pattern is, be aware of them and be interested in using them in the future.

Question #6: How do you debug a problem?

They should be able to explain to you their debugging process step-by-step (Hint: Googling or asking for help should come last).

If their favorite “debugger” is Google they’re not skilled enough for this position.

Question #7: Have you followed TDD or a similar development process before? If yes, which? If not, why?

Test-Driven Development is a technique used in software development to maintain quality and make sure requirements are met in an efficient manner.

Similarly to previous questions, the actual process they like to use isn’t that important (I won’t advocate TDD over other processes, as the best depends on the project/team).

The important thing is they should employ some formal process in their development, whether it’s an internationally standardized one like TDD or something they came up with themselves.

Question #8: Do you use the same programming standards/best practices across your projects? If yes/no, why?

This is basic and if they don’t follow any standards at all they’re not a good hire, not as your first or your last.

Following standards is a very simple indication on whether they write clean code or not.

It’s also important for the team’s overall productivity, as using the same naming conventions, folder structure, etc allows team members to work well together.

Making up their own standards is ok, as is the case with development processes it doesn’t matter too much which they prefer.

Advice Going Forward

If you noticed from the questions I posted above, they all pretty much ask of the interviewee’s workflow and the way they think as a programmer, not their actual problem-solving skills.

This is important: problem-solving can always be built up through practice, as is the knowledge about a given tool or language, but workflow and thinking like a programmer takes years to develop and if they don’t have them already, they won’t develop them anytime soon.

For testing actual development skills, I would recommend a practical test in case they pass the first interview.

You should ask a senior programmer whom you know and trust to check on their code, otherwise you’ll be stuck simply checking if it works and that’s not really good enough.

PS: If you have hired a programmer already you should definitely have them interview with you. They should at the very least be able to indicate if the interviewee is better or worse than they are.

This concludes this guide and hopefully you benefit from it.

If you have any questions or concerns please comment below.

Thank you for reading! 🙂 .

Monthly Reflection #13 – My First GDC & Year As An Indie

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

Finishing my first year as a full-time indie, participating in Train Jam 2019, attending my first GDC, connecting with other community organizers from around the world and starting a new project.

My First Game Developers Conference

GDC was huge, I never seen so many game developers in one place before! It was both exhilarating and overwhelming at the same time.

The trip was very exhausting, especially coming in from across the world (20hrs going, 25hrs coming back x.x) but was very much worth it.

I don’t see the value of going every year even if I could afford to, but I would certainly benefit from attending at least every 2-3 years.

While there, I took the Storytelling Fundamentals in A Day workshop by ex-telltale narrative designer Evan Skolnick which left me feeling confident in writing stories for my own games.

I’m obviously no expert, but the level of knowledge presented in this 1-day workshop is so far above anything we have access to here in Bahrain I decided to “redo” the workshop for my local community.

I won’t be as good as the real deal but it would still be better than what we currently have (which is close to nothing).

Storytelling Fundamentals workshop @GDC19

Other than talks and workshops, I’ve attended the Community Organizers roundtable and met other organizers that would like to learn from and share with each other tips and tricks into managing our local communities.

I’ve also met a few indies that would like to collaborate in the future.

So, from the list of 5 things I wished to accomplish in GDC19, I managed to achieve 3 of them, not too shabby but not all I hoped for either.

However, I can get in contact with publishers online and I have a person in mind that would be awesome as a mentor, I’ll get in touch with him and hopefully will take me in.

What’s Next: ?

There’s quite a bit I wish to do and currently in the process of reevaluating my plan of action, so I don’t have a “next step” just yet.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below 🙂 .

Monthly Reflection #12 – Getting Ready!

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

Scheduling GDC & setting up meetings, redefining my brand and dealing with a health issue.

Against Sahara – Current Status

I’ve postponed further work on Against Sahara this month as I get ready for GDC.

Planning My First GDC

What I wish to accomplish during this trip is:

  1. Network with other indies and start dialog for collaboration between Bahraini indies and indies from other nations.
  2. Determine publisher interests in our region and establish connections with indie-friendly publishers.
  3. Level up my game dev skills through hands-on workshops at GDC.
  4. (Potentially) find a mentor that can help me grow faster and steer me in the right direction.
  5. Network with other community organizers, especially from emerging markets that share our struggles, to start collaborating and sharing knowledge on what works and what doesn’t to help each other build our local game industries.

I have been in contact with several people to meet up there, and also planning to attend a couple of round tables to meet indies from developing countries.

Focusing Z’s Laboratories Brand

Chose sky blue and dark grey as the main brand colors, with orange as an accent color. These colors meant to give the image of freedom, trust, practicality and creativity. Along with the recoloring, I redesigned my business cards to better represent what I do.

Something that people seem to do at GDC is write notes on people’s business card about who they were and what they talked about to remember them (since they’ll be meeting hundreds there!) which drove me to make a simple back without clutter and the sky blue color instead of dark grey so they can write on it.

Taking Care of my Health

I haven’t been able to do much the past month while going back and forth to the doctor’s with a problem in my left ear, but thank God it’s healing and is due course to (hopefully) be cured before my trip.

What’s Next: Train Jamming & GDC!

Next week is my trip-of-a-lifetime and will be my whole focus to take advantage of it as much as possible.

I will document the events with as much detail as possible to help those who couldn’t go to benefit as well. Follow me on Instagram @ZsLaboratories to watch my stories of the events!.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below 🙂 .

Pillow Fight screenshot

Monthly Reflection #11 – Focusing my Path

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

Looking for publishers, getting ready for US trip, restructuring Z’s Laboratories and making a GGJ game.

Against Sahara – Current Status

I’ve been researching board game publication options, and I am leaning towards self-publishing the game instead of signing up with a publisher.

Apparently, in the tabletop world the best royalty you could hope for is 6% (they go between 3% to 6%) on a game that’s likely to sell around 1000 copies for 10~20 U$ dollars, and it’s going to be taxed to boot…

I wouldn’t even recoup my living expenses with that kind of numbers, let alone hope to build a business around that!.

However, I still wish to sign up with a publisher if I can get one. I am seriously considering becoming a tabletop publisher myself for Bahraini game designers, as that will help speed up the rise of the local industry, and I’ll learn much faster by working with an established publisher on a game first.

Although, most publishers I found want casual party or family games, so I might design a simple one and pitch that instead while leaving Against Sahara to self-publish.

Preparing for Train Jam & GDC 2019

Got everything ready for the trip ahead, from bookings to flights to scheduling my GDC trip.

Re-imagining the Z’s Laboratories Website

If you’ve been reading my blog for awhile you might’ve noticed some stuff disappearing or moving.

I’ve been contemplating a lot on what I really want to do with Z’s Laboratories, and made the current changes to reflect on my decision to specialize into solo game dev.

This means that any article or advice I post will assume my reader is another solo dev, and any learning materials I create will be for someone who needs to learn it all from scratch, although I would be naturally more into the programming side of things as I’m first and foremost an engineer.

Global Game Jam 2019

I had originally planned to skip the GGJ this year, but I’m too much of a jammaholic and couldn’t help myself 😆.

You can check out my GGJ19 game by clicking here.

What’s Next: Getting a Mentor

I’m looking to get an experienced game designer and a strong UE4 programmer as mentors. The hope is to learn much faster than I currently am, and they can help steer me in the right direction without me having to look for my way in the dark.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below 🙂 .

Monthly Reflection #10 – Heading Off to the New Year

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

Studying, researching, getting US VISA and organizing local game devs 6th anniversary meetup.

Against Sahara – Current Status

I decided to turn Against Sahara into a physical tabletop card game instead of digital, and now preparing a clean prototype to pitch to a tabletop games publisher.

Study & Research

I’ve been reading indie game postmortems while focusing on first timers, to avoid their mistakes, and completed the UE4 udemy course How To Develop Your First Two Games, which I highly recommend for anyone starting out UE4.

Recommended YouTube channels (in no particular order):

Atmos Games

Ask GameDev

Game Maker’s Toolkit

Extra Credits

Matthew Palaje (UE4)

The USA B1/B2 VISA

After going thru the hell that is the US VISA application, my visa was thankfully approved.

So, it’s final, if God wills I’m heading off to USA next March and participating in Train Jam and GDC 2019!.

Local Game Devs Community’s 6th Anniversary

To commemorate 6 years of community, I decided to do a 6th year special event where we celebrate where we’ve come, and reflect on how we’re currently doing to improve going forward.

Agenda included: cake, 6 years of photos and videos and a discussion of problems to solve for next year.

I ran a survey prior to the meetup asking for feedback about the community, you can read the summary results here by clicking here.

What’s Next: Getting Published

Now that I’ve learned all I can from others at this point; and feel confident about my current skill sets; going forward I will be focusing entirely on Against Sahara and getting it published.

One advice that successful indies keep repeating is to get published, at least for our first couple of games.

The idea is when we’re first starting our fan base is non-existent, which makes having a commercial success extremely difficult to achieve.

Other than helping us stand out, a good publisher would also teach us the ropes and help us up our game.

Just be careful of which publisher to partner with, and do your research about them.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below 🙂 .

Monthly Reflection #9 – Refocusing on UE4 and Going to USA

Written by Zainab Al-Ansari on . Posted in Reflections

Every last working day of the current month I publish a report reflecting on the previous month. These reflections exist to demonstrate my progress, share my experiences and help transfer what I learn to others.

The Past Month

This November I took time off to prepare for the Bahrain Game Jam 2018, simplified my schedule, tapped into my investments to refocus on learning UE4 and applied for Train Jam 2019’s diversity program.

I’m writing this reflection a bit late because of the game jam ending on 1st of December, and the subsequent chaos that I needed to clear up first.

Against Sahara – Current Status

Didn’t work on the game this month, and have decided to postpone development for awhile and fully focus on simply learning UE4.

I needed to do this move sooner but what stopped me is my lack of cash savings which would’ve lasted me a couple more months at most.

But since then, I decided to cash in my stocks and bonds.

This will cover another year of living expenses, and allow me to focus on improving my UE4 skills and wait on releasing a game just yet.

Learning UE4 – Going Deeper

I have spent this past month mostly reworking my UE4 workflow and upgrading my UE4 development skills.

The difference showed in my Bahrain Game Jam 2018 (BGJ18)’s entry, where if you compare to my previous solo jam entries the upgrade in production values is quite clear.

This is a gameplay video of my BGJ18 solo entry from end of November:

This is a screenshot of my Global Game Jam 2018 solo entry from January:

You can download both and play them to see the difference from here:

Simplifying my Schedule

I’ve decided to let go of “gym day”, and instead start the week every Sunday by studying the business side of things and doing research, while the rest of the week to be spent on whatever project am working on, whether a learning project or a commercial game.

Instead, I’m now doing shorter, more-intense bursts of exercise throughout the day, everyday and don’t count it towards my work schedule.

Applying to Train Jam 2019’s Diversity Program

A couple of weeks ago I saw the application for Train Jam’s diversity program just 2 hours before deadline, and signed up straight away.

The team behind the initiative have accepted me into the program, am going to Chicago and San Francisco on March 2019 if God wills it.

Two of the most difficult aspects of game development in Bahrain and in the region in general, is the severe lack of quality education and access to experienced devs and game publishers or game investors.

Participating in Train Jam as well as attending the Game Developer’s Conference will give me access to all of these!.

Needless to say I’m very excited, and grateful for the opportunity as the game developers community in Bahrain has been trying, and unfortunately failing, to kick-start an industry here and go beyond hobby projects for 6 years and counting, but this might finally be the catalyst towards a real industry here (hopefully).

What’s Next: Going More Advanced in UE4

I’m working on a small 3rd person survival game and plan on working on it throughout December, while going back to Against Sahara afterwards.

This ends this month’s report, hope you enjoyed and if you have any feedback please comment below 🙂 .

About Z’s Laboratories

Subscribe to my Newsletter

Required *