The September 2009 UK edition of Wired ran an interesting article, carrying the same title as this post, by futurist Peter Schwartz. In the article, Schwartz proposed a 5 step plan to predicting and therefore safe guarding your future. Below are the five steps.

Schwartz starts by defining a test case. This is in essence a question; How can I future-proof my career? Once you know the question, you can then set about identifying key influences on your question–e.g. technological change–scenarios that may bring about the change–e.g. new competing technologies, lack of technological development in your sector, or the collapse of a key stakeholder–and finally, future implications.

Here is what Schwartz says in more detail:

1. List driving forces

What variables, trends and events will affect your mission? The first step is to list them. Next, divide them into uncertainties (such as economic, political and social conditions) and relative certainties (such as global population growth and climate change). Finally, rank the items according to their importance, from most to least significant. The result: a catalogue of factors that will determine the future of your area.

If I take web development as an example:

  • Pace of technological change.
  • Number of companies using the chosen technology.
  • Number of people available in the industry (permanent and contract).
  • State of the [digital] economy.
  • Competing technologies, e.g. Ruby on Rails vs ColdFusion, AJAX vs Flash, offline vs online, desktop vs mobile.
  • Support of the community, e.g. open-source software, tutorials and application servers.
  • Support of key stakeholders, e.g. Adobe’s support of Flash, Flex and ColdFusion.

2. Make a scenario grid

Now it’s time to map out possible futures. The two most important uncertainties from the top of your list form the axes of the grid, with each of the quatdrants representing a potential future. Some may be more likely than others–and some may seem downright improbable–but they all depict the interplay of key forces. Thus, they’re within the range of possibility and deserve attention. They help you prepare for a range of possibilities and bolster core actions with those related to the future you deem most likely.

3. Imagine the possible futures

Sketched as a grid, these 4 possible scenarios are so abstract that it would be hard to recognise them if they merged. Make them more concrete by fleshing them out into imaginery, but plausible, news stories of the forces at play.

To continue the web development example:

  • Global financial crisis prevents companies investing in technology. They cannot raise the adequate funding to push through key development projects, even if it means increasing efficiencies within the company.
  • Adobe drops support for ColdFusion causing turmoil in the community. Railo picks up a lot of business, but can’t scale to fill the demand. Far-sighted companies migrate to other suitable platforms.
  • Ruby on Rails booms under the paradigms: Convention over Configuration and Don’t Repeat Yourself, eating into ColdFusion’s key mantra: Rapid Application Development.
  • Key advances in technology on the desktop and mobile continue at pace. Micro-payments allow people to create relatively cheap applications that appeal to a mass audience. Development frameworks allow developers to transfer their skills between technologies without the need for significant retraining.

4. Brainstorm implications and actions

Now it’s time to develop strategies for coping with each of the four possible futures you’ve imagined. Start by listing all the implications of each of the scenarios and then come up with actions that would enable you to prosper under any of the new conditions. Some actions would apply to almost any scenario: these should form the basis of your plan, since they help you to prepare for a range of possibilities. Bolster these core actions with those related to the future you deem most likely.

Examples of possible implications:

  • Scarce funding.
  • Limited demand for new technologies.
  • Few companies to work for.
  • Few new projects to work on.
  • Increased competition for places.
  • Increased demand for people with key skills, e.g. mobile.

and possible actions:

  • Concentrate on existing technologies.
  • Develop and exit strategy, e.g. cross-train into a new technology.
  • Cultivate your network, make new contacts at major development houses.
  • Polish skills in areas of uncertainty.
  • Start your own cutting-edge business.

5. Track the indicators

The main value of the scenarios is that they sensitise you to the way the future is unfolding. Over time, the world is likely to gravitate toward one of your four quadrants. The trick is to recognise the shif in progress. As you monitor the news, look for signals that a particular possibility is becoming a concrete reality. Keep a file of news relevant to your scenarios, jotting down a quick note, along with the date, whenever you come across a significant story. Evaluate these developments on a quarterly basis so you can track the trends. Keep adjusting your action strategy to anticipate the future as it emerges.

Of course it is possible that none of your four quadrants becomes true. If this is so, you will need to go back and re-evaluate your scenario grid. Keeping a critical eye on your grid and apace of industry developments, you can be assured that the future will not change so quickly that you’ll miss an opportunity.

My Work Philosophy

Okay, so many of the points below aren’t purely my philosophy, but ideas and principles I have picked up along the way throughout my [development] career. Some relate to the UNIX philosophy, or even the Zen of Python, but wherever they’re from, they can be applied to many other domains.

  • Don’t reinvent the wheel unless you really have to. Borrow code and ideas from elsewhere whenever it makes sense. The web community it great at sharing, just look at the various JavaScript libraries, the huge quantities of APIs or indeed the major players’ developer areas: Google Code, Yahoo! Developer Network, Mozilla Developer Center, Adobe Developer Connection and Dev Opera to name five I regularly refer to.
  • Things should be as simple as possible, but no simpler (Einstein). This idea is really born out of and emphasised by 37Signals’ Getting Real book. Commonly, 90% of people using an application only use 10% of it’s functionality. The key therefore is to find what people use most often and only build that functionality. If there is a requirement to add more, then sobeit. This can also apply to the code-level, the essence here being a balance between over- and under-engineering something.
  • Do one thing well (The UNIX philosophy). It is better to do one thing well, than several second-rate. This could be at the code level — think encapsulation, coupling and cohesion — or indeed at the application level — you’re never going to beat Microsoft Word, but Google and Zoho have developed compelling alternatives, but with far less features.
  • Don’t fret too much about performance — understand how to write efficient code and plan to optimise later if or when needed.
  • Don’t try for perfection because good enough is often just that. This of course is a matter for conjecture. If I were working on a personal project, I may be more stringent on perfection than say, for a client’s application. This doesn’t mean to say the client’s application would be any worse, but rather it is a question of dotting-the-is and crossing-the-ts. It also depends on your perspective and what gains can be made by aiming for perfection.
  • (Hence) it’s okay to cut corners sometimes, only if you can do it right later. I rarely adhere to this! It makes sense to do it right the first time, since bodge-jobs often come back to haunt you and result in double the effort!
  • Don’t fight it; go with the flow. This is somewhat clichéd, but the essence behind this is try to avoid getting stressed out. This isn’t always easy to achieve, but taking a step back from a situation and avoiding politics is important.

I often strive for perfection, which isn’t an entirely clever pursuit since it is almost impossible to achieve. However, in a realm of imperfection, the principles above have helped me to achieve a modicum of decent code throughout the years. They may also resonate and provide inspiration for you.

Advertising and finding work as a freelancer has the potential to be extremely painful and difficult. However, having made the decision to go freelance, it is likely you are actually good at what you do, which gives you a great headstart.

In the last two parts of this series, I discussed publicising yourself and networking, both of which are great ways to advertise your wares. There are, however, more traditional routes to advertising and finding work.

Advertise Your Business

Once you’ve built up a portfolio of work and contacts, it’ll become increasingly easier to advertise yourself. But intially, finding work is a case of advertising yourself. This can be achieved in a number of ways.

You can create adverts on search engines such as Google via their Adwords service, or on Yahoo! Small Business via their equivalent search marketing service.

You could also go down the slightly more traditional route and add free or paid listings to online business directories such as Yell.com and Thomson Local.

I see little value in using the paper-based business directories, since you’re likely to be operating in the digital arena, however, niche publications or magazines may be a credible option to consider.

Find Work

You’ve got the skill and experience, you’ve built an online brand and you have advertised yourself. But still you need to find paid-for work.

Essentially there are two ways to do this, via your network or via the bane-of-everyones-life, agencies. Always prefer your network over agencies; you won’t be locked into rigid contracts and you could potentially earn more money for yourself as there won’t be a cut for the agent.

Of course, if you go through an agency, you don’t necessarily need to set up a company or do any of the complicated accounting and they have a ready-built network of contacts.

I tend to mix-and-match based upon demand. There is also the point that the agency can introduce you to a client and after a period of time has lapsed, you can go to that client directly, assuming you have maintained a good relationship.

You could also do your own research into companies carrying out work in your field and cold-call or email them. If they don’t have work available immediately, you have alerted them to your presence. They are also more likely to contact you directly at a later date, as this will save them money, rather than sourcing contractors through an agency.

There is a final area of consideration; joining networks and services such as the Lemon Foundation and 99Designs. These services effectively connect designers and developers to clients needing work to be carried out. This work could be anything from logo designs and business cards to branding and websites.

Lemon Foundation is more like an umbrella company that bids for and farms out work; they do all the client facing work — winning bids, project plans and scoping etc — whilst you do the ‘actual’ work. 99Designs on the other hand is a marketplace where you have to compete on price and reputation. It is in effect an eBay or Amazon of the designer-developer world and is brought to you buy the guys who created SitePoint (a great web development resource).

Final Thoughts

Someone cheesy wrote…

Twenty first century people aren’t afraid of challenges, of stepping outside their comfort zones, of swapping lives. No more forty years with the same organisation, here’s my gold watch to prove my loyalty – it’s all about building up a portfolio of skills, identifying strengths, capitalising on opportunities and transferring the package to the next best place. Sometimes that place is you.

In the first two parts of this series, I talked about setting up in business as a freelancer and publicising yourself via branding and blogging.

Creating a brand and blogging are two important steps to getting yourself known, but are of little use if you do not actively build relationships through networking.

A good friend of mine, Rob, has some great advice: Get to the pub. When a project comes up and someone wants a Flex developer, you want to be front-of-mind.

Of course networking is more than simply going to the pub, it’s talking to friends and colleagues online, it’s attending conferences and groups. In essence it’s about ‘getting out there’.

Build Online Relationships

Many of my contacts are not from the London area, but include locations such as Brighton, Edinburgh and Birmingham. Added to this, I have international contacts in countries such as Australia, Belgium, New Zealand and the United States.

Clearly it isn’t easy to call up these people and say ‘do you want to go to the pub’. Therefore, building online relationships is a must. There are a whole host of services that essentially let people understand me as a person, not just a work colleague.

I use, to varying degrees, services such as FriendFeed, SocialThing, BrightKite, Jaiku, Meebo, Bebo, MySpace, LinkedIn, Facebook, LibraryThing, Cork’d and Dopplr. Indeed, you can find links to my most-used services in the footer of my site.

Take a look at the links in the footer and get to know me. You may notice that all the services are registered under my brand name. Again, this allows people to draw association with the profile they are looking at and me. It also means that if you want to follow me on one or many services, it won’t be hard to find me.

Attend Local Meetings and User Groups

Attending local ‘geek’ meets is a great way to meet like-minded people, exchange thoughts and quite possibly find work. These meetings can be found on the Yahoo! service Upcoming.org and on Meetup.com.

On the odd occassion, I may be found at meetings such as the Web Standards Meetup, the ColdFusion User Group, London Geeks, the London Flash Platform User Group, the Flex London User Group etc. (I do have a life outside my work, honestly!)

Attend Conferences Related to Your Industry

Conferences are really an extension of local user groups and meetings, but they allow you to network with a wider, often international, audience. It is quite possible to spend a few days a month attending conferences, so chosing ones relevant to you are key.

In the past I have attended, Adobe MAX, Scotch-on-the-Rocks and CFDevCon, but there are a tranche of other conferences that could be equally relevant such as CFUnited Europe, 360Flex and Flash on the Beach.

Conferences provide a varying degree of networking and job opportunities, but if anything they provide a great sneak-peek into what other people are working on and in what direction the industry is heading.

What’s Next

In the final part of this series I will introduce methods by which you can advertise your business.

In the first part of this series I talked about setting yourself up in business. The next step is to publicise yourself and your skills. At this point, it is helpful to know exactly what line of work you want to be focusing on, since you will need to target your efforts.

In the dim and distant past, the job of publicising yourself was extremely difficult. Can you imagine life without the Internet, mobile telephones and email? How did people ever do business? With the advent of the World Wide Web and in particular search engines and blogging, this all changed and a wealth of opportunity has become available, especially to the freelancer.

But where do you start?

Create a Brand

Creating a brand is a great way to market yourself. This does not have to be the same as your company, and through time you may set up different brands for different sectors or ideas you may have. Brands serve to create associations and therefore, expectations of products you create, so a good brand name is a great way to get recognised in your community.

You can register the brand in the UK, Europe and the US, although the latter requires a US address. It is also not a given that your brand registration will be successful, making it a costly exercise. Careful consideration is what is needed here.

Create an Avatar

Avatars are images or icons that represent you in the online world. They are an extension of your brand. For example, the header of my website is also my favicon and avatar on various online services. It is a great way for people to draw an association between your online presence and you.

Create a Blog

Blogs are a great way to get yourself known and therefore heard amongst your peer group. Your blog should really be an extension of your brand and is a great avenue to showcase your skills, demo example applications, code and designs, or simply give your opinion on a subject.

I use the excellent WordPress blogging application, in a self-hosted environment. You don’t need to do this since there is a hosted version at WordPress.com, or you could use Blogger, another popular blogging platform, provided by Google.

The key to blogging is talk about what you enjoy, don’t just keep it technical. Blogs should be an extension of you, not an avenue for pretentious comment; you’ll soon be found out!

If you go the self-hosted route, you’ll need a domain name, hosting provider and obviously a blog application. I have listed a few below that can get you started.

Domain Names:

Hosting Providers:

Blog Applications:

If going the self-hosted is all too complicated for you or you simply don’t want the hassle that is associated with self-hosting, all is not lost. WordPress.com and Blogger are for you.

Blog Hosting Providers:

Both services take the onus away from the user when it comes to management (backups, plugins etc). At the simplest level, all you need to do is create and publish the content.

Join feed aggregators

To get noticed in the blogosphere, you can’t simply rely on the Google, Yahoo! and Microsoft search engines ranking your site. You will need to alert your peers to the fact that you’ve created some content that is worth reading. You can achieve this with feed aggregators.

Below I list a few that I use:

If you use WordPress, then you’re in luck. WordPress has a service called Ping-o-matic, which updates different search engines when your blog has been updated. You can also add your own services to ping and therefore notify the service of new content.

Comment on Blogs

Commenting on blogs is another great way of getting yourself known as well as offering an opinion. Since comments allow you to include a link back to your website, try and comment as your brand.

One tip, try not to be defamatory towards the blog owner, or others unless you have a strong justification for doing so. It’s all about the karma!

Join Micro-Blogging Services

If blogging is not your thing or you don’t have time to write articles, there are a number of blogging and, more importantly, micro-blogging services available to you that allow you to get your thoughts out into the wide-world.

Such services include the not-always-venerable Twitter, the feature rich Pownce, the new kid on the block Plurk and the blogging service, Tumblr.

Building a following will allow you to announce to your followers important events and ask questions of them.

What’s Next

In the next part of this series, I’ll talk about networking, a natural extension to publicising yourself on the web.

You’re an experienced designer or developer with aspirations to become a freelancer. Shrugging off the corporate cloak —”It’s cosy! It fits well! You’ve had it for years!” — is becoming more and more common.

Most creative people are unable to make a living from the sale of their work alone and therefore becoming self-employed as a freelancer enables you to manage your finances more effectively by earning additional money from short- or medium-term opportunities.

Graphic design, illustration, photography, journalism, writing, web design and development, training and copywriting are some of the sectors that use freelancers on a regular basis. Infact, many freelancers I know don’t simply work in one area. For example, my working month is a mixture of web development, writing and training and this is not uncommon among my peers as well.

There are numerous other considerations. Freelancers can, when the market is buoyant, choose their contract location and duration. They can also decide the length of their holidays (although this isn’t always the case). This greater freedom brings a major responsibility; you have to find work. This can be easy when many projects are underway, but can be difficult at other times. Furthermore, you will have to manage your own finances, which may perhaps involve dealing with an accountant, filling in payroll, tax and VAT forms etcetera.

In this four-part series, I share some thoughts on what you may want to consider when setting up and ‘going it alone’. The detail is UK-centric, but much of what I say is transferable to other regions.

The first in the series is setting up a business.

Register a Company

To be a serious freelancer, you can’t simply do work ‘cash-in-hand’. Instead you will need to set up a company through which you will work. This is not a complicated task and there are a number of companies out there who will do all the hard work for you, albeit for a small fee.

You can check Companies House for the availability of your company name and submit the company formation directly through them if you wish.

Get an Accountant

If you’re like me and can’t be bothered (or indeed don’t have the time) to sit down every month to compile accounts, process payroll and submit VAT returns, it is a good idea to get yourself a trustworthy accountant who specialises in freelancing matters. Ask friends for recommendations, since it can be daunting task finding someone who will work for you.

The Inland Revenue in the UK and the Internal Revenue Service in the US will always want their money and on time, so it is important that you manage submissions correctly.

Join the PCG

The Professional Contractors Group (PCG) is an organisation set up to support contractors and freelancers. For a small fee per year, you can gain access to a huge knowledge base of articles on your chosen topic and they also provide support if the Inland Revenue come calling.

Get Insurance

Many companies oblige their freelancers to get Professional Indemnity (PI) insurance, which may, in some instances, also include equipment, Public Liability and Employer’s Liability insurance.

You can get away without having this insurance, especially if the company you work for has a dedicated QA team, which will soon catch any shoddy work before it is released live. However, it is always best to cover your back.

If you’re a member of the PCG, they can offer advice and discounts on PI insurance. This is quite good since the insurance can be relatively pricey!

What’s Next

The next post in the series will focus on publicising you and your company. This involves creating a brand, blogging and using 3rd-party services.