So here it is: my first post on this blog. Usually it comes down to “Test Title” and “Test Content“. I will try to make it more interesting by introducing the purpose of this blog and giving some details about my past experience.
I am a developer who decided to make the big jump out of the common easy-salary-and-blind-job-company-sponsored way of life, to the more woah!-I-am-my-boss-but-no-salary-self-sponsored one.
I had several motivations that made me resign from my daily work at BigCorporationBigBucks(TM) (around 5000 employees worldwide):
- First, I had more and more the bitter feeling that whatever the efforts developers could make, the company would always have the same profile. As a developer, I have always wanted to reach big achievements (I am a bit of this idealistic kind), and I observed that when I was reaching those achievements… well there was not so much difference on the company’s success or failure. That was frustrating.
- Second, I realized there is a strange way of thinking in many companies handling with software development: “Developer” is not seen as a simple competency there. It is also associated to the idea of “newbie”. There is a kind of common thinking that a developer starts his career as a “newbie developer”, then after a few years of successful experience he will become a “manager” then “director”, and the list goes on depending on the pyramidal structure of the company.
Other jobs are a little different: a “newbie architect” will become a “skilled architect”, a “newbie pianist” will become a “skilled pianist”, and their reputation and recognition will follow according to that.
In BigCorporationBigBucks(TM), I have met some highly skilled developers, and they had basically 2 choices at a given point of their career:
- First case:
I have seen this scenario several times, and it always ends up the same: either the developer ruins a whole department because he has no management skills, or after a few months he will ask to get his developer position back because he doesn’t like to fill in Excel spreadsheets and argue over political arguments all day long: he just wants to develop projects.
- Second case:
Imagine the same scenario in another context: “Hey little Yehudi, you really are gifted with playing the violin. Therefore we can offer you a prime time at our big music TV channel where you will dance hip-hop. Leave your violin at home.“.
Well, this is what BigCorp is doing every day (and this can also explain some hip-hop dancers’ performance on BigCorpTV(TM) )
Manager is a real hard working job, with all its theories, experiences, surprises, specific competences… so is developer. You can’t replace one with another unless you perform real hard. A manager with no development skills will ruin a software, and a developer with no management skills will ruin a team’s work. Seems simple, but I did not want to work anymore in an environment that did not respect neither developers nor managers.
- First case:
- Third, I began more and more inclined towards Open Source development. I was more and more convinced that a company’s added value does not rely in keeping its source code secret.A company producing software is doing so for a customer market. Sooner rather than later, other companies will also target this market. Among those other ones, you will find Open Source software. If your added value is not present in additional services, your customers will always find a similar software for free.Closed source will then forcefully come to a decline and you will have worked very hard with your team of 10 people on a project that can’t compete with its equivalent Open Source gathering 100 people. Therefore I began to loose faith in companies whose declared added value lied in its source code exclusivity.
- Fourth, as a little idealistic as I am, I was kind of seduced by the Open Source philosophy. People developing software for everybody to be seen, tested, used, improved is grand. This is called giving the power to people.
- Last, but not least, I had the opportunity (chance?) to make the big jump. Save some cash, then go.
And so here am I, 3 years later. I have contributed to many Open Source projects, I have created a dozen, I have taken enough time to grow my competences into various fields, new programming languages, new technologies, marketing, finances… And I still can’t draw better than a 5 year old child 😉
I am now a freelance developer, and even if cash does not flow as if I was in BigCorp, I have still kept my initial vision of development and strive to live from it.
In this blog, I will talk about several things:
- Technical challenges I encounter, as it can be useful for others and will also be a way for me to not hit my head twice on the same wall.
- Various thoughts on development, business, projects.
- My own experience, as I hope it can be useful for others.
Too long already for a first post. I will have to learn how to be more concise