Acorn Heroes

Thoughts for my younger self

by on Apr.11, 2011, under Uncategorized

At a mobile devs meetup this week, it became apparent that I’m now one of the old guard.  I’ve always been someone who enjoys passing on useful information to others.  Teaching a game design course for University students also makes me realise how much they have to learn, how much I take for granted after 15 or so years in the industry.

Guard advance l

If I had the chance, what would I tell my younger self?  What has worked out well for me and what would I do differently?  Here’s a few of the things I came up with.  What would you add?

Failure is not the thing to be afraid of

Some of the world’s most successful people have had massive, public failures – but it hasn’t stopped them.  Yes failure is painful and embarrassing.  But it’s also a great teacher, making us wiser and stronger.  Perhaps more importantly though, if we never fail, then we’re not taking any risks.  Tackling challenges that may be too much for you are where we get a chance to excel and surprise ourself and others.

Always have a backup plan

I have spent many years working in live television, covering sports events.  It was not uncommon to be adding new features to the software on site the night before the event.  I’ve arrived in foreign countries with broken computers.  I’ve turned up at events and lost a day because no one knew we were coming and so we had no space to work, no power to work with.  I’ve had machines die at 2am the day before we’re live.  This teaches you a few of things:

  1. Some deadlines simply can not move, so you must be adaptable.
  2. Always have a backup option.  You may not get as much done as you hoped.
  3. Worry early so that you don’t have to panic late.

Plan your work to try and deliver in an iterative fashion.  Planning to deliver everything at once, on deadline is just plain stupid.  Working without source control is just plain stupid.

There is no better time than now

It’s taken me far too many years to realise that my dream is to work for myself, on the projects I want to work on.  I’ve learnt a lot working for other people and I enjoy being part of a team.  But after a while the urge to show the world what you can do, to craft something that’s all yours becomes very strong.

My point is this.  It’s hard to do that once you have a mortgage and a family (and a dog, cat, rabbit, guinea pigs, chickens and goldfish).  When you’re young you have a great opportunity to move quickly and try things out.  Also, we live in an age where it’s never been easier to get your product in front of customers – make the most of it.

You will be wrong, often

There’s no shame in being wrong.  It happens.  Accept that it happens and move on.  Keep your ego in check and always keep in mind that the people you work with probably aren’t stupid either.   Often arguments are caused because two people are so caught up in their own opinion that they forget they’re on the same team, trying to achieve the same goal.

Mistakes will happen and you don’t always make the best choices.  Learn to prototype ideas quickly.  Learn to leave a buffer in a project plan to handle the unexpected.  Tackle the biggest challenges first to avoid surprises.

Always learn more

Learn new languages, frameworks and techniques.  Read iDevBlogADay and altDevBlogADay!  Challenge yourself not to stagnate.  If you find yourself criticising another platform, maybe it’s time to dive in and learn more about it.  One thing I can promise you is that the work environment and tools you use today won’t be the ones you use in 10 or 20 years.  Don’t end up a dinosaur.

There are difficult or petty people in this world – deal with it

Working with others is hard.  It’s at least as hard as the technical challenges you deal with, so put some effort into being good at it.  Working so-operatively is a skill you can develop.  Some people are harder to work with than others.  You might be That Guy.  Learn how to communicate clearly and without letting your emotions get in the way.  Work on solutions, not problems.  Be polite and always treat people with respect – especially the difficult ones.  You never know whio you’ll be working with or depending on in a couple of years.  Life is funny that way.

There’s no silver bullet here, it’s hard work but the effort will pay off, I promise you.

You are so much more than a coder

This is the big one.  Don’t believe that you’re just the tech guy.  Get out of your ivory tower and learn about what your colleagues do.  Know enough about Photoshop to take images from artists and get them into a usable form.  Understand how artists build models so that you can teach them (in their own terms) what can and can’t be done inside a game engine.  Talk to designers about flow and layout, and why moving that text two pixels to the left is so important.

Understand enough about business to know the effort that goes into giving you a pay cheque each fortnight.  Practice estimating tasks and tracking time spent to better understand what you can or can’t achieve in a given time frame.  Write documentation or reports to share knowledge with clients or customers.  Write a blog!  Speak in public.

Not only will this make you a better person, but others will enjoy working with you and helping you out when needed.  And when you make that transition to management, or all-in-one Indie developer, you’ll be much better prepared.

And one more thing…

Enjoy yourself.  Work hard and treat difficult problems as a fun challenge to crack.  Only boring people get bored.

Related posts:

  1. Thoughts and Plans for the New Year
:,

Leave a Reply