DAVID LEDGERWOOD: Ahmad, good to have you here. I'm really stoked to have you on.
AHMAD NASSRI: Thank you, David. Happy to be here!
LEDGE: Fantastic! A lot of people in our audience are familiar with you but for those who are not familiar, can you give your two- or three-minute background of yourself and your work.
AHMAD: Sure, no pressure. My name is Ahmad Nassri. I am currently the chief architect at a company called “TELUS” in Canada. It's a big telecom in Canada. I spend a lot of time in the open source world. I've done a lot of community-based kind of program and its initiatives.
I'm the founder of a community called “Tech Masters,” with a lot of freelancers and developers from all across Canada and the world. I mentor in Node School Toronto. I organize a number of conferences and events in the community in Canada and in Toronto.
And for my own personal kind of enjoyment, I spend a lot of time writing open source software and contributing back to the community as a hobby but also as a part of my professional development.
A little bit of information about me is, I guess, I'm Syrian-Canadian and I'm very proud of my heritage and my history. I came to Canada in 2005 and pretty much built my life and network Canada and the wonderful community in Canada that's tech focused and has been always where I go back to get support and get learning and get growth opportunities.
LEDGE: So much is talked about in the open-source space right now like tremendous movements, positive, a little bit of snarkiness around the edges of licenses and different things going on now.
What's the pulse? You talk to hundreds of developers all the time. What are you feeling 2018 is wrapping up as?
AHMAD: In my view, 2018 is the year of two things: Node.js and security. Unfortunately, those two things are coming together recently in recent days. There's a lot of issues that happened in the Node.js world and package maintenance and kind of vulnerabilities that are happening more and more frequently; but that's only because of the mass adoption of Node.js and the mass popularity of Node.js and TypeScript, in general.
But I also say security because now, more than ever, things that we've always seen as developers and technologists as key foundations to how we interact with each other and other people online where there are things like passwords and databases and accounts, they're now in the mainstream.
Nowadays, the idea of using a password manager, as an example, is not something unique to a techy person. It's something your grandma should be using which actually has a lot of connections and implications to our profession and how we work and the kind of applications in software development we create and do.
LEDGE: Obviously, as professionals looking to preach the ethos of open source and sort of broaden the reach of development, that's a really great thing. And then, we face the pressures of sort of going, the consuming public or business public maybe doesn't know the difference between Developer A, B, C, and D from a skill perspective or from a stack perspective or geography, communication. What are all the soft skills around engineering?
We deal with that on a daily basis so you can have a worldwide community; that doesn't mean that maybe you have a worldwide equal playing field. I don't know. Does that resonate with you and how do you deal with that when having those conversations with people who are not immersed in this?
AHMAD: It definitely resonates. Hey, I work for a telco, okay, one of the oldest IT tech companies in the world as far as the category goes.
The telecom business is very interesting in that sense, and those disparities that you're describing as daily life for our team and that level of technology we do because we're coming in from the web, the Internet modern software development and we're constantly hit with IT systems from twenty, thirty years ago and the telecom infrastructure and the way all these things have to interject at some point.
Yes, the point of whether they're business leaders or average Joe in the street, how they look at software developers and how they look at technologists, in general, there's that typical stereotype kind of view of either the nerd in the basement or the hacker mindset. And there is no gray area in between. And, as you probably know, there are a lot of various shades in between those things especially in our profession.
When we talk about “Should we hire developers in to work?” I'm like, “Okay, great, but what kind of developers are you talking about? Are we talking about infrastructure? database? automation? web? mobile?
There are so many different opportunities out there and those skill sets in themselves are becoming more and more deep and very specialized as opposed to something somebody can pick up fairly fast.
LEDGE: I just want a full stack developer. Does that clear things up for you?
AHMAD: Absolutely, it does.
LEDGE: And the huge conversations about security moving left and QA moving left and the coalescing of the product in engineering functions and who gets to rule and do we have customer empathy and what's the purpose for you in developing this?
When I was in software engineering, I was the nerd in the basement and I got to code with the lights off, and that was okay.
That's not okay anymore. The rapid rise of soft skills in software being the critical factor that defines is that someone can actually be a professional in the space. How do you recommend that freelancers and software engineers who are trying to score client gigs just sort of represent themselves? What makes the stand-out candidate now?
AHMAD: That's a very hard question but just to use a professional example, again, I work for a telecom now and I repeat that because, sometimes, I forget that; and people around me when I first joined the telecom said, “Really you working in a telecom? That doesn't kind of add up” because I was always doing the startup bleeding edge things.
But the reality is, at the end of the day, the software practice or, at least, the modern software practice ─ as you've said, there's a level of empathy; there's a level of client engagement; there's a lot of user understanding that actually takes more precedence than you sitting down and writing code.
You writing code should probably the last thing you do before you commit to a work or commit to a project; and that's true whether it's an enterprise or a startup or you're freelancing.
There's that upfront effort and you have the responsibility and, in a way, the kind of requirement to be the one to stand up on behalf of the customers, stand up on behalf of security, stand up on behalf of the user experience, and stand up on behalf of the technical debt that you might or might not be creating.
And that's purely a people conversation. It has nothing to do with technology. It has nothing to do with bits and bytes and zeroes and ones. You have to have that skill, the soft skills, to be able to engage with people, talk to them to either win them over to your side or help them surface their requirements better and help them surface their concerns better.
The soft skills are the ones that drive the modern software practice. It's less so now about your technology skills and your ability to drive code. It's more about “Are you able to work with others and are you able to represent the practice meaningfully in whatever role or position you're in?
What are the key things I always hire for?
In fact, the only two things I have as a requirement for hiring individuals in any software level are ability to learn and willingness to learn from a pure skills and evaluation because I'm not going to evaluate you on how much you know a certain framework and how you know a certain language because those things change.
And as long as you have the ability to learn and the willingness to learn, you can overcome that which means if you remove those skills from the equation, the only thing left are those soft skills. And the only thing that matters is the ability to interact with other people and work with other people.
LEDGE: I'll say that I do. Do you ever lament the days where you could just be the code poet in the basement? I loved writing code and maybe I didn't want to deal with all these things.
Now, I went to the business side so the dark side of the force is strong with me. But I wonder, do you ever just want to sit down and write code and not deal with all those things? If so, how do you get past it?
AHMAD: Every single day! At least, for me, I have an outing and that outing is open source and being able to contribute to open source projects, be part of open source projects or just create my own open source projects. Big or small, it doesn't matter. And it gives that ability to satisfy my creative need, my ability to be a contributor when I'm not at work, for example, given the kind of leadership levels that I'm playing.
But, at the end of the day, it's also a factor of growth because if you're disconnecting from the day to day of building software and writing software and, again, interfacing with other humans writing software, you're going to lose that touch.
And that touch is something that's generational. It's different per community of programming language or system or framework. You have to be engaged in it. And if you're not able to be engaged in that at work ─ let's say, like I am ─ you have to satisfy that somewhere else and then bring back the lessons into your day to day or into your work culture.
So I try to satisfy that in being part of these communities and being part of the open source world and being part of something outside of work.
Again, it's a privilege that I can do that. A lot of people don't have the time or the ability to do that outside of work. But, for me, it's something I need to do because if I don't, to your point, I'll go crazy and I just want to be writing code all day instead of dealing with meetings and just business conversations all day long
LEDGE: Last question: What are the best most tangible communities that software engineers, freelancers, open source enthusiasts, maybe your top few lists, things that you must be a member of to stay relevant and connected?
AHMAD: There's one community called “Tech Masters.” I don't know if you've heard of it. That's a shameless plug. I created and founded Tech Masters. It's a community of over 7,500 individuals from around the world, mostly, but Canada mainly. There are software individuals, developers, and engineers from all around.
It's a Slack conversation and it's an ongoing kind of opportunity for people to interconnect and learn. And those kinds of communities are rare because we see a lot of, let's say, meetups and events and things that are consolidated around a thing, the thing be it programming language, the framework, the system, whatever.
There's not a lot of communities out there around the individuals ─ places you can go and talk about your career as an individual, an abstract of the technology you're using; places you can connect with others who are probably suffering the same level of corporate headaches or challenges that you're facing and just learn from them or share your lessons with them.
I think we need more of this type of communities. I think that these types of conversations or these kinds of podcasts are also helpful and thery’re cathartic. in a lot of ways.
I listen to the Changelog. I started listening to a number of techy podcasts that talk about technology but I'm more interested in talking about the individuals and the people themselves.
I've also started a podcast called “Hacker Bio” just to talk about the individuals ─ where they're coming from, what they do, and why they're doing what they're doing, an abstract of the technology itself.
I think a community like Node.js, for example, is very interesting bunch of very motivated humans who are all part of this ecosystem of technologies and libraries and tools; and I really enjoy being part of that community.
Even if I wasn’t part of the core Node.js foundation, there's an element of camaraderie that you get with those kind of people.
I'd encourage anybody who has gone to conferences or events and just attended the talks and just went back to their daily lives to also go and connect with the people who are part of those core communities whether they're core contributors to a framework or a language or the organizers of the event themselves.
Connect with them because those people also have the connections further to the rest of the community and can help you connect more. So I think that's a very interesting way to get beyond the thing whether that thing is a programming language or a technology. Just talk to the humans behind it and learn more about what their daily lives look like. And that would be very helpful for your own personal growth that I've kind of experienced and found very helpful.
LEDGE: It's amazing! It all comes back to people.
LEDGE: It's really good to have you on, man. Super inspirational! I know the community is going to love it and we will make sure that all the links and shares are in the show notes.
AHMAD: Excellent! Thank you very much for having me.