Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Released Friday, 11th October 2024
Good episode? Give it some love!
Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Open Source Superstar and Roadmap.sh Founder Kamran Ahmed

Friday, 11th October 2024
Good episode? Give it some love!
Rate Episode

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.

Unlock more with Podchaser Pro

  • Audience Insights
  • Contact Information
  • Demographics
  • Charts
  • Sponsor History
  • and More!
Pro Features