Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:00
He used to encourage that people don't
0:02
just go home and leave
0:04
their laptop, go home. Like he used to say that laptop
0:07
should be a part of your body at
0:09
that time. So
0:11
he used to say that. And then
0:14
I was spending like almost like till 1 a.m. in
0:16
the office, we were sitting there. We were basically living
0:18
there. So he was like a family member. So.
0:21
Welcome back to the
0:23
Freeco Camp Podcast. I'm
0:49
Quincy Larson, teacher and founder of
0:51
freecocamp.org. Each week we're
0:54
bringing you insight from developers, founders
0:56
and ambitious people getting into tech.
0:58
This week we're talking with Kamrad
1:01
Ahmed. He's a software engineer and
1:03
founder of Roadmap.sh, which
1:05
has skill tree roadmaps for lots
1:07
of developer fields such as DevOps.
1:10
As a teacher, he's also a
1:12
Google developer expert and a GitHub star.
1:15
Kamrad, it's a pleasure to have you here, man. Thank
1:18
you for having me, Quincy. Yeah, and
1:20
I'm a long time fan of yours
1:22
and of Roadmap.sh. I've
1:24
written articles about how cool these visual
1:27
roadmaps of different skills you should acquire as
1:29
a developer, like depending on which fields you
1:31
want to go into. These are super useful.
1:34
So. I'm a
1:36
big fan of Freeco Camp as well. I mean,
1:38
I came across it long time ago, like after
1:40
one year of launching Roadmap. And
1:44
I came across by a comment
1:46
on Reddit, someone mentioned that go take
1:48
a roadmap from Roadmap.sh and
1:50
learn from Freeco Camp. It's good
1:52
that I came across it later. I otherwise I
1:54
might not have launched Roadmap. I mean, Freeco Camp
1:56
was already there. It was a good enough resource.
1:59
I didn't know that. that there is something like Free
2:01
Code Camp. Yeah, well,
2:03
thank you. I feel
2:05
very honored that you
2:07
know about Free Code Camp that you've, that you
2:10
saw value in it. And yeah,
2:12
Free Code Camp, of course, being a big work
2:14
in progress, Free Code Camp just focusing on
2:16
a few key skills with our core curriculum. Roadmap.sh
2:19
has a broad category
2:22
of different careers that
2:24
you can potentially pursue, right? You've
2:26
got, how many
2:28
different career specializations do you have
2:31
represented with Roadmap? So we
2:33
have two types of Roadmaps, role based and skill based.
2:35
In total, we have around 55. I
2:38
don't know the exact number of the role based and skill based, but
2:40
total 55. Okay, so at
2:42
least probably 20 or so different developer
2:44
careers. Can you give some examples of
2:46
some careers that people might pursue? Front
2:49
and back end DevOps, full stack,
2:52
QA, UX Designer,
2:54
Cyber Security, product management, DevRel, technical
2:56
writing, and there are many others
2:58
as well. But yeah, off the
3:00
top of my head. Yeah,
3:02
that's amazing. There's just
3:05
a wide variety of different
3:07
fields people can go into with their
3:09
coding skills. And some of
3:11
those skills that you, some of those
3:13
fields you mentioned are very multidisciplinary
3:15
as well, like technical writing or like
3:17
user experience design that bring in, you
3:19
know, potentially like, you know,
3:21
cognitive psychology, they bring in research,
3:26
methodology, like all kinds of different exciting
3:28
stuff. So the
3:30
thing that I guess one of the big messages
3:32
that I have for people who are considering,
3:35
you know, a career in 2024, 2025 is think about what you can do
3:41
with those coding skills. Coding is
3:44
a skill. It's not a career in itself.
3:46
It's one of many skills that you will
3:48
need to succeed as a software
3:50
engineer, as a designer, as
3:52
a mechanical engineer or an
3:54
electrical engineer or doing
3:57
like working with AI systems.
4:00
Even a lot of people in government should
4:02
probably learn how to build systems because
4:04
they have to help figure out how to regulate
4:06
them, for example. So I
4:09
love that you've got these detailed progressions
4:11
of skills and you've kind of thought
4:13
about dependencies. You've thought about what
4:15
the prerequisite should be for doing
4:17
things. Can you talk about Roadmap? And
4:20
anybody who hasn't been there before, you can of course go to
4:22
roadmap.sh and you can check out what
4:25
these look like. But they look
4:27
kind of like those balsamic markups,
4:30
like you used to be able to make mocks. I
4:32
guess the song is probably still around. You can make mocks.
4:34
A lot of people use Figma now, but it's like
4:37
nice little boxes and arrows
4:39
and things like that. Almost kind of
4:41
like UML or something like that, where
4:43
you're like pointing to relationships between different things
4:46
and forking paths and things like that. So
4:50
yeah, Roadmap provides a learning path for developers. So
4:52
this is the tagline, learning path for developers. So
4:54
we are a community-driven project, 55 plus
4:57
Roadmaps. We have already, there are two types of
4:59
Roadmaps, role-based and skill-based. Role-based, for
5:01
example, if you want to become a front-end developer,
5:03
back-end developer, DevOps, or whatever role do you want
5:05
to take? What are the steps you can
5:07
take? What are the skills that you should acquire? What are the
5:10
things that you should learn? So this is the
5:12
path, the visual hierarchy of different steps.
5:14
And the second thing we have is also when you click
5:16
a node, we give you the resources. So
5:18
we might be linking to free code, can videos that
5:20
you might have there, some external free courses on YouTube,
5:23
free books. So we have a lot of free resources in
5:26
the Roadmap. So we don't just give you a path. We
5:28
also link to the external resources to
5:30
help you go and pick them up on
5:32
the internet. So this is the Roadmap
5:35
part. The next thing we learned recently is the
5:37
projects. So mostly learning
5:39
just by reading or watching a tutorial is not
5:41
enough. You need to build a lot of projects. So
5:44
we started adding projects to most of our Roadmaps.
5:46
So we started with the most famous Roadmaps.
5:49
Back-end Roadmap is done. So we have around 20, 22 projects
5:51
in there. So
5:53
when you're learning, go and do the beginner-specific project first,
5:55
then do the intermediate points, and then the senior ones.
5:58
And then we also have the community submissions in there. there
6:00
so you can go and check like how someone
6:02
else solved this problem so if you get stuck
6:04
you can get the idea from there. Yesterday
6:07
we joined the frontend project so this is also there.
6:09
Apart from this we also have guides we write
6:12
like we from time to time we write a
6:14
lot of technical articles as well we have some
6:16
YouTube videos as well and
6:19
we have questions so we have six questions so
6:21
far at the moment like let's say that you
6:23
are a frontend developer you need to test yourself
6:25
how good you are at frontend so you can
6:27
go and answer the question and see
6:30
how if you know that know it properly or not. So
6:33
yeah in a nutshell this is that the next thing we
6:35
have is also login and registration so you can log in
6:38
while you're following a roadmap you
6:40
can track your progress in there interact with other
6:42
developers who are learning the same thing apart
6:45
from this what you can do you also have a
6:47
public profile so you can share your kind
6:50
of a resume with other other like potential employers
6:52
or anyone to see that I'm learning this is
6:54
this so this is what my expertise look like
6:56
independent backend or DevOps or whatever it is yeah
6:59
that's also there and then we also have teams
7:01
that we recently launched so teams can also use
7:03
roadmap for their internal employees as well to track
7:05
their progress and stuff. Awesome wow
7:08
you're building on a lot of stuff that is like I
7:10
can imagine it being super useful like we have people
7:12
all the time who are like hey how can our team
7:14
use free code campaign we're like eventually we'll have a public
7:17
API that you can use or we'll have
7:20
like some sort of enterprise solution or whatever
7:22
but like that's on our literal roadmap but
7:25
it seems like you're just going out and you're
7:27
doing these things so that's very impressive I
7:31
want to delve a little bit into the fact that
7:33
this is an open source project right like you created
7:35
this you put everything out there everything's free as far
7:38
as I can tell like I've never seen like any
7:40
sort of like pay for roadmap like everything
7:43
is just freely out there and people
7:45
can just grab this and use it
7:47
and your open source projects are incredibly
7:49
well received by the developer community you
7:51
have I think some of the biggest
7:53
projects on github in terms of like
7:55
I think I read that
7:58
you had more than a thousand contributors
8:00
to these over open source?
8:03
Yeah, on Roadmap alone we have more than 1000 contributors in
8:07
total. Yeah, so in terms of number of stars
8:09
on my GitHub projects, I am the second person
8:12
on GitHub with more stars. And
8:15
yeah, I have like some quite famous, like for example,
8:17
the driver.js which has been downloaded by two and
8:19
a half million users, it
8:22
has like 50-60,000 downloads per week. And then
8:24
I have similar design patterns for
8:26
humans, which is a textual guide with almost 45,000 stars.
8:29
And some others like more than 10-15,000 stars on each. Wow. So
8:33
you're doing a lot of stuff beyond just
8:35
Roadmap, like design patterns for humans. Sounds like
8:37
it's kind of like a book on GitHub.
8:41
Yeah, so it is just a big markdown file. So
8:43
it was supposed to be a book on the side,
8:45
but I decided to put it on GitHub. So it's
8:47
just big markdown file with examples and textual descriptions of
8:49
design patterns. Awesome. I'm going to link
8:51
to that in the description as well because a lot
8:54
of people ask me all the time, like how can
8:56
I learn design patterns? So
8:59
I added that to my notes for the
9:01
show notes. By the way, everybody listening,
9:04
if you're watching on YouTube, of course, we've
9:06
got the video description. I'll have
9:08
a lot of information there. If you're listening to
9:10
the RSS feed like I do on, you know,
9:13
Apple Podcast, Spotify, wherever you're listening,
9:15
your podcast tool of choice,
9:18
be sure to check out the show notes there
9:20
as well. So we'll have lots of helpful links
9:23
there. So come on. I want to dive
9:25
into your background first because you have
9:27
a very unique, like international background.
9:30
You're like an international man of mystery
9:32
traveling around, working in all these different,
9:34
in all these different countries, in all
9:36
these different cultures. My understanding is you're
9:38
originally from Pakistan and that
9:40
you've just kind of branched out from there
9:43
across Asia and Europe. Can you talk about
9:45
your career progression? Maybe we can even go
9:48
back to like your early
9:50
days and how you got interested in programming
9:52
and technology. So I
9:54
had my first computer around, I think, when I was
9:57
9, 10 years old, but it was not for programming. I was
9:59
mostly gaming. My father had it so I was just using
10:01
it for playing games and stuff. Programming
10:03
I was, I mean I never tried programming at
10:05
all. I was doing some kind of design work
10:07
and stuff before. Just as an experiment for fun.
10:11
I started with programming around 2010. So
10:14
when I got the admission in the university
10:16
in software engineering. So my graduation
10:18
year was from 2010 to 2014. I
10:21
graduated in software engineering. But it
10:23
was a small university back in a small
10:25
city in Pakistan called Pascabad. I
10:28
still consider myself to be self taught because
10:31
the curriculum there was pretty outdated. They don't train you
10:33
to be like how to get a job or how
10:35
do you go out and what do you need to
10:37
work on and so on. So this
10:39
was my graduation year. I started with open source around 2012,
10:41
11, 12. We'll
10:45
get into that later. But yeah, so
10:47
I got into that at that time. And
10:49
then my first job was around 2013 when
10:51
I was in sixth semester. So
10:54
it was summer break. I decided to just print
10:56
out resumes like 50 copies of my resume. And
10:59
I was learning a lot of different things. I had
11:01
HTML, CSS, JavaScript. I mean, I had that. I
11:03
was learning about game development at that time, Unity 3D.
11:06
I learned about C sharp, graphics designing. So whatever I
11:08
could think of, I was just doing it. I was
11:10
learning because there was no one to teach me like
11:12
what you should be doing after you graduate. So
11:15
I had this big three page resume. Imagine if
11:17
you're just a fresh M&U, haven't graduated yet and
11:19
you have this three page resume. So
11:21
I had the three page resume. I printed 50 copies of it. And
11:24
then I opened Google map and site software
11:26
companies in Fazlava. I took my
11:28
boat and a bike out. And then I went to all
11:30
of these, all these companies. And then I
11:32
decided to drop my resume there one
11:34
by one. Most of them just said that put your
11:36
resume here. We'll get back to you if you have
11:38
an opening. One small company, there were
11:40
like three or four people sitting in a small room
11:42
in there. So they decided to interview me. And
11:45
then they asked me like, what do you know? I
11:47
tell them everything that I know about C sharp, SQL,
11:50
HTML, CSS, JavaScript, or whatever. They
11:52
were really interested in the web design. So they said that
11:54
we are building this, they were
11:56
building this business management. It's
42:00
probably impossible to imagine how instrumental node.js came
42:02
became to the web at this point But
42:04
you were right there at the in the
42:06
early days and you were one of the
42:09
first Devs to take a crack at really
42:11
learning it and using it. Yeah,
42:13
it used to be HTML CSS
42:15
JavaScript JQD PHP and Angular Georgia
42:17
and gorgeous there was also
42:19
like some framers the awesome frameworks, but they
42:21
were not as famous extension and all this
42:25
But yeah there was mainly front-end used to be
42:27
jQuery boost app and Back-end used
42:29
to be PHP node.js was getting like it was
42:31
still like it was coming in the market at
42:33
that time There were not
42:36
many tutorials out there like most of the people
42:38
were like showing you how to build the IO
42:40
application that you can't do with like IO heavy
42:42
applications like that You can't do easily with PHP
42:44
like chat application and things
42:46
like that. So my Like
42:49
I had done some experiments with
42:51
node.js like I build a chat chatting application
42:53
like chat server with node.js at the time
42:56
But I did not know much So we had
42:58
the interview As I said, like
43:00
he was also a PHP developer who was trying to
43:02
build this with node.js And then he
43:04
said that I know also PHP we have some projects in
43:06
PHP Let's do the call and then they decided
43:09
to give me a job The he
43:11
liked my blog and stuff and then
43:13
he said that fine. We'll give you a job So
43:16
he gave me the offer this offer was 13,000 at
43:19
that time 13,000 at that
43:21
time was almost like four five thousand dollar
43:23
per month I was making at that
43:25
time. They gave me a bump. I was making 75,000 rupees
43:28
at that time. So this was a huge
43:30
salary bump So
43:33
at the moment I thought that this is scam, but they're
43:35
giving me this my salary Almost like
43:37
three four times bigger than my current salary. They
43:39
don't have a website Yeah, so maybe they just
43:41
want to get me there or whatever Very
43:46
common, yeah, unfortunately Yeah in
43:48
a lot of a lot of countries a lot of
43:52
Talented people travel abroad and next
43:54
thing you know, they're in like a pig slaughtering scam
43:56
or something like that, right? But
43:58
but this predated Allow
56:00
themselves for you to travel for example or for
56:03
your family and so on. It was super big.
56:05
They really took care of their employees. I
56:08
said no to them but then I
56:11
gave it a thought and I was thinking that if
56:13
I stay here like what am I doing like I'm
56:15
just spending like one or two tickets per spend there's
56:17
nothing like in this eight months what is the significant
56:19
contribution that I've done after I
56:21
leave the job in my next job what would I say
56:23
like what did I do I was just a small piece
56:25
in this bigger machine what is my contribution? I
56:29
think you just identified like one of the traps that
56:31
a lot of developers fall into. I meet developers all
56:33
the time who kind of plateaued or stagnated in their
56:36
career growth and they're in that
56:38
position like you they have like a company
56:40
car maybe I've never had a company car
56:42
but they've got like all these different things
56:44
that are like just making them comfortable and
56:46
they they're good at doing what they do
56:48
they their management doesn't know how to do
56:50
it it's not easy to replace them they're just they can
56:52
just kind of chill there and take it
56:54
easy but what happens next
56:57
like like their skills are atrophying
56:59
their energy level is atrophying their
57:01
ability to go and learn an
57:03
entire new framework or an entire
57:05
new database system or something like
57:07
that is atrophying with every passing
57:10
year that they are resting on
57:12
their laurels and and so it sounds
57:14
like you identified that this
57:16
might be what would
57:18
happen to you if you just got too comfortable
57:22
yep and the other thing I thought about like
57:24
in the next job in the resume in the
57:26
interview what would I tell
57:28
like what is the contribution that I had like what
57:30
did I do there I just built some forms built
57:32
some apis the simple crowd what did I do like
57:34
what was my significant impact because there were people sitting
57:37
there for ages like six years of experience in the
57:39
same company ten years of experience in the same company
57:41
so they used to be there I thought that can
57:43
I go up next level am I going to be
57:45
here all all my life should I do that do
57:48
you want do I want that or so
57:50
I gave it a thought and I said no I don't want that
57:52
then I decided to join the next this
57:54
next company go with them so they had this challenge
57:57
of launching this platform within 100 days if they were
57:59
able to do it they will secure the funding and
58:01
then they can keep on working with them. If
58:03
they don't do it, then it's gone. I didn't know
58:05
that if I knew that I would have never left,
58:08
but like you, for me, uh, we were able to launch the
58:10
platform in a hundred days. We were able to secure the funding
58:12
and kept on working with the government. And
58:15
we built this Alibaba, uh,
58:17
competitor in there. I got to learn
58:19
a lot again, because
58:22
we did not repeat the same mistakes that we
58:24
were making in my previous company, but there were
58:26
different mistakes and different kinds of learnings. There was
58:28
no power team. There was no design team. There
58:30
was no, uh, Q is everything
58:32
was supposed to go to be built from design to
58:35
development to launch and everything was supposed to be done
58:37
by us. Like me, my CTO and,
58:39
uh, and to that kinds of further. So
58:41
just go build Alibaba. No big deal. Three
58:45
people, four people. So yeah,
58:47
no, I mean, they promised that we'd hire on the MEP.
58:49
So what is going to be the initial launch? So initial
58:51
launch was supposed to be just upload
58:53
the products. People can search. They
58:55
could submit a form and this comes back in the
58:58
form of simple credit. And that's it. The
59:00
customer support will fulfill the orders and everything. So
59:02
we launched with this and then, uh, we
59:04
kept on building, but yeah, I learned a
59:07
lot from the product side to the design side to
59:09
the like customer experience side and everything, because again, like
59:11
I was one of the early employees. We did not
59:13
repeat the same mistakes, but we did some different mistakes.
59:15
Yeah. And I learned from these mistakes. So
59:19
I kept working with them. Uh, so after C four
59:21
months, when we got more funding, we started hiring more
59:23
people, we got, uh, like really strong
59:25
people. Like we got the VP of product who was
59:27
working at the Lando. The Lando is like super big
59:29
company in Germany. Uh, they have
59:32
like 3000 developers, 3000 developers in total. They
59:34
are like five, 6,000 or maybe more than
59:37
that, like number of people. They're super big,
59:39
uh, e-commerce platform. They got her from there.
59:41
They got some key people from Amazon, from
59:43
Alibaba and so on. So I was
59:45
working with this and I was there since early days. I had
59:47
made my name that come on is really fast. He can deliver
59:49
this and he can develop this. So on whatever is there.
59:52
Just give it to him. So you have to
59:54
give me certain for getting things done. Yeah.
59:57
So I was running also
59:59
at that time. Then I got some team members.
1:00:01
I got 13 people in my team because I
1:00:03
was there early I'm still young like
1:00:05
20 we're talking about like 24 25 not maybe more than that 25
1:00:07
or 6 I
1:00:09
got 13 people that I'm managing at that time. I got more and more
1:00:11
people over time I got to work with all these people and so on
1:00:13
so I was working with them, but then I
1:00:17
Was fine. I was learning a lot no issues,
1:00:19
but then I thought that Dubai in
1:00:22
the end. I mean in The
1:00:24
long run there's no benefit like if I stay
1:00:26
here for 20 years in the
1:00:28
end I need to go back because they there's no way
1:00:30
to be permanent there. There's no path citizenship or anything like
1:00:32
that No, there's nothing there, so
1:00:35
I already had spent like eight nine years, so I started thinking
1:00:37
about I should go to Germany So
1:00:39
I decided to go to Germany Germany as a lando There's big
1:00:42
company that I told you about I applied then I got the
1:00:44
job there I joined this company called
1:00:46
they had a product called the lawn so they had
1:00:48
this customer could
1:00:50
talk to customer experience and Stylist and they could
1:00:52
decide like what could be the fashion that they
1:00:55
might throw to you they used to send their
1:00:57
picture And then they would tell them like put
1:00:59
this shirt on put this put this pants on
1:01:01
and so on So it's not like telemedicine for
1:01:03
fashion Kind
1:01:06
of yeah, so they
1:01:08
were trying to decommission this project and build
1:01:10
us into the rando And
1:01:13
this was like even though this company was super
1:01:15
big She thought the developers on I had the
1:01:17
chance to work on this rebuilding of this platform.
1:01:19
I was I was Like
1:01:23
it was individual contributor, but I was at the
1:01:25
same level as the engineering manager So
1:01:27
there was a lot a lot of things to
1:01:30
be done here I had to do the Architectural
1:01:32
thinking architectural design get the buy-in from the different
1:01:34
teams talk to principal engineers talk to party customer
1:01:36
support and so on So
1:01:38
even though I thought that I would not learn
1:01:40
much, but I'm not looking at learning now I'm
1:01:42
looking at the future like naturalization or becoming permanent
1:01:45
there. Yeah, so I decided to stay there At
1:01:48
that time now roadmap was built at my previous company
1:01:50
in the devil the one that I told you about
1:01:53
Because I was doing a lot of side projects and so on so
1:01:55
I built this roadmap at that time Appel
1:01:57
developer roadmap with two roadmaps
1:01:59
front and back into visual paths that users
1:02:01
could use to get the idea about different
1:02:04
landscapes. Now I
1:02:06
was working on this on the side. I was spending like one
1:02:08
or two hours per week on this and it was organically growing
1:02:11
on the side. It grew
1:02:13
from like when I launched it in a week it launched
1:02:15
it went to almost like 10,000 stars and
1:02:17
it kept on growing organically. I was not working too much
1:02:19
two hours per week. It grew to almost like 150,000 stars
1:02:22
in Germany when I was there in Germany. Inside
1:02:25
Partners, the company they reached out to me at that
1:02:28
time and they said that what
1:02:30
are your plans for this? Would you be willing to, are
1:02:34
you looking to acquire like for
1:02:36
us to acquire this? Are you looking to sell this?
1:02:39
Initially I said no but then we had long discussion for
1:02:41
six, seven months and then we decided to end up with
1:02:43
the agreement and then I moved to
1:02:45
the way back and I said that I'd join them full time
1:02:47
because this is too big of an opportunity. Roadmap is something that
1:02:49
I love. I can get to work on this full time. I
1:02:52
can do a lot from the product side, from the community
1:02:54
side and so on. I decided to join them and go
1:02:56
back to the big and then kept on
1:02:58
working and from 22 till now I'm working on this
1:03:00
full time. Okay so 2022, so
1:03:02
we're 2024. For the past two years
1:03:05
you've been working on roadmap.sh full time.
1:03:07
Full time, yeah. And you moved back
1:03:09
to Dubai. Did you abandon like your
1:03:12
goal of getting like EU citizenship? Well
1:03:15
I guess is that still
1:03:17
something you'd like to do? We'll definitely talk
1:03:19
about those are the things I'm just curious
1:03:21
though because that was why you moved
1:03:23
to Germany right? Yeah so Germany I was there.
1:03:25
I thought that I mean this is this. I mean
1:03:28
you know that the grass is greener on the other side.
1:03:30
So I was there in Germany. Germany used to look super
1:03:32
interesting from the outside and that
1:03:35
there's like all this tech going on. All the cars
1:03:37
that you see there from Germany. All the
1:03:39
like all the things that you purchase if it is for
1:03:41
German. It's like a stamp of quality like it's the best
1:03:43
thing and so on. But when I was there
1:03:45
like a German language was super
1:03:48
difficult. I spent the six
1:03:50
seven months. I didn't see that I will learn
1:03:52
German at all. The only thing that I learned
1:03:54
in six months was Ishpen Kamran. MKamran. So
1:03:58
Guten Morgan, Guten Nax, so all these three. for
1:04:00
words and depth that I don't know any German
1:04:02
at all. One of the challenges is Germans speak
1:04:04
such excellent English just like people from Pakistan and
1:04:06
India and a lot of other places. But
1:04:09
Germany, they're actually like, they
1:04:11
have one of the best English education systems
1:04:13
in the world. Like most English
1:04:15
teachers will, if you want to teach English
1:04:17
as a second language, the German system has
1:04:19
usually held up that. Maybe like, you know,
1:04:21
Sweden also has a really good one. But
1:04:24
because of that, I imagine pretty much everything you
1:04:26
did was in English, right? Like were there ever
1:04:28
meetings that you went to where everybody was speaking
1:04:31
German and you just had to sit there and
1:04:33
try to understand or did they just use English
1:04:35
as the business language? That's the
1:04:37
reason why I didn't learn German at all. So they
1:04:39
were, everything was in English. I was in Berlin. So
1:04:41
Berlin was like a capital of Germany. So everything is
1:04:43
there in English. You don't have to even think about
1:04:46
learning German at all. And on the
1:04:48
side, I had a lot of different things. So I could
1:04:50
not spend time on learning German. And so
1:04:52
I thought if I continue with the same path, I don't think I'll
1:04:54
be learning German and you need to spend eight years here. So
1:04:57
you have to spend eight years to become a German
1:04:59
citizen. Yeah, you get the PRC. So
1:05:02
you spend three years, you get the permanent residence. If you
1:05:04
know German A1 or A2, which is super easy, you can
1:05:06
do A1, A2, A2, A3. But
1:05:08
to get to
1:05:10
A2, after A2, you can get the passport, but you need
1:05:13
to be C2. OK,
1:05:15
so basically C2, just to give
1:05:18
context, I assume the German language,
1:05:20
I know nothing about learning German. I would
1:05:22
never learn German just because every German I
1:05:24
speak to speaks excellent English. Not
1:05:26
the case with the languages that I have been
1:05:29
studying, like Japanese, Chinese, Mandarin and Cantonese and stuff
1:05:31
like that. But
1:05:33
if it follows
1:05:36
the CEFR, the
1:05:38
Common European Something Framework,
1:05:41
if it follows that, then C2 is
1:05:44
basically like full professional fluency. That's not
1:05:46
easy to achieve. That
1:05:48
takes people with English. That might take people three
1:05:51
or four years of intensive study to get their English
1:05:53
up to level C2. So you
1:05:55
were very far from being able to
1:05:58
get the full citizenship. I mean, it would have been. probably
1:06:00
thousands of hours of
1:06:03
study to be able to do that. So,
1:06:05
is that the main reason? What about, are
1:06:08
there any countries in the EU that you
1:06:10
could have potentially immigrated
1:06:12
to where English didn't have
1:06:14
these language requirements, for example?
1:06:17
Sweden doesn't need Sweden. You can get the passport after
1:06:19
five years. You don't
1:06:21
need to learn German. I mean, Swedish. So
1:06:23
Sweden was the only option, I think. I don't
1:06:25
know anything else. But at that time, I knew about
1:06:27
Sweden, but I found out about Sweden later
1:06:29
when I moved here. But it was super
1:06:32
late at that time. So I thought that, I
1:06:34
mean, is this extra, the extra time
1:06:36
that I get in the day, should I be
1:06:38
spending this on learning German and becoming German, or
1:06:40
should I spend this time on learning myself and
1:06:42
like getting better at things? So
1:06:45
getting better or improving myself seemed like a
1:06:47
better option than learning German. So I thought,
1:06:49
I'll go back. And I thought that, I mean, if
1:06:51
you're good at what you do, you
1:06:53
can be anywhere in the world. It doesn't matter if
1:06:55
you're in Germany or Pakistan or India or wherever you are.
1:06:59
So that was the thing that I had. I thought that I'll go back to
1:07:01
the way and I'll stay there. I'll work from there. So
1:07:04
I moved there. We've, acquisition
1:07:06
happened. It was a long discussion. We kept
1:07:08
on discussing for almost six, seven months. I
1:07:10
had the acquisition offers before for roadmap as
1:07:12
well. Like there were three or four big
1:07:15
names. If you're a
1:07:17
developer, you probably already know about them. There
1:07:19
were big names reached out to me for the acquisition.
1:07:21
I didn't do it because of multiple reasons. The
1:07:24
first thing was like, either they were a course
1:07:26
platform that they wanted to integrate roadmap with their
1:07:28
platform. Audience was mostly beginners and they
1:07:30
were coming to it because it was a free platform. And
1:07:32
I didn't want the product to see
1:07:34
as a paywall and then no one can access
1:07:37
it because it's now a paid
1:07:39
product. This was one thing.
1:07:41
The other reason was they either wanted to shut
1:07:43
down and they wanted the traffic from it just
1:07:45
to get a proper, because roadmap has a good
1:07:47
SEO profile. So they wanted the backlink and stuff.
1:07:50
They wanted to build a redirect into their platform. This was the
1:07:52
other reason. The third thing was, I
1:07:55
mean, I was getting a lot of positive messages almost
1:07:57
every day. I get a message
1:07:59
from someone. Thank you. me like thank you for building roadmap just
1:08:01
last week i got a message from someone he
1:08:03
said that i graduated in 21. roadmap
1:08:06
is the only resource that i followed and
1:08:08
it completely changed my trajectory for the
1:08:11
career and finance so now i
1:08:13
have a full-time job and i'm able to support
1:08:15
my family and myself because of roadmap so thank
1:08:17
you for making this so this is just one
1:08:19
example from last week imagine
1:08:21
if you're getting this kind of messages like every week or
1:08:23
so so i was thinking about this
1:08:25
like i'm destroying this project just for some money and
1:08:27
i'm already making like good money i don't need any
1:08:30
money right so why would i sell it so i
1:08:32
decided to just say uh no to them before but
1:08:34
this time inside part of this was a bit
1:08:36
different so they're super big they have
1:08:39
like 92 billion dollar of assets in their control
1:08:41
they're super big private equity firm in us uh
1:08:44
so initially i said no but in the discussions
1:08:46
i asked them like what what their plans are
1:08:48
what my plans are we had a long discussions
1:08:50
i told them like if i was working
1:08:52
on this full time i would do this as this what
1:08:55
are your plans for this they said that we want you to
1:08:57
come on board and work on this full time and do whatever
1:08:59
you want so they promised me this
1:09:01
autonomy and not interfering at all with what i'm
1:09:03
going to do so this
1:09:06
seemed really good because at my uh
1:09:08
current job i was also kind of
1:09:10
bored because it was corporate-ish even though
1:09:12
it was a big company uh and
1:09:15
roadmap was something that i was passionate about i mean sometime
1:09:17
i was set and started working on this i could spend
1:09:19
like full day working on working on this and i would
1:09:21
not feel bored so there's something i
1:09:23
was not bored doing at all so that's why i
1:09:25
thought that this is like a dream come true so
1:09:27
i said yes to them and i joined full time
1:09:30
roadmap yeah
1:09:33
so this ended up i
1:09:35
think one of the best decisions in the past
1:09:37
two and a half years that i've been full
1:09:39
time on roadmap it has
1:09:42
gone super well uh when the acquisition happened
1:09:44
the number of users at that time used
1:09:46
to be 150 at that time per month
1:09:48
hundred fifty thousand we did not
1:09:50
have any registration we did not have any features for
1:09:52
learning and so on there used to be
1:09:54
four roadmaps at that time front and back and devops at
1:09:56
qa and that's it and if
1:09:58
i look back now so today we are last month we
1:10:00
had almost like 1.25 million
1:10:02
users per month. We have more than 1
1:10:05
million user registered users, more
1:10:07
than 10,000 teams. We have
1:10:09
this super complicated roadmap editor
1:10:11
for making custom roadmaps. We
1:10:14
have this robust infrastructure and
1:10:16
yeah, 35,000 I think roadmaps at
1:10:20
the moment. So it has grown massively. So it was
1:10:22
I think the best decision because the
1:10:24
product also kept its image of being free and
1:10:26
so on. They did not destroy it. They don't
1:10:28
interfere at all. So I tell them like what
1:10:31
I'm going to work on. They never tell me
1:10:33
like this, you should do this next or whatever
1:10:35
it is. So yeah, so the rest is history.
1:10:38
That's awesome. That sounds like a really successful
1:10:40
acquisition so far. One of
1:10:42
the few positive case studies of a private equity
1:10:44
firm, you know,
1:10:46
acquiring a company and the company proceeding to actually
1:10:48
get better and do even more stuff. But I
1:10:51
think a lot of that is probably because now
1:10:53
you have the flexibility to focus full time on
1:10:55
it, right? That's been a big part of the
1:10:57
past two years is you've
1:10:59
got this open source superstar,
1:11:02
Cameron Ahmed, just dedicating
1:11:04
like a whole lot more time and energy
1:11:06
because he doesn't have a day job that
1:11:08
he has to also juggle, right? So just
1:11:10
being a full-time dev and maybe you can
1:11:13
talk like, I guess what I want
1:11:15
to learn more about is you're a
1:11:17
full-time open source maintainer now, essentially.
1:11:20
Yeah. I mean, and you're a
1:11:22
GitHub star, which is a big deal. It's
1:11:25
an honor that not very many people, maybe a few
1:11:27
hundred people have that distinction. We've
1:11:29
had a few of them on the podcast
1:11:31
here, but I'm adding you to
1:11:33
my collection of GitHub stars we've
1:11:35
had on. And you're also a
1:11:38
Google developer expert. Maybe you can talk about
1:11:41
like what day-to-day life is like as
1:11:43
an open source maintainer living
1:11:46
in Dubai.
1:11:48
I'm not sure exactly how you pronounce it. I
1:11:50
want to try to pronounce it like, you
1:11:52
know, it's natively pronounced. Yeah.
1:11:56
Which city are you? So you're
1:11:58
in Dubai, but we'll... Which
1:12:01
part of town are you in?
1:12:03
Because it's like a giant megalopolis,
1:12:05
basically. Yeah. So I wasn't,
1:12:08
I said Dubai also, I think you said Dubai.
1:12:10
Dubai, I'll just say Dubai. I don't know what I'm
1:12:12
trying to do. I'm not a native Arabic speaker or
1:12:15
anything like that. And I'm just gonna butcher it. So,
1:12:17
yeah. Yeah,
1:12:21
I went to Dubai. I was there for almost a year
1:12:23
and a half. And last year, a year and a half
1:12:25
ago, I moved to UK. So right now I'm based in
1:12:27
UK. Okay, you're in the UK now. Yeah,
1:12:29
so in the back of my mind, I still have
1:12:31
that. I mean, even though I have this mindset that
1:12:33
you can be good and you can be anywhere in
1:12:35
the world and you can stay there, but I knew
1:12:38
that you can't be permanently here. You need to, at
1:12:40
some point, go out of here, whether it is
1:12:42
going to be like somewhere else or
1:12:44
back to Pakistan. So I
1:12:47
came across, I differentiate with me the global tenant
1:12:49
visa. So UK has a global tenant visa. Global
1:12:51
talent visa. Okay. So
1:12:53
if you have a good open source profile, if you're doing
1:12:56
a lot of community work, if you have worked with
1:12:58
products before, like product based companies and you're
1:13:00
good in the IT, then you can apply and
1:13:02
then they can endorse you and then you can come
1:13:04
here. So there's a
1:13:06
visa, like the O1 visa, I think in US. So you
1:13:08
have the O1 visa, I think. So it's
1:13:10
similar to that. But it's like, you
1:13:13
know, genius visa or something. I don't know what they call
1:13:15
it, but yeah. So it's similar
1:13:17
to that, but for UK. I had
1:13:19
experience with the startups. I had experience with
1:13:21
the community work. I had this case study
1:13:23
of roadmap that I was doing it on
1:13:25
the side without not expecting anything in return.
1:13:28
And I was making this much from it and
1:13:30
all this like all this money that I was
1:13:32
making on the side and from roadmap and so
1:13:34
on. So I gave this, I prepared
1:13:37
this profile and I applied for a performance visa and I got
1:13:39
this visa. Because UK was
1:13:41
English country, no language barrier. So I decided to
1:13:43
just say yes. And then I came here. So
1:13:45
now I'm based in UK in Leeds at the
1:13:48
moment. Yeah. Just
1:13:51
totally unrelated since I didn't even realize you were
1:13:53
in the UK because you travel so much. Obviously
1:13:56
Pakistan like the US is kind
1:13:58
of a former. you
1:20:00
become a builder or
1:20:02
you start contributing. Personally I
1:20:04
like to build own things better than
1:20:06
contributing because contributing I mean
1:20:09
you learn but you don't learn as much as
1:20:11
you could learn from some famous open-source project that
1:20:13
you are able to build to develop but initially
1:20:15
you're not going to build something super famous from
1:20:17
the get-go so I'd normally recommend that when you're
1:20:19
starting with your career if you have never done
1:20:21
any get a project before go on
1:20:23
get up find the projects that you can contribute to projects
1:20:26
that are active so when you see like there
1:20:28
are 50 open pull requests or 100 open pull
1:20:30
requests no one is looking at them the last
1:20:32
activity was four or five months ago and no
1:20:34
one is not doing anything don't look at the
1:20:36
such products the price that are active for them
1:20:38
for free code camp or roadmap product go
1:20:40
and look at the contribution docs look at the
1:20:42
open issues and then see what you can
1:20:44
solve and go and while sticking to
1:20:47
the guidelines open a pull request they
1:20:49
will tell you about like how you can improve look
1:20:51
at like how they are merging pull requests how are
1:20:53
they responding to the issues and so on like look
1:20:55
at everything how they are mending this open-source project and
1:20:57
gain some experience from sample request let's
1:20:59
say 10-15 pull requests you've
1:21:01
done them now like start thinking about like
1:21:03
what you should develop initially
1:21:06
in my in my career I may have done like
1:21:08
four or five projects like four or five contribution
1:21:10
pull requests and then I just started on doing my
1:21:12
own projects because
1:21:15
I thought that I could learn more from building my own
1:21:17
things so yeah that would be
1:21:19
way like find the product that are active submit some pull
1:21:21
requests get some experience see how they're
1:21:23
mending issues discussion pull requests look at the read me
1:21:25
how the read me looks like and so on and
1:21:27
think about the idea that you can develop and think
1:21:29
and start building those things now the next thing is
1:21:31
how to come up with the ideas so
1:21:34
I'll tell you like how I came up up with my
1:21:36
own idea for my products so initially
1:21:38
I was a PHP developer right early in my career
1:21:41
so I was always thinking what should I build
1:21:43
this I'm not sure like what should
1:21:45
I build right so I used to look at
1:21:48
Ruby or Python and different languages I would look
1:21:50
at what are the famous libraries there or what
1:21:53
are the famous classes that are there
1:21:55
in PHP or Python Python or Ruby
1:21:57
or different languages and I
1:21:59
would see like if there is some in PHP,
1:22:01
if there is nothing there, or if there
1:22:03
is some abandoned project, I would
1:22:05
take the inspiration from that project in Ruby or Python, and
1:22:07
I would build the same thing in the PHP. So
1:22:10
this is how I came up with the
1:22:12
initial projects, like build my own projects in
1:22:14
this manner. Interesting, okay, so essentially porting projects
1:22:17
to a different ecosystem. So
1:22:19
that way you already know that there's a demand
1:22:21
in this ecosystem, like in the PHP ecosystem, people
1:22:23
are using a library for this, Node.js
1:22:26
doesn't have a good enough library for this yet, let's see
1:22:28
if we can just port it. Yeah.
1:22:32
So this is one thing, the second thing is, the
1:22:36
other way is to look at your own problems.
1:22:38
Like in the work at work, for example, what
1:22:41
are you trying to do? I'll
1:22:43
tell you, like I have a library called Maundex,
1:22:46
it's used to apply
1:22:48
indexes to MongoDB, so normally how
1:22:50
you create indexes is in the Node.js, either you
1:22:52
do it in the Mongoose or whatever ORM you're
1:22:54
using, you specify the indexes there, which
1:22:57
becomes difficult to maintain, let's say that you have back
1:22:59
office, you have this service and you have this service,
1:23:01
you have let's say 50 services, now
1:23:03
you have to add the indexes, so you have to do in
1:23:05
all these projects one by one. So instead
1:23:07
if you have one place where you could like write
1:23:09
all these indexes you need, and then you run one
1:23:12
command, it would apply all these indexes. So look at
1:23:14
your own problems, so this was a problem that I
1:23:16
had, and I came up with this
1:23:18
Maundex, so write a JSON file, put all the
1:23:20
indexes in there, and then run
1:23:22
command Maundex apply, and then it would apply the
1:23:24
indexes on the database, because this database is connected
1:23:26
in the back office, in this service and this
1:23:28
service. Or for example, let's say
1:23:31
that you have this, another open
1:23:33
source project that I had, I removed it, I archived
1:23:35
it before, was let's say that
1:23:37
in my first company we're using Garvel, Garvel
1:23:40
was not built for building API, it had
1:23:42
tweak at that time, it was mainly used for
1:23:45
building like templating engine and proper
1:23:47
frameworks. For APIs you need
1:23:49
more than just the templating engine, for
1:23:51
example there's API specification for HTTP error,
1:23:54
so if there is error happening in the API,
1:23:57
how should it be responded with? It should be state and
1:23:59
start. It
1:32:00
just worked out that way and it was probably
1:32:02
as much luck as anything with
1:32:04
the timing. But learning
1:32:06
in public, putting together this resource, putting
1:32:08
it out there, that often
1:32:11
will be reciprocated and rewarded
1:32:13
by developers out there who
1:32:15
see value in things. And these
1:32:17
websites like Hacker News, which is
1:32:19
news.whitecombinator.com, whitecombinator of course being this
1:32:21
famous accelerator that a lot of
1:32:23
the people that I've had on
1:32:25
this podcast have gone through for
1:32:27
example. Like
1:32:31
Free Code Camp. I've been in a similar situation where I
1:32:33
was talking to somebody and they're like, oh, what's Free Code
1:32:35
Camp? Is this project going to
1:32:37
take off? And I could be like, yeah, look, we're on
1:32:39
the front page of Hacker News right now with this article
1:32:41
that I wrote or something like that. And
1:32:44
it's always a really cool feeling having something
1:32:46
on the front of Hacker News or having
1:32:48
something on the front of our program, one
1:32:50
of the bigger programming subreddits. So
1:32:54
that's really cool that you put it out there. And
1:32:56
so yeah. Oh, yeah. So
1:32:59
it was all like, I mean, I was not aiming that it
1:33:01
would go. I built it. I thought whenever I was building it.
1:33:03
So one thing you should also do is when you build something,
1:33:05
don't just leave it. You should tell people
1:33:07
that post it on Reddit, post it on Hacker News.
1:33:09
The non-new people don't post it either because they think
1:33:11
it's, I mean, you would look stupid because the code
1:33:14
base is so bad or you don't do it because
1:33:16
people think that I would look like I'm bragging. So
1:33:18
I don't post it for example. At least I would
1:33:20
use to think that either my code
1:33:22
is bad. It would look like I'm bragging, for example,
1:33:25
or just because I didn't want to reply
1:33:27
to people or just put myself out there. So
1:33:29
this is one of the mistakes that many people
1:33:31
do. You should not do that. I mean, when
1:33:34
you build something, just tell people, put it on
1:33:36
Hacker News, Reddit, LinkedIn, Twitter, everywhere. Absolutely.
1:33:38
I'll just say like from my own experience,
1:33:41
the universe is indifferent. Most
1:33:44
people do not care that if they don't know,
1:33:46
if you're not like right in front of their
1:33:48
eyes that with them like seeing something in a
1:33:50
recommendation algorithm feed or something like that, they are
1:33:52
never going to stumble upon this project
1:33:54
that you put a lot of time into. If
1:33:56
you don't go out and publicize it, don't
1:33:58
wait around for somebody's. They
1:48:01
love customizing their education like they
1:48:03
would love retrofitting their car with
1:48:05
like non-manufactured,
1:48:07
non-OEM parts, non-stock
1:48:11
parts, right? Custom
1:48:13
parts. I'm sorry, I'm struggling. I don't know anything about
1:48:15
car modifications. I'm just trying to come up with an
1:48:17
example. But people approach their education the
1:48:19
same way. They're like, yeah, everybody's reading John Duckett's
1:48:21
HTML book, but I'm going to read O'Reilly
1:48:24
Headfirst into HTML. All
1:48:27
ways that they can express themselves through customization, things
1:48:29
like that. I love that you
1:48:31
have kind of like the recommended, but here also
1:48:33
if you want to be a little bit
1:48:36
more rogue in your
1:48:38
approach to developing, yeah, and you want
1:48:40
to brew your own education. That's
1:48:43
cool. All right. Well, come
1:48:45
on. It's been an absolute pleasure talking to you
1:48:47
for nearly two hours and learning from you. Before
1:48:50
this, you and I hadn't talked synchronously. We
1:48:52
just corresponded a lot through Twitter messages and
1:48:54
stuff. It sounds like I've
1:48:57
been a long-time admirer of yours, so I've been admiring
1:48:59
you from afar, but it's cool to be able to
1:49:01
admire you in real time and also to thank you
1:49:04
for your big open source contributions.
1:49:08
For everything you've done that you've put out there
1:49:11
to make the world a better,
1:49:13
more open, freer place in the sense
1:49:16
that free access to information, one of
1:49:18
the core beliefs of mine
1:49:20
is that information wants to be free,
1:49:22
education wants to be free, and there
1:49:24
are people that talk about that, and then there are
1:49:26
the people out there that are walking
1:49:28
it, that are living it, putting these
1:49:31
projects up. Yeah,
1:49:33
but I mean, I've been the huge admirer of
1:49:35
free code camp as well. Whenever someone mentions roadmap,
1:49:37
normally like I see because I have alerts
1:49:41
for roadmap or what I said, I keep an eye on
1:49:43
the feedback and so on. Free code camp is always there.
1:49:45
Like roadmap and free code camp, they're always there together. So
1:49:48
I mean, yeah, you're also putting a lot of free content
1:49:50
in there. I mean, we are giving the path, but you
1:49:52
have the actual content in there. And
1:49:54
having it there for free and a lot of quality
1:49:56
that your YouTube channel, for example, you have this like
1:49:59
10 hours of free courses on. AWS, like
1:50:01
all the free going that you're putting, I mean, yeah,
1:50:03
it's been massive. Like I keep myself, I see myself
1:50:05
recommending it all the time, so yeah. Awesome,
1:50:08
man. Well, it's been such a pleasure to talk
1:50:10
to you. Everyone listening,
1:50:13
be sure to check the show notes for lots more resources,
1:50:15
including a link to Roadmap. As soon as you can see
1:50:17
some of these diagrams yourself, some
1:50:19
of these roadmaps, and to
1:50:22
some of the other projects we've talked about,
1:50:24
including Free Code Camps, how to contribute
1:50:26
to open source project, which we're very proud of, which
1:50:28
will kind of give you a
1:50:30
ground ramp if you want to get involved in contributing to Roadmap or
1:50:33
to Free Code Camp. Both projects have
1:50:35
extensive contributor documentation that you can
1:50:37
use. Man, it's just
1:50:39
such a pleasure, such an honor to talk to you. That
1:50:42
quest. Yeah, well, until
1:50:45
next week everybody, happy coding.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More