In this Episode
Based in Paris, Aymen El Amri is the author of the Leanpub book Saltstack For DevOps: Extremely fast and simple IT automation and configuration management. In this interview, Leanpub co-founder Len Epp talks with Aymen about his background, his education in Tunisia, the distinction between being a software developer and being a software engineer, whether people should be able to vote in elections online, his book, and at the end, they talk a little bit about his experience as a self-published author.
This interview was recorded on January 31, 2018.
This interview has been edited for conciseness and clarity.
Len: Hi, I'm Len Epp from Leanpub, and in this Leanpub Frontmatter podcast, I'll be interviewing Aymen El Amri.
Based in Paris, Aymen is a cloud architect and devops proponent, who has worked as the head of IT and devops at a Parisian start-up, and is the founder and CEO of eralabs, a consultancy working with companies around the world.
Aymen is the author of three Leanpub books, Saltstack For DevOps: Extremely fast and simple IT automation and configuration management, Painless Docker: Unlock The Power Of Docker & Its Ecosystem and The Jumpstart Up: A Practical Handbook For Leading Agile & DevOps Transformation.
In this interview, we're going to talk about Aymen's background and career, professional interests, his books, and at the end, we'll talk a little bit about his experience writing as a self-published author.
So, thank you Aymen for being on the Leanpub Podcast.
Aymen: Hi Len, thank you for having me.
Len: And thank you for taking some time out of a Parisian evening to talk to me on this podcast.
I usually like to start these interviews by asking people for their origin story. Can you tell us a little bit about where you grew up, and how you first became interested in computers and software?
Aymen: Sure thing. I grew up in Tunisia. It's a small but very beautiful country in North Africa. Given the name, people may think that it's Indonesian. But the pronunciation is quite similar, it's Tunisian.
My story with computers and software started when I was young, with video games and consoles. I guess it's the same thing, like the majority of people from my generation. I had an Atari console, and even with its slow graphics, it was and it's still one of the best consoles that I played with. I was also a huge fan of Sega Mega Drive console, and Sonic video games. I remember my debates topics with my friends at this time were all about which is the best video game character - Mario or Sonic? And I got my strong opinion on this.
The first time I started coding, it was when I was probably 13 or 14. I created a small arcade game. It was strongly inspired from Mario, and it was with one of my friends. That was like doing social coding and pair programming at that age. Well, it was really funny for me to code my own game, even if it was very basic.
At this time, I started to be more interested in programming. And the fact also that my father is a telecommunication engineer, and my uncle had the computer store, helped with me a lot to start programming at an earlier age, and made my interest to computers and software grow faster.
I also had the chance to get early access to internet, when there were only a few websites like AltaVista, Lycos and Yahoo! etc. I was always curious about how the internet works, so I started to move my interest from video games to web development and system and network administration. This is how I became passionate about computers and software.
Len: Can you talk a little bit about what the education system is like in Tunisia, and your path through it? In your LinkedIn profile under high school, when I was researching for this interview, I noticed you list a Bachelor in Mathematics and Computer Science, which might be an unfamiliar thing to do in reference to high school, to many of our North American listeners.
Aymen: Yes. There are probably some differences between the education path in my birth country, and the North American countries. For me, it's more similar with some European countries. But we do have the primary school, the college, the high school, the university, the master and PhD degrees, etc.
But for your question about the bachelor degree. After the college education, students have the choice to follow a branch for high school. For me, I made the choice of following the branch of mathematics and IT over other fields, like natural science, literature or economics. My choice was motivated by the fact that I always wanted to continue studying software engineering in the university.
So after four years in high school, students should take a national exam called "Baccalauréat". The word origin is French, and in my LinkedIn, I translated this to "bachelor."
During this exam, all students must take, regardless of their field of study, many exams in different subjects like mathematics, philosophy, computer science, etc.
The diploma is most probably the equivalent of US high school, plus the first two years of US university.
After this diploma, I got a university degree in computer networks and telecommunication, followed by a diploma in IT engineering, and a master degree in the same field.
Then I moved to Sweden, after that, where I studied something really different from what I studied before, which is social innovation in a digital context. It's a Master's program focusing on the fields of digital technology, new media and sociopolitical change.
For me studying was really funny, but I was the lazy guy who studied at the end of the year, just a few days before the final exam.
After Tunisia and Sweden, now I've been living in Paris for a few years. I'm not studying here in Paris, it's time now to earn a living. I'm working on the fields of cloud computing and software engineering. And I started my own company and projects.
Len: You mentioned that eventually you completed a Master's degree in Software Engineering. Was that an experience you would repeat? I have talked to many people on this podcast about their opinions concerning the importance of getting, or the importance of not getting, formal training in software, as a way of preparing you for a career as a software engineer, and about half say that if they were starting out now, they would not do a university degree.
Aymen: I don't have a yes/no answer for this. I think that it depends on many things, like the motivation and the goal of every one of us.
If you'd like, for example, to become a doctor - if you finish your studies, no one will go to a self-taugh doctor, right? But in the specific case of software and IT, I see that they make a difference between software development and software engineering.
For some, for someone having the goal of becoming a software developer, I think that having university degree is not really something that could add much value to his career. But practical training would be - would fit better probably better fit this goal.
But if someone would like to do a software engineering role, I think that university is important. Plus, you should have some practical training.
In my case, during my university years, I studied a lot of mathematics and physics. And even if they were not my main field,they were like gymnastics for the brain. So that's why I think that studying in general, and the university specifically, could teach us an important thing, which is the skill of learning how to learn. I don't say that university is the best place to learn. But it could be a relatively good part of our learning path.
Len: You mentioned you spent a year at Lund University in Sweden, earning a diploma in Social Innovation in a Digital Context. Can you talk about that program and what drew you to it?
Aymen: It's a one-year Master's program. It's carried out by the Internet Institute of Lund University. It's a university in in Malmö in the the south of Sweden. This program supports social and digital innovators from many countries. It's about these innovators, to pursue projects in the fields of digital technology and new media.
Some years ago, I started building a small social network, with the goal of experimenting how it could be helpful for local and direct democracy. I was interested in these kinds of projects, and how we can use technology to make social change happen. Having similar projects was one of the criteria to be accepted in this master program, actually.
I was interested and curious about this. I applied, and I was accepted. Now there is a tool called DemocracyOS, and there are many other tools. DemocracyOS, for example, is a tool that is quite similar to the project I started before. This Master's program was a really good experience for me.
Len: This may seem like a bit of a random question, but do you believe that people should be able to vote in elections over the internet? I'm asking particularly in the context of concerns in the United States about foreign election meddling, and the ongoing discovery of major security flaws, such as the Meltdown and Spectre flaws.
Even if we could have a perfect technology, it seems like online voting would be a special kind of target for people to make claims about election meddling, even where none existed - which is just another form of meddling, of course.
Aymen: Yeah, it's a random but interesting question. I think that one day people will be able to make 100% of votes online. And there is actually no system with zero flaws. But this could be applied to any offline system, like the traditional voting system.
I think that the major obstacle to online voting is not just the security, but also the culture. Like you said, people could claim about election meddling, even where none existed.
They are used to the classical way, or the traditional way of voting. The main problem with moving to an online voting is primarily cultural, before being technical. I believe that some technologies right now, like blockchain, have a great potential, and may change the way we vote. If people accept to change their culture regarding critical events like the elections, I think that, and I believe that, the technology would follow.
Len: You're the founder and CEO of eralabs, a cloud and devops consultancy based where you are in Paris, that does work for companies around the world. What's the origin story of eralabs?
Aymen: eralabs is a consultancy company and a one-stop-shop for devops projects and cloud based projects. We are based in Paris, but many of our customers are in US, actually.
Before eralabs, I worked with many companies, from small to large organisations, in many countries, in different roles, and acquired a good experience during these years. But I always had the will to achieve greater things. Creating eralabs was the first step.
Now I'm happy to provide my devops services to many companies. Some of them are in the top 10 world-class companies. This is really rewarding and motivating for me.
Len: You're also a founder of DevOpsLinks, a community for people in IT and devops. Can you talk a little bit about what DevOpsLinks is, and how the community has developed?
Aymen: I like communities and working with communities to achieve common goals. This is actually why I am a huge fan of open source and free software. DevOpsLinks is also a community that I started two years ago, probably a little bit more. You have a weekly newsletter where I curate must-read articles and tutorials, a Slack channel where everyone could ask and find answers about devops, cloud, CICD, etc.
We have also a Medium publication, a job board JobsForDevOps.com, and I am working on other projects, like a collaborative community blog. When I started this project, there were a few ten's, and now we are a few thousands. Each day new people are joining. It's a pleasure to see that the community is growing actually. I'd like to say hello, by the way, to DevOpsLinks members.
Len: One of the privileges of this podcast is that I get to talk to people from all over the world, and I wanted to ask you, what's the startup scene like in Paris these days?
Aymen: I consider Paris as one of the most growing startup hubs. There are many startups here from deep tech to IoT to fintech. During the five last years, the number of incubators and accelerators remarkably increased. This is really interesting. Some of these startups moved to the actually at a certain stage. But this doesn't prevent the others from innovating and growing.
Len: What's the story behind your book, Saltstack For DevOps: Extremely fast and simple IT automation and configuration management? I'm curious what inspired you to write it?
Aymen: This was my first book. Saltstack is a data-centered orchestration and configuration management tool that helped me a lot in one of my previous experiences. We were a team of 14 engineers, working on a big project.
If I remember the right numbers, it was a project with two different versions. One of them is a legacy version, 12 different environments. And each of these environment has three sub-environments. Environments - testing, staging and production - Saltstack helped me to manage the configuration of all of these projects and environments and top [?] environments, and orchestrate how all of these work.
At that time, I found that the official documentation was not enough for me. So I was looking for some online books. And the first book that I found was on leanpub.com. It was a free book, but it was not really complete. So I decided to write a book about this tool. I made my first sale just two hours after publishing it, and it was really awesome. The first sale actually is always the best sale, we never forget it.
Len: In your, Painless Docker book, you write about how "developers think they are here to serve the machines." Can you talk a little bit about what you mean by that?
Aymen: Yes, I remember this. In my previous experiences, I worked as a system administrator, but also as a developer. And during these years, I noticed that there are always conflicts between these two teams. So I wrote about the common idea that developers think that they are here to serve the machine, or to feed it each period of time with a fresh code to deploy. The machine is hungry and should eat, otherwise it will stop working and the boss will be angry.
I wrote also about system administrators who think that machines should be happy. Feeding the machine will make it sick and angry. Especially with obsolete codes. It will stop working and the boss will be angry too. So it was like an ironical way to describe the conflicts between developers and system administrators. It was an opportunity for me to introduce devops and cross-team collaboration to the reader.
Len: In The Jumpstart Up, you write, "How innovative is my product, is not more important than how am I developing it." Can you talk about why that is particularly true now? You write also about how the digital world is changing its formula.
Aymen: In our time, if you think about an idea or a product, even the most innovative one, I'm sure that there is someone else who had the same idea before you. So the idea is not really as important as how you are going to realize it. After some months or years of development, some start-ups may encounter some technical problems that could be blocking their growth.
I've seen also some of this in my previous experiences. The best way I think to solve these problems, is avoiding them, and asking this question at an early stage, "How am I developing my idea or my product?" Here I am talking about scalability problems and technical limits of the development product - the best development practices, the security in mind and technological choices.
Len: And what do you mean when you talk about infrastructure as code?
Aymen: I mean all the processes to manage and provision infrastructure using code. Tools like Saltstack, Ansible, Terraform and Amazon Cloud Formation, are actually infrastructure-as-code tools. In my humble opinion, a real devops transformation, especially for big companies, cannot be done without using infrastructure as code. I think it's impossible to do devops transformation without this, because it allows any organization to track all the changes on the infrastructure, since it's managed using the code, and since a code could be versioned using something like Git, like any software code using systems. So the complexity of managing and running infrastructure is reduced to managing code and configurations, which is actually easier, faster, but also shareable across teams.
Len: Can you tell me a little bit about how you found out about Leanpub, and why you chose us for your publishing platform? As I understand it, you had offers from conventional publishers to write books with them.
Aymen: Yes. Like I said, I found Leanpub the first time when I was searching for a book about Salt. I didn't found a good one so I wrote my own. Now, I had some offers from conventional publishers, to write new books for them, or to publish two of my Leanpub books with them.
But until now, I didn't accept any offer, because I prefer freedom and less conditions. So I'm working on other projects actually, like transforming my books to online trainings for B2C and B2B customers. So, "Painless Docker Training," for example, could be found at painlessdocker.com. And probably in the future, I'll do the same with the - with my books, Saltstack for Devops.
Len: You publish your books while they're still in progress. What do you find attractive about this way of publishing?
Aymen: Yes. Leanpub helped me a lot with the lean publishing, and I'm thankful for this. I tested my first book using Leanpub, and for me it was a success, because it was the first book. So I published the second, I'm still publishing the third. Now I am working on my online academy. What I like about Leanpub is the lean. I'm passionate about devops, because it incorporates many lean principles, like continuous improvement.
For me, lean publishing is about three things. First it's about testing the market. Second place, it's about self-motivation, because selling your book while it's in progress brings a lot of motivation. And finally, it's about continuous improvement based on the continuous feedback from the readers.
Len: That leads me to my next question, which is: is communicating with readers important to you, and how do you manage feedback from readers?
Aymen: To me communicating with my readers is probably the most important thing, or more important than anything else. In order to keep in touch with my readers, I simply add an email to the book preface, and I also invite them to join my community or my newsletter, or the communities, like team chat.
Len: My last question is always: if there was one problem with Leanpub we could fix for you, or one feature we could build for you, what would you ask us to do?
Aymen: Yeah, I talked about the continuous improvement based on continuous feedback. I think that having a system of annotation, the reader could annotate and comment on a paragraph or a sentence, and could also add suggestions or questions. These kind of tools could help in having continuous feedback and producing customer-based, or reader-based, feedback-driven, quality books.
Len: Thanks for that very clear feedback. That's really helpful to us to hear about that kind of thing from really smart authors.
I wanted to thank you Aymen, very much, for being on the Leanpub Frontmatter podcast, and for being a Leanpub author. I wish you more first book sales in the future.
Aymen: Thanks, this was really fun. Thank you for inviting me.
Len: Thank you.