Game Career Guide is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Get the latest Education e-news
  • Co-Opportunity: Lessons Learned Working Full-Time

    - Jake Carfagno
  • First, I need to apologize for the title, but as I always say, I put the "pun" in "punk". I am a student at Drexel University in Philadelphia, PA, a university that places a great emphasis on experiential learning. Through their Close School of Entrepreneurship, I received the opportunity to work full-time on my own company for six months, receiving funding, office space, and mentorship.

    With the conclusion of this co-op at the end of March, I'm here to reflect on what I set out to accomplish with six months to dedicate to Burning Sky Games and what I learned from it all. In Part 1, I focused on the specific goals of the co-op, which is most relevant to the game we are creating. If you're interested, you can read it here. This article is meant to be more helpful to a general audience. Now, let's get to the meat of it.

    1. Prioritize "multithreading" when possible.

    I'm borrowing a term from computer architecture here. The computer's processor (a little chip that I like to think of as its brain) is responsible for the bulk of the computer's "thinking," and each train of thought is a "thread." Modern processors have multiple of something called "cores", and you can think of the group of cores as a team all working to get done a project. For us, some tasks are pretty hard to divide among a group (like writing this blog), and the same goes for computers. When that's the case, one person (or core) just has to power through it on their own. But projects usually require a lot of unrelated tasks, and so it's possible to assign them to different people and have them all do their jobs simultaneously. But it all starts with that initial assignment.

    In computers, we call this division of tasks "multithreading", and the opposite - a single core doing all the work - is "single-threading." Usually, we prefer multithreading over single-threading, with the exception being when the task is so minute that it's quicker to do it alone than to break it up into chunks, have everyone do their individual parts, and then bring it all back together at the end. To put it into more human terms, single-threading is better when it'll take longer to communicate and coordinate with others than to just power through it yourself. Game development is hard, so at large, multithreading is better, even with the extra effort that goes into working with a team.

    So, the lesson I learned over co-op is to always put my leadership responsibilities before anything else. By sending emails and Slack messages, assigning tasks on Trello, and doing anything else to delegate to others, I enable them to get their work done while I work on my own stuff. This is much more efficient than single-threading it because there's always more for people to do, and staying on top of things as a leader will set the path for the whole team.

    Image courtesy Drexel University

    2. Help your team help you.

    Communication is the most important and most challenging part of any group effort. It's easy to get distracted by what you need to do and forget what others need to do for you. This point will go hand-in-hand with the first, but make sure you give everyone direction. As a leader, this comes in the form of delegation. Assign clear objectives to each person and make sure they understand how to achieve those goals. As a team member, let people know when you need something from them. It could be just a simple question, or you might be blocked by someone else's work - that is, your work requires someone else to do something first. The sooner you speak up about roadblocks, the sooner your whole team can work together to get around them. But it all starts with you.

    3. Talk to your team.

    The first step to this is to set up clear channels of communication. You can use Slack, Discord, Facebook Messenger, or even just texting as long as it works for your team's needs. Personally, I'd suggest either Slack or Discord, though there are some other options I've heard work well too like Twist. What's important is that you all are using it. Set up expectations, like that everyone should check at least once a day and respond to messages within 24 hours. Another thing my team does is to have weekly meetings to discuss a specific topic, and in between those meetings, one day is designated as a check-in day. On that day, we all post a message in our check-ins channel on Slack with what we've been up to that week and what we're working on for the rest of the week. It takes maybe 5 minutes per person and gives more transparency to what everyone's doing. It also forces communication, which can help with the earlier points.


comments powered by Disqus