Being a developer

Posted on sam. 23 août 2014 in thoughts

Being a software developer

A passion made of interactions

In each serious developper's interview there is always the same classical question.
What do you like about programming ?
To be totally honest it wasn't something I have dreamed about being a kid. Nor a teenager for that matters.
Yet I have always been tied up with computers since my childhood. Doing things and others like hacking public computers to get access to the internet.
But seing people working in front of their screen all day long wasn't apealing to me.
Then I discovered a totally different world. Far from what one can expect.
Unlike the common cliche people think, a true programmer does not spend his entire day motionless and/or silent. The day is full of interactions.
In fact, as a programmer, the more you interact the better.
Interaction doesn't necessarily means speaking with people. Reading, writing (via social medias, forums, blog articles and others) are also part of the interaction process.
It is a great source of inspiration and lets you change your mind, renew your knowledge and share your point of view.
All in all, it allows you to change and adapt, something important in such line of work.
Besides, you also have the satisfaction to see things you build working and having a positive impact on others.

A mutating profession

Unfortunately for many years programmers were being seen as resources. Someone you give specifications and then ables to translate the needs into lines of code.
Denying in the process his/her ability to think and create.
Lately big tech companies and movement like software craftmanship emerged. It's an important step in the recognition of developer's carreer as a prestigious one.
Programmer is not a tool or a resource anymore, but someone you have to rely on.
Someone able to renew the way you think your business. Someone with the abilities to make business happen. Someone who has talent for inovation.
Reality reminds these simple facts every days:
- Behind the success of such companies like Google, Facebook and others there are developers
- Behind all these devices which make your life simpler, there are developers
- Behind the video games you play, there are developers

Programmers who thought and built a product which has an impact on how you aprehend your world.

Social aspect

One aspect I missed as a student was the richness of this world.
While studying, I enjoyed reading books and doing homework but this was only the tip of the iceberg.
I didn't take advantage of the networking aspect.
For instance I only discovered the concepts of hackathon and meetup not so long ago.
I regret not being aware of these events earlier.
Fortunaltely, throughout my young carrer I met people who showed me how socializing the programming world can be.
Now aware of it I changed my approach of being a developer.
Today I'm proactive. I read more blogs, I have my own blog, I participate to open source projects, I try to help fellow programmers, I ask help to fellow programmers, I try new things and share things.
Try , share and propose are the new watchwords, and that is for the best. Among people who inspired me, two have a special place.
They proved me that, as a developer, you can not only be an internal asset but also an ambassador for a company.
That is to say, you can be a dev evangelist.

Dev evangelist

Who is he ?

In November 2013 I met Tim Fall and Nick Quilan two dev evangelists from SendGrid.
So what is a dev evangelist ?
You can raise your eyebrows when reading the word "evangelist". Why such a religious word is associated to the term of developer ? Obviously it's a metaphor.
Evangelism is the act of relying information about a particular set of beliefs to others with intention of conversion.
Where I come from, "evangelist" has a strong conotation. Something you will not/should not associate with a term like developer.
So to speak to everyone, let's consider titles such as technical advocate or technical ambasador.
As a developer he/she contributes to software products but stresses on the social and community aspect.
Not only he/she codes, he/she is also the ambassador of an entire company.
- He presents products and features he directly contributed to (such as SDKs, APIs, articles...).
- He writes articles and tutorials to help the community he is devoted to.
- He helps to design products and develops businesses.
More importantly, he is here to help, and this aspect appeals to me a lot.
In the rest of the article we will refer to dev evangelist as DE.

Why do they matter ?

Being well rounded in both communication and technical skills

In France, we do not have this culture of DE (I don't know any french group using this concept, if you do let me know).
We usually let commercials do the presentation part, and programmers the technical part.
Things are separated. This matter of fact is not exclusive to the software world.
But this strategy has a major flaw. Commercials, no matter how good they are, usually do not have the technical knowledge not only to sell a product but also to explain it from a technical view and even to contribute to it.
I met commercials who previously were developers and now promote softwares. But they completly changed their job.
They don't code anymore, and it's only a matter of time before their technical skills start to dwindle.
They cannot feel how a software or an API is perceived by the community it is conceived for.
And one cannot expect programmers to deeply understand the need of their end users if they do not interact with them.
I noticed this symptom during the API days in Paris.
On the one hand, we had two commercials. On the other, one DE from Sengrid. Both groups presented tools related to APIs.
The first were clumsy in their approach as they clearly didn't prepared their presentation and heavily relied on their slides.
Yet the presented tool was something powerful and apealing (generate an API based on HTML elements of any websites).
But they did not transfer any enthiusasm to the audience and let them guess what was behind the product.
On the other hand, the DE was full of inspiration and enthusiasm, and made it contagious. Slides were not so important as he was able to mesmerize the audience.
In the end I was full of ideas and motivation to explore the API he contributes to and the business behind it.

One can ask the following question. Why not associate a commercial with a programmer? That's what happened during the APIdays' hackathon.
Among the presentators, one commercial and one programmer paired together. The association may sound good. Indeed, if a commercial does not fit the technical part, let's associate a programmer to leverage interaction with the audience.
But the programmer simply didn't want to be here. He presented the tool he contributed to and then left.
That was dubious. On the one hand a commercial was speaking about what was being done by the programmer. On the other hand a silent guy was hardly explaining what was happening and left when everything was done.
Why did this association didn't perform as one can expect ? Why this lack of motivation while all the other DE were making their show ?
Two reasons come to my mind.
1. the job
It was saturday morning and the programmer was doing extra. In other word he wasn't paid. To make things simple every non DE didn't stay more than half a day during this two days long event.
On the contrary, working on non predifined shedules is part of the job of DE. He is devoted to a community, which still exists during the weekend.
2. skills
DE besides being good developers and fast learners are inclined to socialize with people. Express ideas and make them simple. In france we don't have jobs specially fitted to speak for developers. We usually send pure developers, but they do not necessarily fit the task although they may be very good at developping.

Being open minded

Reading this, one can say that DEs are new breed of commercials. In my point of view, they are not.
In fact they aim at a different target, that is to say developers.
While commercials aim at companies, decision makers and share olders, dev evangelists are programmers who speak to programmers.
Looking for business oppurtunities is part of their job, but their main goal is to help people. No matter what they are working on.
If it concerns the API they contribute to, it's fine. If it's not, it's also fine.
They also represent a state of mind (and skills) of their employer. Nick Fall once told me the following story:

During an hackathon, one DE proposed to help a team.
Knowing he was working for Sendgrid they politely declined his help saying that they didn't need to send emails with their application.
He insisted and made it to succesfully help the team. Later, one team's member heard about sendgrid at his job. He was asked about sendgrid's products and replied this: "I don't know anything about sendgrid but given the level of skill of their developers, I don't think their products are bad."

This tell-tale story sums up pretty well what a dev evangelist is devoted to. As I was intrigued by the way you become a DE, I asked Tim on how to become a dev evangelist, and I will finish with his simple answer.

"The best way to be a dev evangelist is to be a dev evangelist."

Conclusion

Am I happy to be developer ? Yes.
Altough we do not have (yet) the attractiveness of other carrers like physician or pilot, I'm conviced that things are changing for the better.
Jobs like dev evangelist, to me, are the evidence of a mutation in the programming world.
It proves that being a developper is far from the cliche vehiculed by medias such as movies and are real asset for companies.
Will I be still a developer in 10 years ? Well I don't know. I also have other passions I can dive into like movies, photos or travels.
But being a programmer gives me the oppurtunity to meet interesting people and think on various topics.
The era in which we live gives more and more place to technology.
This trend won't change (at least for the 15 next years) and this is good news for developers.