10 tips for new software developers

So what is a software developer?  Well at least for the foreseeable future it’s me.  Yep, I made the decision to take on the new challenge of becoming a software developer so no more manual testing.  I’ve spent five years building up a wealth of experience from manual and automation to games and web based product testing.   So I think it’s time for a change.

So what do I do now?  

At the company I currently work, there are software developers (covering a number of teams and specialisms) and there are web developers.  Software developers handle the backend and server side of the web systems while web developers specialise in the front-end design of the web products.  I’ll be working as the former and there’s a ton of new tools, tech and languages that I have to grasp in order to be any good at my job.  Luckily there’s a couple of others making similar transitions so we can all learn at the same time.  

As I make this transition I’m struggling to remember anything useful that I can apply from my days at university to my current situation.  Unfortunately most of the languages and software that were taught to me have been surpassed by newer ones.  So it’s back to basics for me.

After scouring Google I’ve found this article 10 tips to go from a beginner to an intermediate developer suitable for anyone also beginning a role as a software developer.

I’m going to be consuming a lot of information at least over the next year so I’ll try and share what I feel is useful to those in the same situation.

7 ways to change your habits to achieve your goals

After listening to episode #71 episode on the RED podcast I came up with this short list of actionable tasks that I was going to try and adhere to in order to change my habits to gain more time, focus my attention and achieve my daily tasks to help me reach my long term goals.

In no particular order here’s the points that I thought were most useful.

Continue to challenge yourself

Working within any area of technology means that you constantly need to be learning and reading up on the latest updates in and around your field. Use this knowledge to continually challenge yourself by trying to use the latest technology within a small project. This give you a good idea of whether this tech could be used within your projects to benefit you in the long term.

And don’t just stick to your strengths. Try and implement new tech that’s completely out of your comfort zone. If after, you realise that this wasn’t a good fit, just think of how much knowledge you’ve gained reading up and implementing it. This will always be a valuable use of your time.

Watch your money

Keeping an eye on your cash flow is extremely important in small businesses. You more than likely won’t be able to afford an accountant within the early stages of your business so you need to discipline yourself with your spending and get into the habit of recording everything clearly and routinely so that when you have to file your financial details at the end of the tax year the task will be as painless as possible.

Have goals

How can you know where you’re going if you don’t have any goals?  Think of where you want to be in one, five or ten years.  No matter how big you think your goals are write them down.

Use lists to work towards goals

Yes, you may have huge goals that you think are unobtainable at first, but by breaking down your goals into smaller achievable tasks you will find that your goals are easier to get your head around.  And by chipping away at them in bitesize chunks, you will slowly see that your goals are a lot closer than you think. Start first by splitting your goals into years, then split the first year into months then the first three months into weeks. Finally you should be able to generate a daily tasks list.

Having short term lists for daily and monthly tasks will keep you on track to achieving your long term goals no matter how far into the future they may seem.

Work in order of importance 

If you get the most important tasks done first and earlier in the day you’ll feel better, like a weight has been lifted and will be more inclined to complete the remaining tasks.  So list your tasks in order of importance. You may find that this allows you to more time in the day to relax.

Go to sleep early/on time

As I commute 4 hours a day I need a decent amount of sleep.  And although I try and make sure I don’t go to bed past 11, I still have a problem with winding down. My brain doesn’t switch off when I jump into bed so it takes me a long time to fall asleep. If you’re like me, try and start to prepare for bed an hour before so that once you get into the covers you’ve dispelled some of the thoughts about daily tasks or challenges that you need to face the next day. Enjoy your sleep.

Drop TV

This is something that I will personally struggle (and probably fail at) as I watch a lot of TV series with my husband and by myself while working on my projects.  It’s something that I really enjoy and is a hobby that my partner and I spend doing together. So while I’ll attempt to focus more on the other points, I don’t think I’ll be able to adopt this good habit.  Be better than me and drop TV to achieve your goals. 

To listen to the full episode go to the RED podcast – Episode 71.

Entrepreneur podcasts

For those who want some advice from people who have made the leap to being a full time entrepreneur, the people on these podcasts have the experience and can help you along the way though your journey.  Or, if you just want something interesting to listen to on your commutes they’re not bad for this either. With the scheduled hiatus on the App Business Podcast I thought this was good time to share this list.

If you listen to any additional podcasts about entrepreneurship or developing a business with mobile that you think could be useful to others and is interesting why not share a link in the comments section.

Ask Me Anything!

I’ve learned a lot over the last 2 years. I’ve released my first app to the App Store and Play Store and have also gained a great deal about developing with Unity. Besides this I am an experienced Test Engineer knowledgeable in TDD, BDD and automation testing of web sites.

Recently I’ve also been working on my web development skills learning how to create ASP.NET MVC sites so that I’m confident designing and developing websites.

Over the last year I have been actively trying to create the foundations of a sustainable business so I’ve read numerous blogs and eBooks as well as listening to tens of hours of podcasts. 

I want to share this information with as many people as I can so I want to encourage anyone who has questions about developing their first app, using Unity 3D, starting a business or website development to contact me. For those short questions, feel free to fire them at me via Twitter @kayleigholiver or if you have a more detailed question you can send me an email to kayleigh@takeinitiative.co.uk.  But, if you prefer to have a real conversation, you can get hold of me on Skype using the name kmari1985.

EGX 2014 and Goal Setting

I’m a very goal orientated person. I work best when I know what I’m working towards. I can make plans and prepare. My focus is channelled towards achieving that task. I believe that everyone should have goals, even if very loose ones.

I like to divide my goals into three: short term, medium term and long term. I like to keep these goals somewhere I see them everyday so I know where I’m heading and what I’m working towards.My short term goals are listed on the Colour Note app on my phone. Here I write down daily tasks. Pinned to my notification bar, I can always see it. My medium tasks are monthly ones. These are created from my long term goals which have been broken up so that I can digest the load into manageable chunks but also produce something every month so that can see progression and have something to show for it. These are usually blu-tacked to my bedroom wall next to my long term goals. My long term goals are very high level but precise so that they are measurable, simple but accurate. Going to EGX made me realise how much I want to achieve my long term goals and has motivated me to keep pushing forward.

EGX 2014

The last time I admittedly went to EGX (then known as Eurogamer) was about 4 years ago. The exhibition hall was the smaller venue around the back so gamers seemed to have to go in through the “back way” like some dirty little secret. The show floor was only on the single level and there were vast amounts of open space. So when I went this year I was shocked.  The venue had moved to the larger double-floored hall where the entrance was at the front of the building making the wedding show also exhibiting that day in the smaller hall at the back. The queue for the 11am tickets stretched far and wide around the corner. Luckily getting in was far easier and shorter than for Comic Con earlier this year. Within about 15 mins we were in and my husband had run off (literally all I saw was dust!) to the Evolve queue. My sister and I walked around slowly taking everything in and looking for good candidates to interview for her dissertation. Always prepared, I had a list of games ready that I wanted to see/play so we made our way slowly round and stopped at other interesting stands along the way to say hi to friends running them or because the games looked great.  I played or watched the following games that day: Dragon Age: Inquisition, Fable Legends, Overruled, Tulpa, Lara Croft and the Temple of Osiris, The Room 3, Hyrule Warriors and a racing game that you control with eyes.

What I realised by going to EGX was the amount of indie developers producing great games and being able to present them at this kind of show was getting more common. And if they could do it, why can’t I? So I revised by medium term goals and because of this also my short term ones to help me reach my long term goals next year. Life may get in the way (especially considering I’m now 6 months pregnant) but if I don’t try then I won’t know. I hope to post more regarding my journey over the next 12 months so that you too can make the leap to indie development.

See you at EGX next year!

Learning with Werdz #12

imagesDuring the period of 2012 – 2014 I developed a small word puzzle game called Werdz Movies.  Not only was this my first attempt at developing and releasing a game for mobile devices but also the first game that I had made using the Unity 3D engine. I had a lot of challenges to overcome in terms of development, focus and organisation (as life tends to get in the way sometimes).  Nevertheless, I prevailed and I’m keen to share my experience no matter how small in the hopes that it will help others make better and more profitable games.

Design Phases Before Development

Before you begin development you should ensure you know all aspects of your project inside and out. Questions like “how are you going to monetise the app?”, “what business model are you applying to your project?”, “what is the colour of the buttons when they are inactive?” should be answered clearly, without hesitation and concisely. 

But as the world of mobile moves so quickly and you want to make sure your great app idea is out before it’s old you may feel the need to release it prematurely. Try and resist this urge. Knowing the correct amount of time to spend designing your project before you launch it is a skill that is developed over time. But with practice you’ll get it. So for those beginning their app development journey, here’s a short list of things to think about when entering the design phase of your project.

Retention

What mechanics have you put in place to make sure that, once they have downloaded, opened and had their first session with your product, your users come back every day, week, month or year and become less likely to abandon and uninstall the app.

Business Model for project

You’re most likely entering this field because you see the potential to create and grow a sustainable business. Businesses make money, so how will you make yours?

Monetisation

There are a number of monetisation methods that can be used in mobile apps to generate revenue. Not all are suitable for every project so you’ll have to evaluate which is best for yours. Some of the types available are:

Ads – These can be banners, interstitials (full screen) or videos (either incentivised or earn per view).  There are a wide variety of very easy to implement ad networks like AdMob, RevMob and Chartboost available for free.   

In-App Purchases – Selling in-app content and virtual goods.  The items can be cosmetic or those which the user can use while they progress through your app.

In-App Currency – Users purchase in-game currency using real world money.  They are then able to use this within the app to purchase in-app content.

An important point to note is that your monetisation methods should always be considered and nailed down during your design phase and not tacked on at the last minute after the product had been developed.

Good monetisation methods in products should fit in seamlessly to and compliment the gameplay. Once you’ve decided what methods to use you need to figure out how to make these attractive to users so that they commit to using or buying them.  

You can use an analytics tool integrated into your app to provide you with a greater insight into what’s working and what can be changed.

Documentation

This is another stage that’s commonly skipped as it’s deemed as boring.  Many just want to jump straight into development but documenting your design is very important as it gives you something physical and concrete to work from when your ideas run wild and free during the development phase.  It’s greatest benefit is that it can help avoid, reduce or even eliminate feature creep and helps to define the project scope and schedule.

What I learned

During Werdz, although I did think about monetization, I didn’t implement it or analytics quickly enough.  So by the time I had gained the majority of my downloads a lot of players had dropped out. Although the framework is there, I still haven’t plugged in the functionality to purchase in-app items. So I sort of feel that I’ve missed my chance here with this product but you never know. With the release of iOS 8 I could add in the ability to purchase in-app goods, resubmit my app, gain a lot more users and successfully monetise them. Only time will tell.

I also admit that I plugged in the ads too late.  I think I put this off because I thought it would be too difficult and let life get in the way. Once it was done, I realised how much time I had wasted procrastinating.  Lesson learned!

Lastly, I began documenting the project really well but I didn’t keep it up. The project was initially designed too big for only me to develop so I scaled back to an MVP which altered a lot of design.  Unfortunately, I never kept on top of documenting these changes until the end.  Next time I’ll evaluate the scale of the project more wisely.

Action Points 

  • Begin with a realistically sized MVP so that documentation is easy to upkeep
  • Know the what mechanics are you utilising to retain your users
  • Be clear on how are you monetising your app

 

Learning with Werdz is a series of short posts that I am writing to help share the knowledge that I have gained while developing my first title Werdz Movies.  Read all of the previous posts in the series.

August 2014 Report

July turned out to be so busy there’s nothing much I can say I had achieved and with my birthday mid-August not much was worked on then either apart from entering the planning stages of two projects.  Progress last month was achieved after discovering Google Forms and developing two questionnaires for my new app ideas.  Now that the forms are live I’m working hard to gather opinions from a good range of people to ensure I get enough data to design my apps with the features that the audience wants.

Why did I decide to create questionnaires?

I decided to create questionnaires to test the idea out investigating whether the target audience would enjoy the product and to gather research into the best features. I think dedicating some time to this before diving into development is a good idea especially for apps that I want to see through long term so I’ll be trying do consciously do more of this even if it’s only for a few days per project from now on.  I’m not sure how long I’ll stay in this phase for as if I put a time limit on it I may not gather enough opinions, however I may be waiting for months if I wait for a good number of results so I’m going to have to find a happy medium.  Right now, I’m thinking that I’ll give it until the end of September then analyse the results.

What’s happening with games?  

I’m hoping to build a framework out to be released in October/November so that all my future small games can be built upon (yeah this again). This should hopefully tie into the career change of my day-job so I’m looking forward to this. I’m now living against a serious deadline so I need to get this completed soon.

What’s the plan this month?

I want to release a small app to the App and Play  Store which utilises NGUI, analytics and an ad network. I also need to practice getting an iOS 8 app into the store so this will help with the learning curve and prepare me for the yearly task of doing this. Whether I stick with the analytics and ad services that I used in Werdz Movies will depend on how much time I have until my deadline.

Learning with Werdz #11

During the period of 2012 – 2014 I developed a small word puzzle game called Werdz Movies.  Not only was this my first attempt at developing and releasing a game for mobile devices but also the first game that I had made using the Unity 3D engine. I had a lot of challenges to overcome in terms of development, focus and organisation (as life tends to get in the way sometimes).  Nevertheless, I prevailed and I’m keen to share my experience no matter how small in the hopes that it will help others make better and more profitable games.

Research

Some teams skip this phase before they begin development as they view it as a waste of time or are just too excited to jump right into the design and development phases.  But, if you’re building a project for a specific target audience and not a personal solution to a problem that you have identified, doing your research on whether your audience will enjoy the product is very important.

Types of Research

There are many types of research that can be carried out but the most common when seeking opinions are questionnaires, surveys, interviews, observations and focus groups.  Using secondary sources for example published works including books, journals, papers, statistical data and websites are another good and readily available resource for research.

Primary sources of research

This gathers information and opinions directly from your target audience via e.g. questionnaires, interviews or surveys.   These are the easiest way to gather first hand information. Focus groups and observational exercises are also very useful in gathering primary research, however this is usually easier to organise in situations where you have available participants such as during university or if you use companies such as Player Research who specialise in gathering this information. If you choose to gather primary research I would recommend you focus on topics that will be directly relevant to the features you’ll be building into your app such as UI, screen flow and preferred features.

Competitive Analysis

Make sure you look for similar products in the same and different markets.  Don’t just limit your investigation to the app stores, research similar products across a range of websites and high street stores.

A/B Testing

A/B testing is used when you want to gather data on two or more options using an analytics tool like Google Analytics.  Examples of this could be what image, colours or phrases appeal most to the target audience.  This is usually carried out without the audience knowing. This can be implemented in a number of ways.  The way you chose will depend on how fast you require the data and the range of options you will present to the users.

The audience usually enters the product in a similar way as before the test and are presented with more than one option on a page.  Each option is tracked by the analytics tool so whenever the user selects either option their choice is collated which developers are able to view and interpret to be used when making decisions about future features.

These tests are usually run over a set amount of time to make sure it has been exposed to enough users so that the results are representative of a good amount of users and each option has a fair chance. Examples of features that can be tested in this way can include graphics, names of options and colour schemes.

Once you’ve got your data…

Remember that while research is great because it’s gathered from the people you want to use your product, you have the last say on whether or not to use the data to define your app.  Don’t let the research define your decisions, just guide you.

Learning with Werdz is a series of short posts that I am writing to help share the knowledge that I have gained while developing my first title Werdz Movies.  Read all of the previous posts in the series.