Having a steady income can be important. Normal office hours from 9 to 5 can be southing and can bring some order in your life. This… does not sound very much like me… in any day job my hours were more like 10ish to 6ish and maybe even later…ish. I don’t feel a lot for a day job with all the regularities, managers and regular payment. I’m more a guy that get’s out of bed, does work when he wants to, is his own boss and gets paid whenever he is working.
Okay, I have a day job. I could consider this as a bad thing. Working in an office by day so I can work as a hacker at night. But I’m switching that definition around. My freelance work became my day job and my day jobs allows me to do the cool stuff.
I stated out early as a freelancer. My first websites were made for my friends, family and other fools (the three F start-up clients). I started doing other work with companies and I got more and more picky on what kind of project I wanted to do. I discovered that as a web-developer my work was always done in about 1 to 2 years. After that the project was either finished of failed. As I’m not someone to do maintenance and client support issues, I develop software!
My jobs became more project based while my freelance clients were beginning to pay more and more. I had to hire other developers to do work for me and I currently run an operation with about 10 developers, designers, photographers, animators and other freelancers at the same time. I discovered that not just my skills as a developer mattered but even more so my network. About 70%-80% of my clients are connected to previous clients. Apparently I do a good job at keeping the customer satisfied.
This allowed me to take on a day jobs that were more and more experimental en innovative in nature. Not paying as well as other might the job satisfaction for me was so much greater that these projects were better. Finding a project has always been an interesting challenge. Recruiters trying their best to get your attention and companies that have interesting vacancies. It has always been a problem how to get to interesting companies that are not on the map yet!
In many cases I found it to be more like dumb luck than a good search. I got picked up by Joost Technologies almost by accident as I looked for a place to do research for school. My latest project was an interesting choice between two projects of completely different backgrounds. I picked the one that was furthest away from what I already did. I made the right choice as the other project has not even begun to taken shape and will probably be dropped before it even started. This gets us to another problem. Picking a project that is at that initial stage and will get to actually start. A bit of gut feeling and some research does wonders.
A through M
Have you ever tried looking at your job as a product? Well, this is what I did and I found that mine is attached a lot to the project I am working on. If you look at any job you will find that you have an start-up phase, a middle section and an end. We plan for the start, we work in the middle but we always let the end come to us. I don’t do that! I plan ahead for my stay at a company to have a beginning, a middle and an end. My end is connected to the product life cycle my job cycle is connected to. At a certain point my services are no longer required and I will move on to start a new job cycle.
I’ve said it time and time again, I’m an A through M guy. If A is the idea and Z is end of life of a product I tend to bail out somewhere in the middle. I work on ideas and concepts, develop them into working software, do research with clients and I do product delivery. Maintaining content, distributing installations, getting new campaigns on there is nothing I do with a lot of pleasure. The M in this story is the Moment it will run with a client that is happy with it.
The A through M philosophy for me came from that several ideas. I didn’t want to get stuck on a project as a developer doing maintenance work. It also describes to position I’m placed in best. I can deal with ideas, designs and implementations very well. Maintenance on the other side makes me a bit cranky… So it is best to place me somewhere at the beginning of product lifecycle.
In my experience you are most productive and will learn the most new things on a change in phase. As a starter you will need to learn the culture, business and technology. As you will move to the middle section you will be able to face new challenges and you will be able to experiment. But like in the starter phase there will be a point in time when you will grow less and less because there is nothing new on your path. That time will be your M point and the end of your job cycle.
Ending a job cycle can be done in several ways but two are the most common. Move to a new position within the company, or get a new job somewhere else. Whatever suits you best, what feels right and what will work for you will be fine. But you must realize that there comes a time to move on.
I challenge you to look at your own job. See what phase you are in (start, middle or end) and when are you planning to stop and move on to start again?
18 month rule
With my A through M mentality I soon figured out that I had to be switching jobs frequently. I found that 18 months is about the average a project will run from A all the way to M. On arrival on the M position I will start looking for a new job to begin on the A position. It’s not that I do not like the company or that the project isn’t any good anymore. It’s more about me and not being happy with the N through Z phase of the product life cycle.
There are other reasons for the 18 month rule. In the type of projects I do there is only a limited space to grow in. Most of the projects have small to medium size teams that will work on a product. Not really the place to have a career at. This combined with the fact that software engineering is the fastest evolving field in the world will say that I will HAVE to move after being with the company for a while.
This is why I actually introduced the 18 month rule as something I will do in any situation. After 18 months I will start looking for a new job! I’ll be putting word out that I’m becoming available and recruiting/searching will commence. I will vary a bit as start-up time differ and the M station is not always in sight yet but I have yet to find a company that could retain my intrest and attention for more then two years.
I had many offers from companies I worked at to stay. They promised me new projects, other positions, more money and all other kinds of things to try and keep a hold of me. I have never found a company that could keep me interested. A project is specific, it has a certain goal, it has a philosophy and it is unique. I have not found a project within the same company that matched all the criteria for an exiting project for me. Sorry, but those are the facts on the table…
Ow… and this is probably something more will do in the future…
Picking a project
When you are switching projects like I am it is always hard to find the right project. Is it in the phase where I can join in? does the project intrest me? does it have potential? All these questions are not answered straight away when you talk to a companies or recruiters about possible projects. How do you get this information and how do you determine the project is right for you?
In company vacancies there are always requirements on what a future employee would need to be able to do before he or she could join. As company and employee are a two way fit in my opinion it should be that the employee also has some requirements. But how do you go about setting requirements for something that does not really have one single description?
I found myself looking for that same answer when I was setting up my own requirements. Several were obvious like salary, type of position and other benefits. Others had to do with what I would be able to do for a company but I would need assistance with. Things like I’m willing to move for a company but they will need to help me in finding a place to live.
I also found myself in the situation where I could not really point out THE thing that made me want to work at a company. All my previous employers had a foosball table… We had common lunches together… Company trips and activities were a regular thing… But these are things that are extra. Company activities are nice and very useful but I also have a life outside of the company… And these are not the only thing. I found for me it was always a pain to integrate my “work tools” with my “freelance tools”. Simple things like mail forwarding to a personal mail account can become very important! And it’s never one thing that would get you to join.
I discovered that the overall feel was the most important but yet ungraspable thing that would make a company work for me. I would instantly join in at the Google plex or work for companies like Livingsocial, 37signals, Pixar studios, Atlassian or even Apple just to enjoy that magic feel. These are the environments and values that would make me happy. Try and discover for yourself what kind of environment you prefer. I need buzzing around me, other have completely different needs.
I’m also a strong believer in shaping your own environment. I decorated offices, dressed up my desk, added toys and done many thing that were actually not there or not even allowed in the office at the time. So, an employer that allows you to create an environment is even more important then an existing environment.
For me the reasonable benefits, proper position within the company and the freedom to do whatever is needed to make you happy are the most important things that make or break a company. I don’t always find a company that meets all requirements… But like the employer, we both need to fit. Both the employer and the employee cannot always get exactly what they want, that’s just a fact of life.
For me stepping into a company is starting out with a client. If the client has no chance of success I will tell him that and will move on to other clients. This allows me to work on mostly successful projects with happy clients. It is also very honest and can save someone a lot of money if you don’t see it working out.
The same goes for companies that would want to hire me. A project might be really interesting, the company doing it can be really cool and the benefits for me could be really good. But if I feel that in a couple of months the project will be cancelled I will not start. My main concern and prize is still the innovative project. If that goes out of the window there is no reason for me to join in the first place.
I had the option to work on a world changing project. It was to bring audio-visual content providers closer to the consumers and had an element of crows sourcing in it. I had previous experience with building a content platform like this so I automatically was enthusiastic about the idea. This was to be up my alley! The project that didn’t start yet had philosophical potential but was hard to implement, had been done before and failed and would be done by a team of 3 people. I know from experience this is more then 3 people worth of work. In my book not the best cards to start the game with. I declined the offer.
Make sure that all the conditions are right to get the project off the ground. If your project fails every 3 months or so you must become really good at being recruited otherwise you’d be searching longer than you would be working on it.
Pains of a company
I found that companies are far from prepared to get an employee like me. Staying with the company for a short period of time, having all these tools that I bring with me (I bought my own adobe, microsoft, oracle and other licences for my freelancing practices and their also allowed for other work) and a very goal oriented approach. Sometimes a company is no equipped to deal with this.
My advice, be honest and tell them early! Telling them your about to leave in x months, even if it is 2 years away, can reassure them your there to do the job. Ask them if they can integrate with you. Ask them if they could forward email, connect to a different calendar. This might not always be possible, but it’s worth a try. Offer them to work on your own machine (laptop is preferred of course). They might look strangely at you for a moment but you can tell them they can use your licences and they’ll probably be fine with it.
This part is directed at the companies that do project based software development. Get ready! Project workers are becoming a more frequent sight and have different needs then the “classical” worker. Becoming ready for it can be as easy as arranging easy email forwarding for people who want it. Making sure you allow them to continuously carry over work to others as they might be gone a few weeks from now. Improving the small things will help in a lot of cases.
Job vs career
As my last note I would like to mention that working at a company as a project is not in any way better then starting a career at a company. It is just different! Some positions within a company require you to work your way op to that position. This is not easier or worse than doing projects, it actually takes hard work and dedication to get there. I respect that! But it’s also not something I currently would like to do, maybe in the future as I will be seeking more stability. For now being agile in jobs suits me better personally.