Learning new skills

A wise man once told me and a classroom full of university students that we needed to take responsibility for our own learning.

At the time I thought that it was just his way of encouraging self motivation in our studies. We were all HND students and that bit of advice was preceded by reminding us that as HND students we should all know a little something about failure. He wasn’t trying to be mean, well not malicious, he was trying to remind us that the HND was a second chance and we shouldn’t blow it. He was also trying to be funny in his own very dry zany way.

Over the years I’ve slowly come to realise what he was really trying to tell me.

While working on a particularly challenging project written in a language I’m only still learning, on a platform I know nothing about and using an entirely new set of tools on which I’ve only been very very briefly trained, I came across a comment in a developers forum made by one of the many programming wizards that seem to frequent those forums. After giving his answer he wrote that ‘being a good developer is all about figuring stuff out. You search and experiment and ask questions or you’ll never learn anything.’ I’m summarising because I can’t find the original quote.

After I read this I thought about my time as a developer and exactly how correct this statement was. Not just in development but in working life.

My first year as a student I joined in with the other students in complaining about having been asked to do things about which I hadn’t been taught. It was an infuriating situation to be in, I didn’t feel like I was getting the support that I needed and I didn’t think it was fair. As it happens eventually taught myself what I needed to know anyway and just got on with it but all the frustration was needless and counter-productive. My second year I took a different approach and tried to be more proactive. After all this was obviously a fault with the school/teachers and I couldn’t change it so instead I was going to be more proactive and less whiney about it. Consequently my second went much smoother and I did a lot better, while it wasn’t any less stressful it was easier. My third year presented a whole new set of challenges but my attitude remained the same and I got through it alright in the end.

Now I’m here on placement and I again found myself in the position where I’m being asked to do things that I’ve not been taught and don’t feel ready for. As the work piles on and the pressure builds I was feeling increasingly under qualified and frustrated.

During a conversation with a former teacher of mine I mentioned that I didn’t know what I would have done without his help to which he replied in his uniquely ‘matter of fact’ manner. “You would have gone somewhere else.”

One of the most irritating things I hear people in the professional world says ‘I’ve not been trained on this’. It’s always annoyed me and I’ve only just come to realise why. It’s no different to a bunch of university students complaining to their teachers that they’ve not been taught something.

Taking responsibility for your own learning doesn’t mean that you should be a self starter and a go getter. It means that no one is going to hold your hand in the working world, or any world outside of high school for that matter, nor should they. Sure you might get the occasional single day training packing of questionable quality on certain things but ultimately you’re on your own in most aspects of your job and if you’re not, enjoy it because soon you will be. If you haven’t been trained, or taught, do it yourself. The resources are out there, if you can’t find them ask for help, if no one can help just figure it out yourself. You’d be surprise what you can learn by just taking a stab at it.

I look back at my first year at university and I cringe at the thought of having sat there moaning to the award leader about not having been taught MS access. All that wasted time and negativity could have been put to much better use.

Recently, I’ve been tasked to help with training some of the staff on Python. I don’t know Python or anything about it. So instead of complaining that I’ve not been trained I’m spending a that time learning it. If I need resources, I find them, if I can’t find them I find someone who can. Only a week later and I’m getting on great, I’m learning all sorts things about programming languages, so much so that I’m having a hard time picking which material to cover in my training.

So thank you Dave for your inspirational word, sorry it took so long. And thank you Trev for your help and guidance. I finally get it.

Shiny and new

Here I am with my brand new website. This website is going to be my new development blog as well as my test bed for a lot of the related web work and other experiments that I might want to do.

Why you ask? Because I started my placement this week and encountered an amount of web development that I don’t feel qualified for. With only a vague outline of what my new job might entail I have spent the last couple of weeks brushing up on my web acronyms, HTML PHP CSS DW WP and web design concepts. Without much to go on the review has been lazy and largely unproductive, then over the weekend I got the idea of creating my own website incorporating some of the tools that I knew I’d be using to help get myself back into the swing of things. I’ve been planning to set up my own website for some time now and this seems like the perfect excuse. So I made the decision and with the help of a friend go it set up. Now the more I look into the management of this website the more I realise just how much things have changed. I may be in over my head.

My web skills are rusty to say the least. I haven’t done any real web related work in twelve years, and even that couldn’t be considered anything close to professional. It was me setting up and maintaining an apache web server on a static IP that I had and my graphic artist roommate putting up 5mb flash animations. Then I used some of the management tools to monitor and hack the rest of my roommates. Good times.

So here goes nothing. I’m using WordPress to do the bulk of the design while I examine and rework some of the inner workings. Wish me luck

Summer is over

The summer break is over and I have little to show for it.

I started a game project using Unity3D in May. I did, what I thought, was a quick and simple design and got to work. Progress was very slow at first, learning the Unity engine meant multiple complete start overs. It was very frustrating but thankfully Unity is well documented and has a huge community so with a little persistence I was able to get the hang of it.

Around the end of June I started to get somewhere. I had playable elements of the game and the starts of a menu system and then two things happened, I started testing and my son finished school.

Every test I ran revealed some kind of problem, be it a bug or a design flaw or just a little tweek needed. Most of them were minor, some were less so. I started to work through it but my development time quickly dwindled away. When I did get some time the list continued to grow instead of shrink.

I haven’t touched the game in almost three weeks. I couldn’t bare the thought of embarking on another aspect with so little time left. So there my game sits for now, waiting to be completed. What it all boils down to is that I lost momentum on the project and now the project seems too big for me to pick up again. My schedule is now almost completely filled up and I have  a long way to go before I’ll be happy letting it see the light of day. On the bright side I now consider myself competent with Unity and Javascript. I’ve got a good feel for indie development and game development and how I can better approach it in the future.

I get asked a lot by prospective students if game development is hard and I’ve always just answered yes. It’s really hard, just about as hard as programming gets. One student took it a step further and asked me why. Well now I have a real answer. Even simple games quickly become big projects, there are that many systems, score keeping, artwork and animation, physics, levels, rules, etc… all working together, just keeping a track of it all is a challenge.