panic

What is it like to be a Junior Developer?

Shades Of Consultancy

I’ve been in this business for more than fifteen years and I saw things and heard requests that you can barely conceive in your wildest dreams.
I’m an IT consultant.

Most of the time I’ve said “YES”
and that’s why I haven’t made much money yet

I believe you should always push forward to face the next challenge, but sometimes it is worth to pause and run a personal retrospective; a check-up of our career path, so to speak.

Today I want to share with you a reflection about some stages of “being a consultant” that I have been through in first person.

Phase 1

You tell me what to do,
and I’ll do it

That’s Phase 1. It’s the magic moment in which you realise you can use your knowledge to make some money. You are often a youngster on the edge of high school or something like that.

I was running the second year of my computer science studies when a relative of a friend (of a friend) approached me saying: “so you make websites, uh? I need one. How much do you ask for one?”

— That was my “Ooohh” moment —

In Phase 1 you don’t care much about the quality or the process, you just swim to stay afloat and get to the end of the task/project. You want to deliver something that works, no matter how.

This is called being a “Junior Consultant (or programmer)” and it’s all about gathering all the knowledge you need in order to deliver.

Step by step you discover that your knowledge thrived, and you start to have opinions about “how” to solve a problem.

The moment you get caught in a religion war on best practices or bad mistakes you realise you are not a Junior anymore.

Phase 2

You tell me what needs to be done,
I’ll choose the best way to do it,
and then I’ll do it

That’s Phase 2, the longest in my career path, and the one that had given me the worst headaches and greatest rewards. During Phase 2 you become a “senior” and people look at you as source of trouble solving tricks and walking knowledge bucket.
You are now the “go to man” for all the problems that juniors can’t solve, you feel happy as your paycheque grows, but it will not grow as fast as the amount of responsibilities that are dropped over your shoulders.
If you are a freelancer, your phone will ring more than ever before. 
If you are an employee, you will be given a phone, and it will ring a lot.
As senior guy in IT you take part in customer meetings in order to help the business preparing their offers, as well as being in charge of the worst bug fixing and infrastructure maintenance. (to sleep at the office will save you commuting time, think about it)
And you should also take the time to help junior guys to develop themselves, and managers putting together their fancy spreadsheets (yes, you have to use the good’ol Excel, Google Docs is way to advanced).
This is a critical phase which may develop in two very different ways: one is good and one is not. Of course there is also a third option 🙂
The “not so good” outcome is that you will grow into a management position.
I saw this happening quite few times: the guy is skilled but he has no time to develop himself any further, he slowly decline his practical skills but can not be fired because he has worked with the company since forever, therefore they’ll promote him to become a project manager (or equivalent fancy title).
That is not a good thing because Management is Tough and you should undertake that career only after a life call. 
Management is much like Teaching, 
and so far I’ve met few good teachers
and even fewer good managers
The third option is that you move up into the “senior career ladder” and become a system architect or something like that (there are different roles in different companies but they all mean the same thing).
This is not a bad option and I have considered it for long time (it is actually the title I have in my current daily job). Especially in corporate companies, it can lead to a big fat paycheck and a lot of bonuses.
The problem I see here is scalability: you will never be able to work more than a given amount of hours per day, therefore you will quickly reach the limit of your career growth. Since the moment you reach the top you are exposed to the risk that a younger guy with fresh skills comes into the picture to threaten your position. You’ll be scared 24/7, play defensive, and basically become an @$$**le to your colleagues.
I have been that you guy once, and I did feel what “playing in defending mode” looks like: It’s not cool and I don’t want to end that way.
Fortunately there is a way out and it was quite a revelation to me. 
The way out is professional teaching.

Phase 3

You tell me what it needs to be done,
I’ll coach your team with the necessary knowledge and skills,
and They’ll do it

If you have read so far you may have already guessed that this is Phase 3. That’s the though one. Compared to Phase 3, the previous phases are much like walking the dog through the park in a fresh spring morning. 
Teaching is Life’s real big deal
For me teaching is like sailing: in theory it is very simple, but then the sea is always moving around and a swift gust of wind is capable of screwing you up.
The good part of Phase 3 is the scalability. You can teach to many guys at the same time and you can charge each of them as you were giving a one to one lesson. 
I have taught to single guys as well as small groups of 4–10 colleagues. The level of passion and communication skills that you have to pull are almost the same. But with groups you will see many happy faces around you.
In my opinion and experience it is even easier to teach to large groups because you can make allies within the stronger members and actually let those guys help you teaching the others.
I didn’t born a teacher: I worked hard to become a teacher, I’m still on the learning path, and I made mistakes and left casualties along the way.
My wife Silvia was my first real student, and shortly after, I taught to a group of Swedish colleagues. Poor guys, they really had helped me learning how to teach more than me teaching Javascript.
Teaching is a fine art of listening and understanding what the counterpart is willing to learn. The teacher is not in control of the peace of his own lecture. Contents and exercises must be tailored to the needs of your audience.
This is not what they normally do in schools, but this is how I’ve learned to teach in order to get the best amount of knowledge transfer per time unit.
Before serving a lecture I try to write an article, or to produce a presentation as I was to give a public presentation. This way I isolate the key points of the lesson and remove the buzz out of it. 
It takes time to prepare a good lesson, but remember that you can teach to large groups and extract great value (aka: $$) out of your preparation time.
Teaching is good and for sure one of the greatest passions of my life. But the story doesn’t end here. There is much more we consultant can do!

Phase 4

You tell me what it needs to be done,
I’ll show your team how to use an appropriate Product to solve your problem
and They’ll do it

One of the greatest truth that I’ve learn in life, at least in my IT life, is: 
if a service/product is worth to be done, 
then somebody is already selling it.
Phase 4 is about to put your knowledge and experience to work with the sole purpose of finding and selecting services and products that solve general problems in a simple of particularly effective way.
Once you have discovered those products you can replace “teaching how to do” with “teaching how to use” from Phase 3.
It’s easier to learn “how to use” a product,
rather than “how to solve” a problem.
The matter is very simple. Consider the following example: it takes less time to learn how to use Heroku rather than to learn how to set up a custom deploy mechanism on a self hosted machine. 
It’s a matter of extracting the real business value of a possible solution.
It is also way more fast and easier to teach how to use an existing product, rather how to conceive a solution to a problem that you don’t know yet.
This takes the scalability of teaching to the next level and makes you able to get more money out of your time, or more free time for the same amount of money. But that is much more of a philosophical question. Which kind of person are you? I don’t judge, for me it’s good enough to create more with less.
If you take Phase 4 to its full extend you may end working as evangelist for one cool company like Heroku or Firefox.
An evangelist spends most of its time traveling from conference to conference and gives speeches and demo of a single product. He/she also has a blog and go wide on social media to spread the voice. It is not a bad way to make a living out of if if you are inclined to travel a lot. Probably it is not the best setup if you plan to grow a family of your own.
Anyway this is not yet the end. There is an even better way to use all the knowledge that you grew during Phase 1 and Phase 2.

Phase 5

I identify a repetitive piece of work that many companies need to do,
I create a product that solves the problem,
and I sell it

To date the most exciting way I know to employe my skills is to build a product that other can use and enjoy. The key point is that you build a product once, and then it can be used by countless people, countless time.
Nothing scales better than selling a product.
My real life experience is not yet tied to successful story when it comes to produce money by crafting and selling a product. So far I just enjoy the “making of” and I release my creations on GitHub under an Open Source license.
I’m still learning all the glitches of Phase 5 but I can tell you that it’s all great fun and even if you don’t make money directly you can still charge people to teach them how to use the product you are building. Of course this requires you to build something valuable.
NOTE: As far I understand the value in a product is related to the amount of time that you save to the end user. Please don’t create a product that requires to read a book in order to be used!

Phase 5.5

I understand that and write an article about it,
so You can get to know me
and You buy my products

That’s more or less what Medium is all about, isn’t it?
Of course I’m kidding, but it is also true that behind every joke there is a trace of truth and this is no exception. The more time I spend on Medium the more I learn that writing articles is a marketing strategy. 
Therefore I’m writing this article to channel my experience and the way I think about my profession as IT consultant. 
If you are a young guy eager to throw yourself into the Game I hope you will use this words to avoid some obvious mistakes that I have done.
If you are an experience consultant I hope I get you to laugh here and there and made you to think to your own career path. (please contact me to share your experience and reflections about it, I will be pleased to meet you)
Anyway I hope you enjoyed the reading and please share the article with your friends 🙂

X