And I say as a career changer myself, to all the career changers out there, I say like, you know, don't forget that the fact that you have experience in something else is added value. It's not a drawback because there are some people working on your team who've only ever done software and they've only ever thought about problems from that one perspective. So, you know, if you can bring your background in whatever professional experience you have, or maybe you used to be a
Welcome back to the Free Code Camp podcast, your source for raw, unedited interviews with developers. This week we're talking with Anjana Vakil. She left academia so she could teach herself to code and she got her first developer job at age 31. She's worked at a ton of tech companies and with lots of freelance clients and she's going to share some excellent tips for learning new skills and avoiding burnout. So
Support for this podcast comes from a grant from Wix Studio. Wix Studio provides developers with tools to rapidly build websites with everything out of the box, then extend, replace, and break boundaries with code. Learn more at wixstudio.com. Support also comes from the 11,000...
243 kind folks who support Free Code Camp through a monthly donation. Join these kind folks and help our mission by going to freecodecamp.org slash donate. For this week's musical intro, with yours truly, on the drums, guitar, bass, and keys, we're going back to 1984, Mad Magazine, Spy vs. Spy. ♪
Thank you.
♪♪♪ ♪♪♪ ♪♪♪
Hey, Anjana, welcome to the show. Hi, thanks so much for having me. Stoked to be here. It's great to have you here. I'm a longtime admirer. Of course, I've watched many of your talks on functional programming with JavaScript and things like that. And we even published one of your talks on the Free Code Camp Talks channel many years ago, which got a lot of viewership because a lot of people are interested in hearing what you had to say and learning from you. So it's an honor to have you here.
Oh, well, it's an honor to be here. Really excited and, yeah, a huge fan of Freecoat Camp and everything y'all have been doing. So it's really amazing to be here with y'all today. Thanks for having me. Yeah. Well...
You are somebody who's worked as a developer and a developer advocate in a lot of different tech companies over the years, having learned to code really in your 30s, gotten serious about it, and worked as a dev. And you have more recently transitioned to working as a freelance developer and working with clients as opposed to working for a specific single employer. Okay.
A lot of people are curious about freelance who tune into the Free Code Camp podcast, and I figured that might be a good place to start. Why freelance? Yeah. Well, a lot of reasons. For one thing, I have kind of a...
geographically distributed lifestyle, let's say. So I actually, when I got into tech, I was living in Europe and that's where I'm dialing in from today. I'm in Berlin, Germany. So I've lived in Germany on and off for many years. And then during the pandemic years was kind of stuck and put down more roots down in the Bay Area in California, which is also where I have lived since I was in my early 20s. And being able to be in multiple places,
with some regularity, like six months out of the year or more than just for a quick trip, a quick visit, was something that over the years I realized was something I wanted in my life. And so going freelance and having that flexibility was one of the ways that was possible to make that happen. Not that there aren't many great remote jobs that make that possible, but I also have, I think, a kind of
generalist personality that loves doing a lot of different things, which is, I suppose, why I stayed working in DevRel, because that is certainly a job in which you end up doing a lot of different things on any given day. And so having the flexibility to, let's say, work heads down on a course for a client for a few months intensely and then do a little bit less a few months later, or let's say, invest a lot of time and energy in writing a new JavaScript or TypeScript course and
And filming it and putting it online and then being able to kind of redirect my attention to something else that's caught my interest is kind of a lifestyle choice that I decided it was time to make for my own personal well-being and mental health, really. Because as I'm sure a lot of people out there can relate to, especially during the pandemic, I was extremely stressed.
I've heard you describe it as, yeah, you were on the bullet train to burnout land. Exactly. And so burnout is real. And I found that going freelance was one way that I could manage my burnout and also my kind of more chronic health issues, like things like struggling with depression and anxiety. And so being able to have that flexibility for me personally, just I decided it was time to acknowledge how important it was. But it's also, you know,
It's a trade-off, same as everything in software or otherwise. So with that flexibility, then of course comes some additional overhead, the management, the taxes, oh, so many taxes, and things like needing to figure out where to get your healthcare from when it doesn't come from your job in the U.S.,
And so, yeah, there have certainly been some difficulties, but to my mind, it's something that is worth that investment in trying to figure all of that stuff out and trying to give it at least the way I thought about it is I'll experiment with it for maybe a year, see how that goes, and then decide whether it's working. And so I think being able to carve that time out for yourself, being able to give yourself that opportunity to fail, as it were,
is, you know, even if it doesn't work out, I think it's just something that I see a lot of people not trying out of sort of a scarcity mindset or like fears of what could happen. And sure, there's a lot of bad things that could happen. But if you've planned for it, if you've given yourself some runway, just like a little mini startup, you know, to get your gears running and you're
client portfolio kind of padded up a little bit, then you can make those decisions as you go. And there will always be companies hiring if it doesn't work out is what I keep telling myself. Maybe not always, but...
Usually. Yeah. Well, I want to drill in a little bit deeper into two of the things that you said, like before you went freelance. And I 100% can't – like that resonates with me. Like I definitely during the early years of Free Code Camp was putting in unhealthy, like maybe –
more than 100 hours a week, like working on, like almost obsessively. And now I'm working much more closely to 40 hours a week, but I'm still getting practically the same amount done. It's just that I'm working smarter, not harder, and all those things, right? Like reading a lot and learning from smart people by talking to smart people on this podcast. So...
And also, like, experimentation and trying things out and then learning what works and then being able to apply that and not have to do that experiment the next time. You know, it takes a lot of upfront investment, as it were. Yeah, absolutely. And, you know, I think the proof is in the pudding, though. If you see, like, how amazingly huge and well-used Freed Code Camp has become, like...
I hope that feels good because that's certainly something that doesn't happen without all that effort happening. Yeah. Yeah. I'm super proud of the community and the kind of critical mass we've kicked off and people helping one another on the forum and people getting together and having conferences and events and things like that. It is... Yeah, it feels great. So...
I want to drill more into what you said about needing certain things. Like there were certain requirements that you wanted to have in place to maximize your chances of succeeding as a freelancer. And I often tell people like, if you're just getting started as a developer, you can freelance and that it may be easier to find a client than it is to
to get an initial job because of the hiring process being very, uh, draconian and weird, um, and not really representative of working. Now that's not, that's a broad generalization. There are some companies that are very, uh, I guess sane in their hiring, uh, practices and they're not just like trying to crib whatever Google does and implemented in their own, uh, scattershot way. But, um,
I often tell people like, Oh, freelance might be a good place to start because at least you can get somebody to pay you to code. And, uh, but at the same time, I need lots of developers, uh,
who come out the other side and they've worked at all these big tech companies and now they're ready to freelance again. And you said when making the decision to go out on your own, there is some risk there, but it is risk that can be managed. And you mentioned two things. You mentioned runway, which is like savings, essentially. Savings. For me anyway, perhaps other folks have other sources of money. For me, I needed to save it. Yeah. You mentioned like you also had like kind of a client list almost like people you knew who could in theory pay you to code.
Well, and that's where, you know, I think the, the other thing that's really important, whether you're freelancing at the beginning of your career or midway through it, or at the end, I, it's, it's all about, and this is true for jobs as well, I guess, but it's all about who you know and what your network, um, how, how far reaching your network is. And, you know, I used to be, especially, I remember when I was first getting into the tech industry, I remember, um,
feeling so gross about networking, about this term networking, you know, and I mean, having, wanting to go to conferences and like network and just feeling ew about it. But
Later on, a few years down the line, as I started working in developer relations, I realized that it doesn't have to be this gross feeling like I'm conning people into liking me or giving me money or jobs or whatever. It can be just genuine, interesting connections that you make with people that have no immediate connection.
monetary or economic value, but might lead to a friend of a friend or, you know, oh, a new company they've just started working with that needs blah, blah, you know. And so that's where I found that my years in the developer relations space, my years of conferencing and teaching, my years of being involved in various programming communities on, you
different continents and sort of maintaining, you know, even just friendships and things with folks who are also in the industry, it never hurts to be able to reach out to some people who you feel comfortable with and say, hey, I'm thinking about this thing. Do you think that would be of interest to anybody you work with or, you know, anyone you know of? And I've found personally that in the
Before I went freelance, I was working in developer relations, otherwise known as developer advocacy or developer experience or insert million other pseudonyms here. Essentially, if I can attempt to summarize it, it's figuring out how to build relationships with developers so that they'll adopt your tools.
Yes. Yeah, I would say that is definitely true. And I think it also extends to things like, you know, helping an existing user base become more productive and comfortable with products or helping...
For example, a team that's working on a particular implementation, you know, really that's maybe up against the borders of what this technology was designed to do, like working with the product team to really understand how much demand there is or how, you know, whether this is something to explore, what the community thinks of it. Sometimes managing open source projects for various companies because that's a big part of their business.
relating to developers. And then of course, there's also the, what I kind of focus more in these days is sort of what I think of as the developer education piece. So kind of helping, like, let's say your product has released a new feature and you need a sample app to kind of illustrate how you would integrate it with blah, blah, blah, that sort of thing, whether it be content or courses or events, et cetera. So
it's a really huge umbrella term that I think these days I'm noticing the term developer experience is used a lot more. And I kind of like that because that conveys a little bit being closer to the developer product. Like when you are developing a,
developer tools, the developers who are your target users and customers are of utmost importance. So that's mainly the space that I've been working in recently is sort of developer education and developer relations strategy and things like that for early stage dev tools, startups, basically. And that's all to say that in that type of work, you talk to a lot of people, right? So it is not the kind of stereotypical
coder alone in a basement. It's very much the doing a lot of events and hosting a lot of online things and talking to a lot of people. So that's where I think I really was able to build up connections with a lot of different, not just companies or individuals, but even kind of clusters, sort of like topic areas, niches, what have you, where you never know when you're going to get
a lead on some new work you can do that you'd find interesting, that the client needs your particular set of combined skills for. And so I think keeping in mind that it is a long game to build those relationships and it's not something that you can just decide to start doing January 1st and be done June 1st. That's not going to happen. So I think having the
having talked with people in the industry about it for probably a couple of years at least before doing it was really helpful for me. And then also having some examples, other folks that I knew that had done it or were doing it was very useful. So I think this is all to say, um, there, as you said, there's a lot of risk. There's a lot of scary things about it, but don't they say that, you know, if something isn't scary, it's not worth doing or what have you. Well,
Is it not hard? Is it not worth doing? I can't remember the exact expression, but yeah. Yeah, but the worthwhile things tend to be scary and doing something new is always going to be scarier than doing the same old, same old. But this is how we try. But again, having your ducks in a row in the sense of surrounding yourself with a community of people who maybe other freelancers that are also going through the same things or maybe folks that work in the same niche or sub-industry that you do who can help you plug into something
What's the latest there? All of that stuff I think is really important. And then, of course, most people are concerned from the financial security side, which is perfectly reasonable, right? Your paycheck is going away. Yeah.
If you're like me, that's your whole source of income. And so that's terrifying. But again, and I happen to have an amazing financial planner team of women who are sort of like my life decision quorum board. I can run by them. How much savings would I need to be able to take this much time off from working full time? Or how much savings...
What are the real cost benefit analysis that's going to happen once my income changes from this regular thing to this irregular thing? You know, can I work through that? So for me, I found it incredibly – it gave me a lot of confidence to have kind of an adult who is like good with money.
Sign off on, yes, if you have this much saved up, then you can do this experiment for this many months and everything should be okay. And if by this time you don't have new income coming in, you're going to need to start thinking about it.
thinking about a solution. So I would say if you are concerned about the money question, like talk to a pro, it made me feel so much better. Okay. So I want to kind of recap some of the things you said. So first of all, you said on the topic of building your network, it doesn't have to be icky. Uh, it is just like meeting people essentially. And it's playing a long game. And that long game is, um,
building relationships and then being able to reciprocally help one another as things come up. And people, people who view networking as, uh, icky, like from the outside, it may look highly transactional, but in practice, uh, there's, there's given, there's take. And, the difference between not having a network and having a network can mean everything when it comes to finding clients, finding a job, uh, and, and,
You know, people reach out to me all the time. And I'm not saying to everybody listening to this, reach out to me. You know, like, hey, can you introduce me to so-and-so? Like, I see you know so-and-so on LinkedIn. First of all, I actually max out the number of people I can connect with on LinkedIn. So, because, like, I did this little hack. And this may be, like, you know, sketchy. But basically, like, when I was early on in the free code camp, I was like, I want to...
reach out and get the advice of computer science professors. So I sent out a LinkedIn invite to, I think, something like most of the computer science professors in the United States. Oh my God, that's amazing. I was like, hey, can I join your network? And a lot of them were like, oh yeah, Free Code came up for you. Like, sure. So I kind of maxed that and then I would accept every inbound. So I hit the max. But those are like very loose. What is the max? I'm so curious. I think it's 35,000.
You can't have more than 35,000 connections. And then what happens is there's like a natural attrition. People are closing their LinkedIn account or dying. I think LinkedIn will turn off your account if they figure out that you've died and things like that, which is sad. But I'm just talking about the phenomenon. I'm trying to speak. Sure, yeah. It'll go down. I'm not necessarily always at 35,000. It goes down maybe a few hundred a year and then I can accept some more.
Or I can maybe send – maybe when I try to send one out, it will actually go out and it won't say you have too many connections. And I've talked to LinkedIn. It's a very exclusive club either way. Yeah, yeah, yeah. But my point is like I have people reach out like, hey, you're connected. So on LinkedIn, could you do an introduction? I'm like, well, not really. Like it was kind of one of those cold.
you know, LinkedIn inmates that I said, or I accepted the invite, but I'm not sure really like whether I can vouch for them as a dev, you know? So, so I'm copy editing that because I don't want people to like reach out to me and like, Oh yeah, I'm just going to get Quincy to do all this work. Well, and I think, and I mean, I'm sorry if you wanted to move on to another thing, but I think another thing back to what you were saying about building a network.
And to your point about like this, you know, I guess another way to describe the icky version of networking is sort of like an extractive process where you're like just like greedily taking things, whether it's job opportunities or connections to other people or whatever. But I find that it's really useful to flip that and think about networking as like, oh, I just met this person.
They told me they're into XYZ. I have a friend who's into XYZ or I just listened to a podcast episode. I'm going to send it to them or whatever. And really think about it in terms of like, how can I be generous with my –
and network and, you know, even if I'm a newcomer to the field, right? Like when I, you know, I was 30 when I went to my first, did my first tech talk at a tech conference, software conference. And so, you know, meeting people there and being like, oh, what are you into? Oh, I'm into that too. Or, oh, what are you into? Oh, I don't know anything about that, but I just talked to this person over there who is like super into it. You two should meet, you know, and thinking about it as more of like, what can I contribute? And then the,
Flip side, the kind of goes around, starts coming around. You know, what you put out there then eventually works its way back and you start getting people who think of you as like, oh, I remember I met Anjana. She's that girl who's into...
functional JavaScript or whatever it is, you know, then they start thinking of you when an opportunity comes up or when they hear about somebody else doing something cool in the field. So I think that thinking about it in terms of not like, what can I get other people to do for me, but...
What can I do to help other people with what they're trying to do? Yeah. Like maybe you'd appreciate more than, not to put you on the spot, but more than LinkedIn connection requests. Maybe it would be something like for your free code campers to go out and kind of make their own LinkedIn subnetworks and use that as a kind of way to trampoline into LinkedIn.
a bigger pool. Or just create like a discord server or, you know, wherever community is nowadays. Exactly. Like, you know, a group on WhatsApp or, you know, like I've heard that these groups exist. Certainly in China, there are a lot of WeChat groups around free co-camp, for example. And like my thinking is like, just go forth and, you know,
Help one another. It's kind of like the whole – Like Free Cooking, we're a pretty small charity. We actually have like a very small team. We really can only focus on the core curriculum and we do so to an extent to the detriment of like focusing on community building and things like that just because we know that if the curriculum is good, the community will kind of master on it. But there's not really much point in building a big community around a curriculum that sucks. Yeah.
And it won't work, right? It won't be tenable. So, no, it makes a lot of sense. And I mean, you know, I think it is very difficult. In developer relations type work, you know, I think running communities is its own thing.
very skilled discipline that is, you know, a whole other ball of wax to teaching developers to like being a developer, all of the above. But the fact that, you know, you're able to, and perhaps even through the con the curriculum itself, you know, convey certain values or certain, um,
kind of social codes of what, like, for example, that everyone is just here in is, is, is asked to help each other out. Right. Uh, it can do a lot towards like making sure that that community gels in a healthy way and, and boys people up instead of becoming toxic or otherwise, you know, gatekeepy. And we'll definitely talk about what can happen, what can go wrong with the community in a little bit, because like, that's one of the, like, you know, a tremendous amount about that. Um,
But I do want to, now that we've kind of talked about like how you transitioned into working as a freelancer and why and what, what the requisite things, I mean, you mentioned, uh, of course, like having somebody kind of sign off on like, okay, this plan makes sense. You're not totally crazy. Like you're not going to completely ruin your finances and rack up a whole bunch of debt before you're able to go and get another job. If this doesn't work out, you've got enough cushion to be able to survive a few shocks. Um,
Um, so, so getting that in place, you mentioned that you had like a group of people that like, do you, are you part of like a, you know, like a group chat or something with other people that are doing similar things? So, oh yeah. Other, other freelancers. Um, I wouldn't say it was any kind of group formally, just sort of a, just a few friends or acquaintances that I, you know, had, um,
had learned to know over the years. But one thing that definitely helped out a ton, and this is perhaps more relevant for folks who are in the EU, I found a organization to become part of that has made my freelancing life in Europe amazing.
infinitely easier. It's called, um, smart. Um, it's a freelancers cooperative. So essentially, and this is the first time that I had encountered such a thing. I came upon it super randomly as is a common theme among my life altering, uh, changes, but, um, super randomly came across this co-op. What they do is they help freelancers, um, kind of band together to a, um,
mitigate the risk of clients not paying you or failing to pay on time and things like that. B,
providing legal access to the public health care that we have here in Germany. In the U.S., the analog would be like an employer health care plan, which in the U.S., as we know, it is way harder to get insurance on your own. And the quality of insurance you can get is not even on a par with what you can get through an employer. So that's a separate problem. And I don't know of an equivalent cooperative organization for freelancers in the U.S., but if anybody does,
I hope that they comment and or let me know. But in Europe, this smart co-op has figured out a model. I think they started in Belgium, but they're operating in many different EU countries now where essentially you sign on with them. You still find your own clients, set your own terms, set your own rates, do all of that work, same as before.
But in exchange for taking a small percentage of your salary or depending, you know, might not be that tiny, but still in my mind, it's worth it. They will then process your invoicing through the cooperative, which has a couple of benefits. Number one, they pay you the money that you have earned, but indirectly. So they kind of set it aside and then you get to choose what your salary will be out of that as long as you have enough to cover it.
And, um, then the way it works is if you have a client in the EU who doesn't pay, even though they had signed an order, a contract with you, um, smart then can step in and cover it with their padded, uh,
kind of budget for such things. And so as a freelancer, it really removes a lot of the problems. Like in Germany, for example, it's very difficult to set up as a freelancer. You have to set up your own business entity and that involves hiring professionals. It's not as easy as just kind of filing a business online. And so this really takes out, like this basically made it possible for me to freelance in Germany as a, yeah, I happen to be a European citizen as well. I'm very lucky. But
But the thing is that it is a model I would love to see in the U.S. So if anybody knows about it, please let me know. And if anybody wants to start one, also let me know. Yeah.
But yeah, so things like that. I would say that is the group of freelancers that I am a part of. And that has been very useful, not so much in terms of getting leads on particular client work, but in terms of all of the other stuff, the legalities, the taxes, the health insurance, the transit passes that you would otherwise get through your employer. All of that stuff really like –
Gave me incredible peace of mind. Continues to give me incredible peace of mind. So hats off. Smart. Essentially gives them like individual freelancers, kind of like the economies of scale and scope that like a larger organization would have. So that not only is risk...
Risk kind of like mitigated a little bit because there's an entire organization that has potential shock, but they also can do a lot of things on your behalf where if you were to go out and find your own lawyer, find your own accountant, find your own like benefit manager, like all these different things that like frankly most small businesses in the US, we just do it all ourselves. Like I have Obamacare for example. Yeah, same. Basically like we have to string all these things together. We have to do our own taxes. Yeah.
You have to learn how to do all these things, wear all these hats. I'm not a lawyer, but I spend a great deal of time reading about the law. So when I talk to lawyers, I can not have to use a whole bunch of money to
Like I have to kind of become a mini expert in everything so I can wear all these hats in the U S and it does sound nice to just have an organization where they can do that. Because if you were at like a giant corporation like Google, uh, they're going to have a legal department, right? They're going to have, you know, a benefit department. They're going to have like all these different things. And also Google is not going to suddenly like, Oh, we fell on hard times this month. We can't pay you, you know, because they've got like this giant machine going and they've got all these, like they're never going to miss payroll, uh,
Uh, but if you're, if you're freelancing and your clients, like several of them decide to like flake out on you at all, once it can be catastrophic if you don't have like, you know, a lot. So, so essentially it's just continuity and, and it sounds like it removes a lot of the anxiety that is associated with kind of like,
I mean, if you think about going out to sea, right? You can go in like a kind of rickety lifeboat and just paddle your way out there, right? But then you're like really vulnerable to giant waves. But if you're in like some giant cargo ship or something, the waves, storms don't really matter that much. Or at least like a flotilla of like a bunch of little ships somehow all...
together into a little floating island. I don't know. Now we're writing a pretty fun sci-fi movie, I think. But no, I think that is, yeah, that is a good way to conceive of it. And I am really...
So I've gotten recently very interested in the kind of like co-op way of looking at things. But I think that it's also a really, really great fit for some of the – like as an antidote for some of the problems that I think many of us see in the tech industry and many of us see – saw over the last couple of years like with all the layoffs happening and this –
supposed promise that companies will take care of you and you know once you've got that cushy job at Google or wherever you won't have to worry about it anymore I think we all found out in what 2022 ish that you know
That's not always the case. The rug can be pulled out from under you anytime. And so my heart super goes out to the folks who lost their jobs involuntarily that year and in kind of that mass layoff push. But I happened to –
decide to leave my job and go freelance at that very time. And a lot of people told me like, whoa, so scary. Like you won't have any security. And the way I kind of think about it is like, look, security is sort of an illusion in the sense that like job security, especially in the US where we don't have things like labor laws that prevent companies from just firing you on a Thursday and your desk being cleared on Friday morning, you know? So the thing about like
And security, I think, is that much like a stock portfolio or whatever, if you're into that kind of thing, you want your eggs to be in multiple baskets, or at least I do. Because if all of my eggs are in the basket of a single company that I work for, which has been my entire life until I went freelance, then...
Whatever happens at that company has a huge influence on me. Now, that could be worst case scenario, the company going under or having layoffs. But even things like, you know, a non-fun culture. And by non-fun, I mean toxic and harmful. Or just like some, you know, a product decision that isn't what...
The industry can support or what have you. Anything can go wrong. Yeah, I mean, like military contracts, for example. There was like... Since we're talking about Google... And again, I'm not trying to single out Google because a lot of companies have contracts to develop weapons systems, essentially. Yes. But that was like a lot of people were like, hey, I signed up because this was like the PhD-only company with Larry and Sergey and like, you know, don't be evil and all this stuff. Their motto was don't be evil. We're doing like...
weapons systems that are literally going to help kill people, right? Like autonomously through drones and stuff like that. Like, and, and a lot of people just wanted to leave the company, but it becomes difficult to leave the company when your entire, uh, you know, financial support system is based around that. Like a lot of stock options and stuff like that. And like, really, you're just concentrating risk even further when you work at the company than like a big investment. Like imagine, like I think, um, Enron, uh,
Giant scam energy company, basically like an accounting scam company. But a huge employer here in Texas, where I live, in Dallas. And what they did was they were like, up until the end, they were like telling their own employees, yeah, buy Enron stock. It's going to the moon. All the typical stuff you hear now with people doing like pump and dumps and stuff. But basically, a lot of those people thought that they were...
in like a really, I mean, it was one of the top, it was in the fortune 500 and, and it was voted like the best company to work at. And like all these typical, like,
I guess, signals that you would see that, like, oh, this is a good, healthy, legit company. And then all of a sudden, it just literally crashed down almost overnight as the scandal was revealed and people are going to jail and people are committing suicide and, like, all this stuff because it was just a big scam that only a few people at the top and, I mean, probably a lot of other people knew, but not everybody knew and a whole lot of people lost their livelihood. So don't concentrate risk too much. And I mean...
No, absolutely. And sorry, I didn't mean to talk over you, but it's absolutely the case. And like, you know, it resonates a lot what you're saying about them being a big employer in Texas. So I grew up in upstate New York and the city I grew up in, Schenectady, is actually, its motto is the electric city because General Electric had its, well, it started there, it had its factory there. It had a big plant, it has a research center as well. And when I was growing up there in the late 80s, early 90s, you know,
It was in the post factory had shut down. Everyone had lost their jobs. All of the companies into all of the other, you know, small businesses and services that were built on top of a bustling community then collapsed. And so I grew up in a city that was extremely economically poor.
In bad way. You know, the downtown was boarded up. Every storefront was empty. Like, in the same... And you hear this story over and over again. All around the U.S., all around the world. You know. Anyway. I digress. But the point being, like, I feel like, you know, if I can... And this is just a personal thing. I happen to be a rather risk-tolerant person, as might have already become clear. But, you know, I feel, I guess...
not only more secure knowing that one company can't single-handedly ruin my life i guess i mean i'm sure that actually i'm sure there are plenty of companies that can ruin my life like yeah if apple decided it wanted to stop this right now it could but um yeah or if they decided they wanted to just like you know freely sell your data and stuff like that you're in the sequels you've invested all this money in this hardware there has there's there's kind of like a social
a social contract when you join like a big ecosystem, things that they're not supposed to do. Um, and, and it's just kind of like when you move into an apartment, you take for granted, like, okay, the landlord is not going to let like some punk rock band that's going to rehearse.
rehearse all day long, moving next door and just rehearse. Like, like I don't have to worry about that or they're not going to allow somebody who likes to, you know, build bombs live next to me or something like that. Right. Like there's, there's going to be, and then when you're there and you're like, okay, uh, I just spent a huge amount of my money moving here. I just signed this like year long contract. I just, you know, uh, it would be an ordeal for me to have to move to another place. And, and the same thing comes about with an ecosystem. And certainly the same thing comes about with getting a job somewhere. Yeah.
where you've invested a whole lot of time. Often nowadays, there's the back-to-office movement. You're probably having to move to a new city and invest all this time and energy. Yeah. Not to knock work. I think there's a lot of disadvantages to working independently. For example, I miss having a team. I like teams. I like being on a team, feeling like we're all on the same side. Then, of course, obviously, all of the
The many perks and benefits of working for a company and having an office that you don't have to pay for a co-working space and whatnot is nice. But I think that a lot of people rule out freelancing. And I think I had ruled out freelancing for years when it was – in a way that was more founded on not seeing clearly what the risks would be and how I could manage them, but more on just thinking, oh –
That must be too good to be true. I, you know, can't imagine it working for me. And, you know, I think things like remote work, if you can, if you have the opportunity, can be a kind of a good, like, medium, I suppose, where you have some flexibility, but you also have a team and some structure and things like that. And, yeah, I also think it's interesting, you know, to compare the notions of stability and kind of our –
industry and software and more generally kind of, you know, what we're seeing in economies all around the world of, you know, times being hard in many ways. And I think that the more that we can do to kind of think creatively, think outside the box as it were about for ourselves as individuals, but also for our families, our communities, you know, our
our, the people we care about in whatever sense, whether tech co-workers or co-laborators or in whatever other facet of life, I think the more we can band together and sort of ask each other like, okay, what are the, what are the ways we can creatively start thinking of new ways to tackle this? Because everything changes, right? Change is the only constant. And, you know, we need to keep adapting as I think, you know, sort of as a
is a given in the software industry, right? It's very unlikely that you start your software career working in the exact same technology that you, you know, are working in a year later, let alone 20 years later. Um, so I think the more we can kind of like keep ourselves nimble and keep our communities and our, um, industry, you know, I think of the industry, not so much as like the economic powerhouse, but like the
The labor force, us, the developers, you know, we are the ones who are doing this. Exactly. And all of the unsung heroes of the open source world making, you know, the, like the XKCD comic, the people who are holding up that one little straw that's like propping up an entire world of software technology. Like, you know, we're all going to need to start being a little more, I think, cognizant of how we're all interconnected and a little bit more, um,
Yeah, willing to try new things if we're going to figure out some of these challenges is my perspective. So if you have been feeling discouraged about it, I would like to present myself as like a maybe it won't be so bad if you can...
Put some parachutes in place in certain ways. Now, that's not to say that the critical voices aren't also worth having because it certainly is a risk. But yeah. Yeah. I mean, you want to find more people. Try it out.
you want to find like kind of a happy medium. Like there are people who are like the sky is falling and there were always people that the sky is falling. The world is literally coming to an end or, you know, um, this industry is doomed or X, Y, like there's, there's definitely an incentive in place for people to use hyperbolic language or, you know, scare tactics to get you to read their blog posts or watch their YouTube video or, uh, become like a regular listener of their podcast because they're, they're going to deliver you the truth. And like it,
give you kind of an excuse for not fully engaging and fully trying to make a go at things. And, and I think that's like one of the biggest risks is the gloom and doom and people thinking like, I mean, we, we can definitely talk about, um, the,
in large language models, for example. Like a lot of people in the Free Code Camp comment section are like, oh, why are you even bothering learning to code anymore? You know, this person, this CEO with this giant corporation that has a vested interest in people buying a whole bunch of CPUs, or GPUs rather, is saying that you shouldn't teach your kids how to code because it's just going to be a solved problem. And, you know, like there are lots of people out there who believe that.
who believe people talking their own book basically talking there they you know jensen huang from nvidia has a very strong incentive to tell people that uh like this is going to be able to do the work of a whole bunch of developers like you're not going to think in terms of developers you're going to think in terms of how many gpus do i need to buy from jensen huang right well and that's you know and i think that's that's also part of it it's like thinking about our value um
in economic terms, is A, something that is part of that bullet train to burnout, I think. But B is, you know, is an unfortunate, I think, evil of just de facto something we need to do in this economic reality. But I think this whole thing with AI, you know, the new wave of, uh,
LLMs and code tools, Copilot and whatnot. I think it's really getting at some interesting features of like, what does it even mean to be a developer? Like, what do we do? Are we just monkeys that type characters into our keyboards and like churn out lines of code?
If so, then yeah, we should be scared because ChatGPT can do that way faster than us. You know what I mean? But luckily, you and I both know that is not what we do. That's not what we do. Exactly. And so, you know, like, I think that...
Software is a much more human endeavor than many people choose to acknowledge. I often use this quote from, I believe it's from a structured interpretation of computer programs, SICP, which is sort of a classic programming text that's probably, you know, well known to many of the community. The line, something like, computer software is written or should be written primarily for
to be understood by humans and only secondarily to be executed by computers, which I think is, you know, becoming sort of even clearer once we start seeing the difference between a AI coder who can put one character after the next and that is it. Like, that is all that a language model does. And I guess I as the, like, the linguistics nerd in me is like, it's just language models. Like, it doesn't know anything about what makes code
readable or easy to maintain or what the trade-offs are between tackling a problem one way and tackling a problem another way? Will it get better and better at knowing these things with all of the many lines of open source code that are
pillaged to feed its models. I couldn't think of a better word. Pillage. I mean, there are... I will say, like, Free Cooking does not have an outstanding lawsuit with any LLMs that have... But I will say that we forbid...
from crawling Free Code Camp's code base from Free Code Camp's forums. We've updated our robots.txt a long time ago and still the amount of bot traffic on Free Code Camp rises daily. Like it's incredible. The amount of people that are crawling. Free Code Camp has 600,000 forum posts at least. We have more than 12,000 human authored
articles that are human reviewed and edited like with through a very rigorous process. I mean, this is like the Glengarry leads of, you know,
that you would feed into an LLM, basically, if you wanted it to be good at programming, right? Exactly. Yeah, like, it is really annoying that they are pillaging. And while I do benefit a little bit from using LLMs and stuff like that, you know, I could have just asked a developer. It would be slightly more expensive than just typing my question in. But yeah, like, I think my theory is a lot of LLMs are like a revolution in cost savings. Yeah.
But not necessarily a revolution in getting things done right. Well, exactly. And I mean, I guess the question, though, is, you know, is doing things right a priority anymore? Which is a topic for another conversation. But I think that, you know, first of all, again, my views on LLMs are colored by when I first started working with them. It was around 2010.
12 or something and i was in grad school okay this is what i'm excited about we're gonna dive into your background let's go ahead and like oh so we'll work back to that but like give us your your origin story like when you were in high school what did you think you would be doing so definitely not this um i was i liked i really liked school and i uh was quite um
you know, well, good at playing the game of school, if you can put it that way. So I had opportunities. It is a game to be played and being good at playing. It does not mean you're smart. It just means you're good at playing. It, um, is my view debate in the comments. Anyway, the, um,
The sciences and sort of what we now call STEM, I don't think we had the acronym back then, but it was very interesting to me. And so I did want to go into the sciences, but I thought that I would go into some sort of medical type field, whether actually becoming a doctor wasn't really my goal, but maybe medical research, et cetera. Yeah. And then by the time I got to, well, when I was in my freshman year at college, I was
I was taking a lot of science classes in the biology department. Molecular and cell biology was the department that I was intending to major in. And I found the material really interesting.
And I found the experience of learning in these classes very terrible because – and not to knock my university at all, but like these classes were huge. They were like 500 people. You went to one of the best universities in the world, right? Yes. You went to Berkeley. Go Bears. I love Cal. I love UC Berkeley. I mean –
Most days. It has made many mistakes too. But I found that the MCV department, the molecular cell biology department, which also, yeah, great classes, excellent teachers. But for whatever reason, it was this very kind of impersonal, like huge lecture hall, or then you'd be in labs and sitting in –
A fluorescent lit room with no windows for eight hours a day is just my personal not cup of tea. No shade to anybody who enjoys that like my dad did. My dad was a chemical engineer and spent a lot of time in a fluorescent windowless room. But for me, it was not so much the thing. And meanwhile, I had started taking some other courses, including something I was always very interested in, philosophy, and found that the experience there was much more community-based.
driven. I found, you know, immediately kind of fell in with a group of other students who we would just dig into things and just like have super interesting talks, whereas it was for me, it was really difficult to make those connections in the other department. And so anyway, one thing led to another, and I decided that I didn't want to lock myself into this like
a scientific career of being in one of, you know, very, a few, a very definite set of possibilities and lifestyles and jobs. Although I'm sure there were more options than I saw at the time. But so I decided to major in philosophy, which although, you know, nobody could have foreseen it at the time, including myself.
and it certainly seemed like an economically terrible decision to many people, including my family, it turned out to be the foundation of my...
computer science studies. Because at UC Berkeley, where I went to school, the philosophy department is very analytical. That means that you have the opportunity. And what I got really interested in, you have the opportunity to do a lot of formal systems, a lot of formal logic, a lot of higher level formal logics, and things like, yeah, the types of proofs and analysis, rigorous analysis that
Turns out computer science has a lot to do with that sort of stuff. It turns out computers are just logic machines. So those of us who know logic and spent four years studying it while everybody else around them is like, this is useless. Turns out that was probably the most useful thing I studied in school that most closely related to what I do now in terms of the formal side of things. Yeah.
But then because I always loved foreign languages, after college, I ended up, and because, you know, philosophy majors are so sought after in the market, especially in 2008, what I ended up doing is getting into English teaching. English as a foreign language. And I've always loved foreign languages. I had the very great privilege growing up of being exposed to foreign languages and having the opportunity to learn non-native languages online.
And so even though I'm not bilingual or anything, I just find them fascinating. And so I decided to start teaching English. And through that, I got really interested in linguistics, like the science of language. So and this is where the the
the beginnings of things like language models start popping up. I wanted to go back to school to work on computer-assisted language learning and to help students and teachers by building tools that could use technology to help them have a better experience in the classroom. So I ended up going back to school, getting a master's degree in computational linguistics, which was a term I had never heard before and is sort of like developer relations, one of those extremely
wide umbrella terms that people use. Yeah, how would you describe the field? Yeah, so I describe it as like computational linguistics is this huge umbrella term that is basically anything at the intersection of human language and computation. So that could be things like LLMs, things like speech recognition or speech, you know, dictation software, what have you. But it can also be things like doing linguistics, so the scientific study of human language with computational methods.
So, for example, like there's a lot of really interesting things in like text analysis with computational methods, corpora analysis, speech analysis, pronunciation analysis. That's what I ended up focusing on with speech technology and like did my thesis on computer assisted pronunciation training. But, you know, it touches basically anything that involves computers and human language playing nicely together. Yeah. So it's huge. And I found that.
Yeah, there were a ton of really interesting things that I was into in speech recognition, let's say, because that was what I sort of focused on. But all of the companies who had money to hire people with my sort of skill set coming out of grad school were doing things that I didn't feel great about in terms of how they were using the privacy of people's voice data or whether or not they were even acknowledging the other people
7,000 human languages that are out there besides the two dozen that are kind of, you know, most economically viable for companies to invest in. And so I got really interested in computational linguistics for what they call low-resource languages or under-resourced languages might be a better way to conceive of it. High-resource languages like English or Spanish or Russian, what have you, are languages for which we have
untold amounts of data in digital form. We have digital corpora up the wazoo. Most languages on earth, and again, there's 7,000 of them, don't have that. So I got really interested in like, how do we solve those problems? How do we apply this type of technology to those things? And so language models, like the large language models that are now way better than they were in 2012 when I was in grad school, they've come a long way in terms of their accuracy and
and their Turing test passing capabilities and what have you. But at the end of the day, A, all they know is how to put one word in front of the other. And that is not all you need to know in order to do language or to even come close to doing a fraction of the things that we as humans do every day in terms of the cognition and the higher level processing that's happening before we even open our mouths and say something. Yeah.
So, you know, A, there's a lot of lost context there. And in language, context is everything. And B, they need that huge amount. They need high resource data. They need tons and tons of data to achieve that accuracy. And so to me, that's like, okay, well...
Yeah, if there's a problem that we can solve by throwing money and data at it, and that'll just make it better and better and better and compute. And as things evolve, it'll just get easier and easier. Cool, but personally, that doesn't really strike me as that. Yeah, it's not like an interesting challenge. It sounds really bad, that interesting of a problem.
Or like, if it'll naturally just get sorted out by itself, essentially. Right. Like, like, like there, there are so many companies that have an incentive to have a good Spanish localization of all their, their, uh, you know, different tools and all their content and everything like that. And, uh, so by definition, and also we, you know, with LLMs and stuff, because they're
They're consuming the, you know, various corpora. Corpora? Corpora. Okay. Yes. Thank you. That's the plural of corpus. Exactly. So they're consuming the very, which I believe means body. So it's related to the word corpse, if you need help remembering it. Corpora. So, like...
They already have all that and they're generating all that and the LMs are being trained on all that stuff. But then when you go to like – so I'll tell you my own experience with language and people who listen to the podcast all the time. I'm humble bragging or whatever that I'm learning all these foreign languages. But like I primarily have over the last 23 years or so, 24 years, I've studied East Asian languages. So Japanese, Mandarin, and Cantonese specifically. Yeah.
So I'm cool. Cantonese is a marginalized language. Uh, you know, the Chinese government does not want people speaking Cantonese because it's like the language of the old elite, right? Like, you know, India may have a similar thing with Hindi versus like Gujarati, for example, or, uh, there's a lot to unpack there, but yes, it is. It's true that like even some of the largest languages, even languages that have millions and millions of speakers that you might not think of as like,
less common languages or something are still at a disadvantage because of various things. And I mean, to say nothing of the fact that all of the languages, and this is the thing, languages die much more at a much faster rate than they are born. And, you know, there are so many languages that have already been exterminated by things like political policies, horrible, like in North America, you know, what happened with the
With the kind of genocide of not only the human beings that were indigenous to the continent, but also their cultures and languages and all of that with the residential schools and everything. That's just – that's, you know, I think a horribly extreme example of how we've lost so many of these languages. But also in terms of the cultural, like –
know-how that's encoded in all of that, the different, like just so much color of our world and like all of the different ways it is. And, you know, from a scientific perspective, the data about how this other language can be, which if you're interested in understanding human language in general, you want all of the examples that you can get. So yeah, no, it's, I mean, Cantonese is a great example of one of those languages that might not be getting its
its share of the technology pie, and there are so many other languages, and of course they are largely in the global south and in historically colonialized, post-colonial, and post-imperial countries that
already are at a huge disadvantage on the kind of global economic scale. And the fact that then their populations can't keep up with the technology that's evolving in the smaller set of languages. For me, as a person who wants there to be as many human languages as possible on the planet Earth, I
is very concerning. So that's why I personally find it more interesting. Like, how can we do some of these cool things with way less data? How can we do some of these things without a network to make a request to OpenAI or what have you? Like, how can we put speech recognition on people's phones that aren't actually used to
reading and writing on a daily basis. Like how do we deal with speech technology without going through the text piece that we need to these days? So anyway, lots of interesting questions to my mind there, but not the type of questions that are being paid for, for people to investigate. So that's where I kind of, meanwhile, was working on these projects and was learning to
I had been coding a little bit just for funsies. I had learned a little bit of Python. I think I picked up one time where I was visiting my mom or something. I went into the library and just idly picked up headfirst programming, the O'Reilly headfirst series. I think that was using Python. Yeah, and I just – because I had some time to kill. I don't know what I was doing. Maybe it was between jobs or something, and I –
started playing around with it. But when I was in grad school, I really started using it on a daily basis. And I created my first GitHub account and I, you know, or my only account and I created, um, you know, my first kind of like software projects and learn some new languages and started kind of poking around with this whole building things idea, as opposed to just like
writing really long, horribly written scripts to just spit out the number that I need to put into my paper that I'm trying to submit or whatever. So I thought I really got into this. The academic code versus actual code that you're intending to share with other people and have people contribute and scrutinize. You wouldn't necessarily publish the code. Maybe nowadays in 2025, your professor would expect you to actually have the code base, the scripts and everything submitted as well as the answer code.
But back in the day, at least, my understanding was there was academic code, which you just ran it and there was no test suite or anything like that. And you got the number and you put it in there and then you threw away the code. And it was never maintained. Right. And the thing is, the quality of the code itself is not really like you're not incentivized to optimize for that. You're incentivized to optimize for does the code work? Although, of course, there have been plenty of egregious examples in academia of papers being published based on
faulty code that then only years later is discovered and overturned scientific findings. But anyway, the thing that I wanted to do is make useful things, I guess, and make things that... For example, like I said, I like working in teams. So I also did my first team software projects in grad school. And I found that really interesting as well because you can sort of
like, dig in, specialize on one maybe part of a project. And I also just really liked the challenge of being kind of tasked with, okay, we need a thing that does X, Y, and Z and getting, you know, going through that process of like, what are the requirements? And like, what's more, most important? And what can we drop? And, you know, how do we figure out like building the right thing?
Which I guess, you know, in the tech industry, that's sort of more the product work. But as I mentioned, you know, when you're working on developer tools and you're doing developer experience as your user experience, then kind of all ties in. So anyway, the, yeah, post-grad school, instead of going to try to get a job at, you know, working on Alexa or Siri or...
whatever the Microsoft one is that I can't think of right now. Cortana. Cortana. The dragon dictation. There are lots of companies in this space. Oh, yeah. Naturally speaking and fluence. What is it called? Nuance. Nuance and dragon. Yeah, that was where the jobs were. And, of course, if you wanted to stay in academia and work on this type of stuff, you basically were looking at getting your funding from –
DARPA. Yeah, Defense Research Project. The U.S. Defense Advanced Research Project. Advanced Research Project. Something like that. They make weapons. Well, they make all kinds of stuff, but they also are huge...
Yes, but they also – language technology has been hugely advanced with funding from defense agencies. So anyway, the options are stay in academia, do this research, take money from either defense department or from those companies who maybe are like having research grants for people working on some sub-problem in language processing. Yeah.
And I didn't want to do those things. And meanwhile, I was getting really excited about this software thing. And I really liked how hands-on it was and that I could, you know, build tools and build tools. Like for example, my thesis was on computer assisted pronunciation training. So what I wanted to do, you know, building tools for teachers and for students. And so, yeah. So after I graduated from my master's, I decided to really give it a go, like the software industry as a career. And I was like,
And so that brings us to about – it was about 2015 when I made that decision, when I finished my master's. And thankfully, because I have no idea how I would have gotten into tech had I not –
stumbled upon this but one night and like a 3 a.m random rabbit hole as one does um don't know what link to what link to what link to what link i landed on somebody's blog and i found a little link at the bottom that said it was built at the recurse center okay what is that i don't know let's click okay
Wow. So that's literally like you just discovered it late night browsing somebody's blog. And that's how you discovered this thing. It is so random. I was looking – I think it was a Code for America project that I was looking into having nothing to do with the software side of things. But I was looking into like some urban planning stuff and just randomly. Anyway, so the Recurse Center is – was basically my gateway into the tech industry. It is a –
programming community, I think most accurately, but it is also they offer a programming retreat, which I usually describe by it's like a writer's retreat, but for coders. So it is open to anyone who already knows how to code. It's not a place where they're kind of teaching the step one, kind of the, you know, very earliest, but you could be coding for just a couple of months or maybe a couple of years of, you know,
academic quality code like I had been. Or there's also people who've been coding for 20 years professionally and just want to take a sabbatical or do something else, what have you. Anyway, so this retreat allows everyone to gather. These days, I think there's a virtual option since the pandemic as well, but they're headquartered in New York City. And so you go there and you attend for six weeks or for three months. At the time, it was only available for three months. So that's what I did.
And you may ask, well, what, well, I guess you're taking classes or you're, you know, you're either some kind of curriculum, none of that. This is a completely unstructured, um, based on the unschooling principle, a completely self-directed learning experience, which I think is very in line with the free code camp, um,
Ethos as well. Yeah. The idea is that if you get a bunch of really curious and motivated people about learning in a room, people who are eager to learn some new topic to them, whether it be the basics of computer science, like I wanted to fill in my blank on, or whether it be some
totally different programming language you want to try out or whatever it is, or AI or making a game or whatever it is, you have this community of other learners who you can share information, knowledge, projects, collaborations, whatever with, and basically make yourself a better programmer from wherever you are to wherever you want to be, kind of move along down the journey. So it
It's an amazing thing. Recurse.com is where you can go to read all about it. It's so special that it's hard to put into concise words. But essentially, it's sort of like an anti-boot camp or something like that, where you do get a lot of the benefits of a boot camp, like the network and the connections to the industry. But you don't have the kind of rigorous curriculum, which is, you know.
pro and con depending on where you're at and what your needs are and what your preferences are. For example, I know some learners that definitely prefer to have a classroom, a syllabus, a text, you know, like to have it be very structured and prescribed because that helps them focus and that helps them stay on track and what have you. But this is, I think, really good for folks who are maybe don't
quite know exactly what directions they want to go yet or just want to be exposed to a community of people who are really interesting and interested in various, like every possible facet of the tech industry. Kind of like a smart people retreat. Like, I mean, you said writer's retreat, really. Yeah. My understanding, and I'm well acquainted with the Recurve Center, and I've talked to some people over the years who I think...
worked there. Uh, and, and of course it, it kind of went away temporarily during COVID and I'm, I'm thrilled to hear that it's back. Uh,
This program is awesome. And I think that, uh, what you said about like people who want to not necessarily follow a linear curriculum, like free co-camp, we designed the curriculum to be ultra linear. It's literally a line. There are no deviations from that line because we believe that people should have a good structured option because they can just go read all these extracurricular, we call them extracurricular resources, you know, watch YouTube videos. They can listen to
this podcast or many other tech related podcasts, uh, they can, you know, just browse, uh,
Y Combinator's new site, Hacker News, and read interesting projects and get the fear of missing out at every turn. Or just get really angry about something. Yeah. It's just nice to have a single linear path that's like, okay, just come back and keep progressing through this, and we've made the decisions for you so you don't have to try to make a bunch of decisions that you're not really qualified to make for yourself. But when you get people who are already somewhat experienced devs,
Or like yourself, people who've gone to grad school and used coding as a tool for getting things done without necessarily understanding, like, the many layers of abstraction beneath the Python scripts you were using to do your, you know, linguistic analysis and stuff like that, quantitative analysis of languages and things like that that you were doing in grad school. Like, you already have kind of a little bit of context and you've got, like, a clear kind of mandate to, like, I'm going to shore up.
my fundamentals going in here and hopefully create some cool projects, right? So being able to put people in an environment... And by the way, you may be wondering, like, this sounds like some, like, hippie commune, like, how does it actually sustain itself? And my understanding is they...
When you finish the program, they'll say, hey, would you like to take a job at this employer partner? And then they get a recruiter benefit. When a recruiter helps you get a job, they're not doing so out of the goodness of their heart. They probably really like helping people get jobs intrinsically, but they are also extrinsically rewarded in the form of getting kind of like a finder's fee for commission. And that might be like 33% of your first year's compensation. So if you're getting a job that pays...
you know, $80,000, they'd get a third of that. I should have chosen $90,000. They're going to get 30,000. There we go. You just got a $10,000 bonus. So you didn't have to do a bunch of mental math. Okay. So, but basically if recurve center is getting like, you know, 20 K or 30 K per person going through. Yeah. I'm not sure of their actual arrangement, but that is their business model is essentially, um,
they don't have to charge you where they're promising you the world to get you to like sign their, you know, uh, in, in the intern student, you know, agreement or whatever it's called. Um, it's not like that. It's literally like, they're like,
Hey, uh, we are optimistic that you'll be good enough to get a job at like X, Y, Z, you know, hiring partner at the end of this. And we're going to basically take all the risk for you and, you know, potentially putting you up in New York city, a very expensive place to live. I understand there's like housing stipends and stuff that you can get. Well,
So when I was there, which is a while ago, so I don't know how things evolved right now, but when I was there, there were grants for living expenses, but only for folks coming from underrepresented groups in tech. So I actually, that's how I was able to attend because, you know, women counting as an underrepresented group, also people of color. Very underrepresented still in 2025, unfortunately. Yes, unfortunately. But it's not an option for everyone. So there are, you know, it is...
There is no tuition for attending the program because there's no course to charge tuition for, no curriculum. But it is not free to exist in New York City.
And so I know that there are – yeah, I believe they still have the grant program. I'm not exactly sure what its requirements are these days for living expenses. But I know that there is also a lot of kind of intercommunity organizing around this, like folks saying, oh, I have a room available in my apartment for whoever is in the next batch if you need somewhere, whatever. They call them batches, like the little cohorts. Anyway, and so the –
The possibilities have been kind of well-tested, and so there are always folks who are willing to help out with kind of helping you figure out how to make it happen if it's an issue. And the staff of the Reker Center is – they're such a small team and so immeasurably powerful at what they do, like competent and creative and just so – they are truly –
a supportive group of people and they will, they will talk to you and help you make it happen. If, if need be, I have no doubt. And the thing is, that's the same for the, for the recruiting side of the coin. So yeah, they, that's their business model is by working with the type of companies and they have a big network of partner companies that are, you know, looking for folks who are self-motivated, self-directed, um,
eager to share their learnings as well as to learn themselves, et cetera, et cetera. A lot of employers find these super desirable characteristics in their developers. And so by recruiting from recur center, they kind of have like a pre-vetted pool of this because that is basically the only thing they're screening for in the, in the intake of the recur center. The application process is it
It's like a pair programming interview that's based on something you've already written. At least it was when I was there. So they'll ask you to solve one of a few different problems. You do it on your own time. Then you talk through your solution with someone on the front end. So what they're looking for is not like how great are you at this particular language or whatever, or could you implement a red-black tree in this much time? No. But rather, are you able to –
to articulate your questions and your learnings and all of that? Are you able to take that in from others? Are you able to kind of like, do you play well with others basically when it comes to doing this work? And that's also a lot of the same thing that companies are looking for. So it's almost like they get a leg up. The companies get a leg up because the Reker Center has already done a lot of their work for them before they even begin the interview process. Yeah.
And so it's a kind of a win, win, win all around. So I have a huge fan. I cannot talk about them enough. Okay. Well, we're going to talk about them a little bit more, but I, before I start firing off the questions, uh, cause they're related to this recurse center and another opportunity that you were able to take advantage of outreach. Can you tell me a little bit about reachy out, right? Reach E like with a Y at the end.
Exactly. Like Outreach and then with a Y at the end. And in the decade since I did that program in 2016, it has not gotten any easier to say their name. But I love the program. Outreachy is amazing. It is, for folks that haven't heard of it, it is, I'm not sure, I think it's its own organization now, but it may have, it originally started as part of the GNOME Foundation. GNOME, depending on your, yes. The Linux UI thing.
Right. So it came out of the, and it is an open source program where basically it started its life actually as the outreach program for women. And then they rebranded it to Outreachy to make it more inclusive of other underrepresented folks in tech. And what they do is they're not a company. They don't offer you an internship, but they facilitate a bunch of open source projects
Hiring interns for three-month internships, and that happens twice a year. They have a winter round and a summer round. Well, they have a December round and a May round. Yeah.
That are either winter or summer, depending on your hemisphere. Anyway, and the idea is that... It's nice of you to consider the Australians and the people in Argentina and stuff. It's a sphere, you know? It has... Anyway, the point being, it's actually very relevant because it is a globally open internship, which is saying something. And it is remote. You do not have to go anywhere. And it is paid. Right.
Yeah. So for my money, this is like the best internship that exists. It is in open source. You're working on open source. You're getting paid for it. You're getting a dedicated mentor who is sort of like your manager, but a little bit more than that. There's, you know, it's very high touch kind of thing. And you're getting a scoped project that the open source team has scoped for you to work on.
You're getting real on-the-job experience, just like you would in any internship. Did I mention you're being paid for it? And you can do it from anywhere. And it is targeting folks who are underrepresented in tech, and that includes folks who are women, men.
You know, certain other demographic groups, but also folks in the global south who are, in addition to all of the other, you know, unacknowledged biases in our industry and everything are also facing a U.S. visa is another thing. Absolutely. Our immigration system works like if you're coming from the global south, it's extremely difficult to get a U.S. visa.
Absolutely. And in Europe, unfortunately, it has been easier, but it is getting increasingly not easy. And
It is, um, in any case, you know, this is something where like, even if you have the opportunity to get a visa and fly thousands of miles to some foreign land and be away from your life and your family and whatever for three months, that doesn't mean that that'll be a, like a worthwhile trade-off for you, you know, in terms of everything that you'd be missing. So what I think is amazing is that Outreachy is the type of organization like the Reker Center as well, especially with their, their virtual, um,
experience that can really create like a super international network and bring down some of those barriers for folks getting into the industry. Now, I was someone who was in a relatively privileged position of being, well, at the time I was in Germany, I did my internship from Germany. I had academic degrees and a little bit of flexibility and a lot of things going for me.
But even with all of those things going for you, it's really hard to get that first thing, that first toehold, that first professional experience where you can say, now I am a professional software developer because someone has paid me to do this full time, even if it was just for three months. And so for me, that was my first full-time tech experience.
engagement, if we will, outside of academia. And that is something, an opportunity that I 100% found out about through the Recurse Center and its network. Now, what's funny is I mentioned they have two rounds a year. While I was at the Recurse Center, there was a round of applications open. This was in the fall of like 2015. And I applied and
With my very first pull request, I think, on GitHub, which was like a small language change, small but important, I believe, removing some coded potentially discriminatory language and replacing it with something more innocuous, was my first pull request on GitHub, like literally changing blacklist to safelist and whitelist to allowlist or vice versa. You know what I mean? Yeah.
Block list and allow list, I believe, is what we settled on. Anyway, it was not a very strong application of like, I know how to change one word in a text document. Hey, you can make a pull request. That's more than 99%. I did. I did learn how to make my first pull request. And more importantly, I learned like so much about what an open source project is, like how I was using GitHub, but just for my person, like my academic work and maybe collaborating with somebody. Yeah, exactly. You were actually collaborating?
I was collaborating, but I was like –
I hadn't really thought about like, how does this work? Like how is a project run and how did they learn it? So I taught, I learned a ton just by submitting a failed application to this program. So I am a huge fan. If the application can already teach you a bunch, it must be good. Right? So I didn't get in six months later. I tried again and I put in a much better application and
And I happened to get in this time. Again, very lucky. And I happened to work for Mozilla on a project they were doing. It was writing – it was working on the test infrastructure for –
For Firefox tests. Interesting. So basically test infrastructure for Gecko, their browser engine. Whatever. I digress. They didn't put you on anything related to localization or linguistic analysis or anything like that. You didn't get to use any of your expertise. They just gave you a completely unrelated work. Well, to be fair, you actually – they don't like pick you and then place you on a project. You apply to a project directly. So you can choose –
Exactly. There's a bunch of different organizations and they have a bunch of different projects and they're not even all coding. Some of them are other types of work, marketing or… Technical writing. Technical writing or community building, all kinds of stuff. The majority, I believe, are coding. But anyway, the…
Really amazing thing was that my mentor at Mozilla was a full-time employee at Mozilla. Her name is Maya Friedrichowski, and she also had been a Recurse Center alum. And so it was really amazing to see that it's possible to be in a tech job with people around you who want you to succeed, who are happy to help you when you run into hurdles, and
And you can do it not in a tech hub of the United States or not even a tech hub of Germany. I was in like a small Southwestern town, like super random. You can do it from wherever. You can learn and be useful while learning. You don't, it's not a either or, like I either know enough to be useful or I'm in the learning phase. And I think as...
I imagine you would agree. You know, the learning never stops and the knowing is never done because...
Even if you did learn every feature of a language or whatever, you would have a whole bunch of new ones to learn in the next release. Yeah, I think what you said there is really important because I think a lot of people are waiting until they're not going to be a drag on the project before they start trying to get involved in open source. Like, I don't want to be a net negative. And it's true that, like, some people are frankly a net negative on an open source project. But that is probably a temporary thing.
if they're working hard to get better. And like Free Code Camp, we create these first-timers-only type issues or good first issue. Exactly. And we do that because we know how to fix that. We could probably go in and fix it really quickly, but this is an opportunity to give someone else a chance to go in and get some practice fixing something within our open source project. And...
Uh, maybe they have to do several like help one of the type issues where we're kind of like, like holding their hand to an extent, to an extent. We don't do it too much because we don't want to stifle their development, but, um, they are eventually going to not only be a net positive, but they're going to recoup any period of net negative and the total net productivity of that contributor will be profoundly positive. But, uh,
A person who never gets involved in the community is going to have a zero net productivity because they're not going to do anything within the community. So it is important to acknowledge that when you start out at something, you're probably going to suck at it, and you're probably going to take up a bunch of people's time. I certainly did when I was learning to code, and that's normal. But a good community will...
you know, absorb that and, and just be like, cool, well, we're going to keep trying to help you. And my team at my first job did that same thing. And I've had lots of people in my life who've been very patient with my ineptitude and helped me tech up to where I was actually like a productive person. And so, so like what you're saying there is kind of like, don't be daunted. And it sounds like they had like a system in place to help prevent people from being too daunted. And yeah, I mean, outreachy,
I think is kind of a perfect getting your feet wet in open source full time and also in just working as a developer full time because, as I mentioned, so each organization, I would say company, but it's not a one-to-one with companies because these are open source projects. Some of them have companies behind them. Some of them don't. Anyway, each project is kind of pre-scoped by the team to be something that
an intern can take on and tackle in three months. So a lot of the problem, I think, of trying to jump into an open source project, especially one that already has a core team or active maintenance team of like more than one person, is there is a lot going on that has not been like, even if a project has good first issues and has issues that are scoped to that
group, right? The group of people who want to contribute, want to help, want to learn new skills, but maybe need a
more structured thing. That's a, that project is ahead of the game in my experience. Like if it all has even spent the amount of time to think through what are the good touch points for a newcomer here. Are you alluding to like tacit knowledge within the organization? Like if there are a lot of people working on something, there's a lot that is not written down somewhere. Exactly. Is in like some, you know, Slack or some discord or just, just like phone calls that they had like six months ago where nobody knows. And so you'll see issues that are like,
Totally. And you'll see issues that are like, implement this thing. Okay. What exactly are the requirements for the thing? What are the decisions you've already made of not to do or to do or whatever? All of that stuff, that tacit knowledge does not make its way into issues. Sometimes you get issues that are like wildly different granularity of
you know, size, sort of weight. And of course, you know, this is all old hat to open source maintainers who are used to thinking about these things. But most, and this is no shade to the folks who are maintaining these libraries, but most open source maintainers don't
have the funds or the time to be investing in things like optimizing their project for contact by an unknown stranger who knows nothing about it. You know, like, so it's understandable, but outreachy on the other hand, that is exactly what these projects are intended for. They are, they are scoped to this particular program. And so they are generally, I mean, of course it differs project to project. And I guess, you know, it's possible that I got a lucky one and you might, somebody else might be less lucky, but yeah,
Generally speaking, they are achievable, something that you can bite off and then chew, even as a newcomer. And I think that is a lot easier to wrap your head around as a possibility than just jumping into your first full-time software engineer job, even if you were able to get one, which, of course, is a lot easier once you have a little professional experience on your belt and one extra thing on your resume and everything.
What have you? So, yeah, I think it's... Oh, sorry. I didn't mean to interrupt. No, I think it's an amazing model. And I hope for our collective open source future that we can find ways to make it easier and easier for maintainers and core teams and things to do this kind of work. But it is a lot of work. I mean, I'm sure you know as a maintainer, you know, like trying to... I mean, this is, you know, if you're a tech lead or you're a manager or, you know...
At any point like that in your career, you know how much work goes into trying to figure out – and if you're an educator like me, of course, you also know – trying to figure out what is just enough of a challenge but not too much of a challenge to be overwhelming and turn you off but not too easy because that would also be boring and turn you off. And so what's that right sweet spot? That's hard and takes a lot of experience, takes a lot of thought. Yeah.
So, um, I think that even if you don't apply to Outreachy, if you look through their projects and you look through their, their, um, the, the, the, the different organizations they work with, um, it's a really, really good way to kind of have a little bit more structured introduction to the open source space, I think, into the professional software development space. Although I will say with the caveat that like working in open source is not always identical to working in,
closed source, you know, private companies, but I digress. But yeah, huge fan. It is representative of working as a remote worker in software though. Like a lot of what does just happen right on GitHub through pull requests and GitHub issues. Most of it, I think. I mean, these days. Yeah, no, but I think it's, like you said, with FreeCodeCamp having that very linear curriculum, there is a lot of value to that. And that's what's really beautiful about a lot of these different programs and resources is that they kind of can
play back into each other and create these like positive feedback cycles. So for example, at the Recurse Center, if I go there knowing, okay, I want to learn this technology or this new framework or what have you, and I know that there's a really great tutorial or piece of the curriculum on Free Code Camp that will step me through this and I need that guidance, great. I can then say to my Recurse Center comrades, you know, I'm working on learning this this week. I'm
Anybody want to do it with me or, you know, here's my learnings after I've done it or what have you. And so like it all kind of feeds on itself. It's at least for me, you know, again, without the Recurse community, I would never have discovered the Outreachy community. Without the Outreachy community, I would never have like discovered some of the open source world, especially in Europe where I was doing my internship and made some contacts that are folks that I'm still friends with and still in touch with, you know, or still professionally in touch with.
And I think, you know, the more places like Free Code Camp or even individual bloggers and resources, extracurricular resources that you can find wherever, having like a dedicated time to sit down and do them or a dedicated space where you have like, you know, a little bit more time.
leeway to choose which parts you dig into and follow the structure of. I think it's all like, it all creates more opportunities for more different types of people to learn how to code in more different types of ways. And I think that is
That's undeniably the best possible thing for the industry. I guess there are other folks that might disagree. But so I think like the more we all talk about each other's program, it's like the networking thing, right? It's like, okay, who do you know that would be great for Outreachy? And like if you're watching or listening at home, I hope you –
I've already thought of like who you're going to send outreachy.org as a link to, to get them to apply for this paid remote internship. Anyway, but, but yeah, I think, I think it's, that's why it's just amazing to be,
on podcasts like this and have the opportunity to talk with folks like you and for us all to kind of have an idea of how folks are pushing forward these opportunities in the industry so that we can keep opening doors. Yeah. I mean, one of the things you alluded to is like, there might be some people out there who just wanted to go back to the traditional way. Uh, the traditional way was, uh,
You do really well in school and you get into a really elite university program. Uh, and then you already know what you have money to pay for. Yeah. And you already know what you're going to study. Uh, because if you don't in the U S if you don't know what you're going to study, it's very expensive to change majors two years in. Uh, and you're going to end up like probably filling in a lot of the gaps with self teaching, which, you know, we're here for. Uh, but,
That is a pretty rough process, like myself, even though I'm a middle-class dad. At one point, I dropped out of high school, and I lived in my car, and I just worked menial jobs for a year or two before I even went to university. When I went to university, I still didn't know what I wanted to do, and I went to this really inexpensive state university.
college in Oklahoma that was like $1,000 a semester. It was not Berkeley. Berkeley is a great public institution and California has lots of great public city colleges, community colleges essentially. They've got the best community colleges in the world. Yeah, but I'm a huge fan of community colleges and public education generally. But I didn't have a clear vision to learn. I took a single programming class and it was taught in Java and the professor was one of those
old guys that talks to the whiteboard and like, it didn't learn anything. And I was frustrated. And then I just did never try programming again until like 15 years later or something like that. Uh, I guess it was like 10, 12 years later. But, um, you know, a lot of people, that's how it was traditionally done. That's how, you know, your, your grandpa and, and like all these other people that were, uh, working at like IBM and stuff with, uh, like, like,
the company men. Uh, and of course it wasn't all company men, but that's what like a lot of people talk about when they're thinking about the traditional paths is like, you just work really hard and you do it, you jump through all the hoops and then you get a lifetime employment at some big company. And like, that's not how it works anymore. Uh, but a lot of people kind of have this anachronistic view of,
of paths into technology. And that's why I'm so excited about Recurse Center and Outreachy and a lot of these other programs that are not trying to take advantage of people, but are just trying to give them a path to make moves and get things done. Absolutely. And I mean, ultimately, to me, it goes back to the same kind of sentiment that sort of drove me towards working on low resource languages and problems around, you know, how do we get, how do we make sure that the technology is accessible
that is affecting everybody's lives is in the hands of everybody. You know, like, I mean, it sounds a little highfalutin or whatever, but like, it's a, how do we make sure there's some kind of democratic involvement here? And if the only people who get to be calling the shots on technologies that become, you know, day in, day out, kind of dictating how we live our lives are people who are a very homogenous group from a very homogenous kind of
socioeconomic background from a very homogenous geography, et cetera, how can that possibly end up being technology that serves everyone well? You know, I mean, best case scenario would be the sort of, oh, it just can't. But worst case scenario and what we unfortunately do see with technology generation after generation is it ends up being used to entrench existing power dynamics to, you know,
Yeah. Yeah.
To me, it just seems it would be extremely dangerous to go back to the original way or to try to emulate it in a newfangled iteration. I mean, everybody looks back with rose-colored glasses, everything like the good old days. But the reality is there have always been lots of problems and lots of shortcomings in the way we build software. And we have an opportunity to get more people at the table. Exactly. And also, I mean, like...
With remote work, which I'm a huge advocate for, and I'm a big critic of the back-to-the-office movement, I think it's inefficient, and it just reinforces people's sense of self-worth as a manager. I'm sorry, but if you don't trust your employees to do their jobs, why did you hire them? Yeah, exactly. Anyway, like...
there are lots of mediocre managers out there who, who have, you know, these complexes and, and the only way they can do it is being that guy from office space that comes by with a coffee cup, checks in and make sure you're doing your TPS reports. Doing your TPS reports. Yeah. And if you're, if you find yourself working in one of those types, uh,
Like keep learning some skills and get out of that place. Cause, uh, there are lots of other good places you can work, but, but I, I don't mean like, I understand if you've got familiar obligations, you've got a debt, you need to pay down any number of things like staying in that situation. But always, even when you're in the gutter, look up at this,
stars, right? And see if you can figure out a way to get up there. So one of the things I want to talk about is like you applied for Outreachy. It is an exclusive program. It's hard to get in. You had to apply twice, right? And like...
A lot of people may not have the, and I encourage people to apply for it for sure. A lot of people will not get in just like a lot of people when they apply to the free code camp author program. For example, they want, they want us to edit and publish their articles and share them widely, uh, you know, technology tutorials and things like that. We are very selective on that. And that's necessarily, we just want to keep quality high. Let's say hypothetically you apply, you can't get in. You've got like a six month cool down period before you can apply again.
What are some things that you could do within your community? Maybe you can find other people who are working in like office space, how jobs that don't enjoy the work they're doing that feel like they're in a, you know, France Kafka novel or something like that.
And they want to get out and they want to start, you know, building a community locally, maybe with other people or creating an online community. If you're just happen to be in like some small village and literally nobody in your village cares about programming technology and they're just interested in, you know, more immediate concerns like, you know,
a big chunk of the world is focused on subsistence agriculture, stuff like that. Right. Like, like what would you do with everything you've learned from doing recur center and outreach and things that you've learned from, you know, going to a world leading research institution, uh, Berkeley, uh, like what would you do if you find yourself in a village? And, uh, and then we'll talk about what you would do if you were in a big city, but like you,
You know, you're trying to build an online community based on what you like isolated. Yeah. Um, and I think we all found ourselves in that proverbial village, at least, uh, during the pandemic lockdown. But, um, but, uh, yeah. So, I mean, I personally am one of those people. So I am huge supporter of remote work and like that being an option, uh, for a friend. I totally agree with everything you said personally. I like being IRL. I like being around people. I like it too, but it's a lot of resources. I mean, you spend a fortune on office and, and,
Getting people to move to your city is kind of exploitative. I mean, for sure. You have to move to Austin, Texas from wherever you live because we are going back to the office and whether you like it or not. And then when we lay you off nine months from now, you'll be stuck in some city that you have no roots in. I mean, it's yeah. And that happens. No, it's a problem. No. But anyway, this is not to say this is like I am fully on board with the remote.
side of the coin. But I mean, I do think, you know, if you have possibilities for whether it be like a meetup in the closest city or what have you, I do think there's some value to just like seeing some actual humans that you can be a human with. But assuming that's not, you know, the focus, I think that there are, so if we're talking about outreach-y specifically, if you've applied and you didn't get in,
The way you apply to Outreachy is by making an initial contribution. And that's usually maybe there are certain issues with a tag on their repo, or maybe there's like a pre-selected list of things that you can pick from or what have you. Depends on the project. But I would say if you didn't get in and assuming you aren't able to get any feedback from the team, which I think most people probably won't be able to do, um,
One thing you can do is if you're still curious about that technology and that project, and if you still really want to be involved in this project and want to learn more about it, is you can just go back and start from where the application started and...
Go from there, kind of following your nose through whatever their other open source issues are, maybe reading back through some of the past decisions. I find that reading merged pull requests is super informative when trying to get to know a project. Interesting. I mean, often there's a bias towards like, you know. Just like...
sniff test so to speak like like are they polite to their contributors like how are they like are lots of team members delivering is there just one person that's like holding the entire project together despite having a whole bunch of like zombie maintainers that aren't actually active in the project like like right or like you know how what is the flow how like okay this other person put up oh i saw this thing and i wanted to fix it and then they were like well
You didn't follow this and this and this. You didn't do our pull request. You didn't use our linter, et cetera, et cetera. Oh, that means I need to go figure out how to do those things or vice versa. Maybe you see, okay, this person submitted this PR with like a, you know, tackling an issue. Look at all these great screenshots they included. Look at this like before and after they included. Look at this summary of changes. Wow. What a great pull request.
Exactly. Or you can get a sense of, for example, some of those really long PRs where the team has been going back and forth about it for months and months.
You can really see a lot about what, you know, who is involved in this, what matters to them, what are their, what are they optimizing for? What do they think is like less secondary importance or tertiary or what have you? Um, I don't, you can just, I find it very interesting, sort of like a detective novel or something like you're reading the archives, but it's fine. I don't know. It always, it always amuses me when you go and you open the issues tab or the PRS tab and it
I mean, of course, we understand why it does this. It only shows you the new ones and the open ones. I mean, but there is so much gold in the closed ones. So if you're ever just poking around an open source project, don't forget to is closed on there and see what you can see. You know, there are some very interesting tidbits you can glean about that.
who's on the project, who are perhaps a really, really contributor-friendly project will have information about, okay, the go-to person for this is that person, and the go-to person for that part of the code base is this person. Most projects don't have that because, again, it's just another bit of overhead. But you can find out some of that information from who is being asked to review certain things, who is ultimately commenting on them, etc.,
So I think if you're still engaged in whatever the project was you already started your application with, dig deeper. And then assuming they have another opportunity next time, you'll be there with so much context. And of course, I say that with a grain of salt because I... So personally, I don't really consider myself like, I guess I have developed open source, but I'm not...
a maintainer or you know of anything other than tutorial repos and things like that but um part of that is that you know even though i am like childless and otherwise free of dependence and have a lot of flexibility and privilege in my life like that is free work you know and so it's not always something that's doable to spend your nights and weekends working for free for people so you know
I put a grain of salt on that because you don't want to be missing work, let's say, and putting yourself in hot water because you're investing so much time on a project that isn't going to compensate you. But I do think that it can be really useful. And I also think that one of the – I don't know if this is still the case, but when I did Outreachy, one of the requirements while you are doing your research, your internship, is to blog about it.
or at least it was. And maybe these days it's to TikTok about it. I don't know. But I do think, and for me, I know that the one thing that made my tech career possible, in addition to all of these amazing communities I lucked into, is the fact that I have been visibly sharing my knowledge about tech since even before I got my first tech job. So coming from a background in education-
I kind of very naturally, you know, and from being an English teacher and spending every day, all day, standing up in front of a classroom of people, trying to explain to them some ridiculous things.
illogical feature of English that is just arbitrary, trying to help people understand why that works. That put me in a good state of mind for standing up in front of a bunch of devs and trying to talk to them about JavaScript or whatever. But so I personally kind of maybe more easily fell into the kind of knowledge sharing or teaching or developer education, developer content side of things than people who don't have that background. But
What I found is that even when I had absolutely no idea what was going on, for example, I started at Mozilla and they were using, they do use, I believe, unless correct me if they've changed, Mercurial. Yes, very old version control system that nobody uses except for Mozilla. I'm sure there are other companies, but like Mozilla is the only one I've heard of that still uses it.
Yeah. And it's not, I mean, it's not as old as like SVN or something, which is a non-distributed. So that, so when I was in grad school, one of my first kind of like practical developer education things was onboarding the research department onto using Git instead of SVN so that there could be backups and things. Anyway, I digress. Point is, it was a new version control system and I had only ever worked really in Git and I had only heard about this archaic thing SVN because I had to get people off of it. So,
So Mercurial was totally new to me. I was absolute like fresh eyes, you know. And the thing is, a lot of people think, oh, because I'm so new at this thing, I can't possibly have any interesting blog article to write about it. I can't possibly have any interesting video or conference talk to give about it. Or I can't possibly contribute to the discussion around this thing as a newcomer. False. Because as a newcomer, you are in the
perfect position to help explain the things that are invisible to someone who's been working with the technology for too long. The beginner's mind, you know, really makes things... The beginner's mindset. Exactly. The outsider perspective. Yes. And that...
Just to tie it back again to the freelance conversation, actually, this is largely the value that I contribute to companies now. The clients that come to me are often looking for someone who is not in the core team that's been thinking about this new way of doing development work for three years or whatever. They want someone who...
has never seen it before to look at it and find out what's the, what are things going to, what are, what things are going to trip people up? What things are people going to confuse with this other thing they know from that language or whatever. So, um, it turns out to be a very valuable skillset being able to come in with fresh eyes and say what you're seeing and what you're noticing and
And I think there is a little bit of an art to doing that in a way where you can, like, basically having, finding that authority in your own experience and speaking from a place of, like,
Self-established authority feels very weird, especially when you're new and you're like, I've never done this. Yeah. The entire management consulting industry, it's like a multi-billion dollar industry is basically just that. Having some outside, you know, authority come in and essentially like,
critique and perhaps edify the practices that you've already decided to adopt as an organization. You're basically paying somebody to come in and bless what you're doing or help you kind of slightly change the course you're on. Yeah. And sometimes it's even just things like, I don't know, sometimes even just writing down some of that tacit...
uh, institutional knowledge, uh, is something that the, the team that's in it, that's immersed in it isn't ever going to think to do, but the new employee or an intern or whatever, that's coming in and being like, wow, y'all are using a whole bunch of terms that everybody seems to understand, but are not written down anywhere. You know, that sort of thing. Um, it is extremely valuable, I think, but in any way. So in any case, for me, I think I know that
My time and effort and energy invested in teaching what I am learning as I go has been probably like the single most thing that I've done other than luckily happen upon links at 3 a.m. Yeah. That has like really –
made it possible for me to have the career that I've had in the last 10 years since getting that internship in 2016. And so I think that it is a really useful skill to start working on
Now, wherever you're at, whether you're in that skill, just putting yourself out there like learning in public and creating artifacts of your learning. So we haven't mentioned this yet. I may mention when I introduce you in the intro, which I record after the fact. But you have some extremely popular tech talks online.
on YouTube, like literally like maybe the second most popular or maybe like one of the top 10 most popular tech talks of all time is you talking about functional JavaScript. And I don't know why that 2 million plus people have chosen to watch this conference talk. But the thing that strikes me about it is that you are very like
candid about the fact that like, Hey, I'm relatively new to this, but I wanted to share what I've learned so far. And precisely what you're saying that the beginner's mindset, like that was so valuable to a lot of people like, Oh, so that's how like, you know, this newcomer to functional programming just described functional programming way better than my computer science professor described it because they had been working in functional programming for like 20 years and they completely lost sight of like what was really happening, like how to articulate that.
They lost the ability to empathize with the newcomers to the topic. So, yeah, I just want to second that. A huge reason why Free Code Camp has been successful at all, I think, was early on I was blogging about everything I was doing, and some of those blog posts were blowing up on Hacker News and Reddit and places like that. So taking time to write about it and not be embarrassed about it, not be embarrassed about your relative ignorance, but say like,
Just be forthcoming and say, hey, I'm relatively ignorant about this, but here's what I've seen so far. What do you all think? I think there's a tremendous amount of value to that. Yeah, exactly. And that's what I found when, for example, I wrote a blog post about Mercurial, about just from the perspective of a Git user, not even an advanced Git user, just a bare minimum Git user.
Moving to another version control, like these are the things that these were the gotchas that I had the wrong mental model for until I got it or this was the thing. This is the thing I need to be mindful of. Like these are the differences that I see.
And that, I don't know, got somebody posted it on something and, you know, got picked up by like lobsters or one of those feeds or something. And I got, you know, a few emails about it or whatever, a few messages and things like that. And that's just, you know, I think my functional programming and JavaScript talk is like extreme example of this. And so funnily enough, that was, I gave that talk in the spring of 2016. So before I got the Outreachy internship and my first job, which I got later that fall after the internship, I
And when I say spring, I mean like March, April. Sorry, Southern Hemisphere. You're so kind to those people. I think this is the first time this has come up on the podcast when we were talking about spring and stuff. Yeah, well, like it's just not something like I – we talk about like people –
living with disabilities all the time and things like that. But we haven't thought about the people who are slightly marginalized and inconvenienced by the fact that... Doing the mental flip of the earth every time. Well, anyway... American accents, they're talking about winter. They're not talking... I will try to refer to months because I think we can all...
A line on that. But yeah, so I gave that talk, you know, before I was before I could call myself a professional software developer, let alone a functional programmer, let alone, you know, a JavaScript developer by any stretch of the imagination. But I and it also was an unconference, JS unconference. So it was intended to be the unconference format. Everyone shows up in the morning.
And people who have a talk idea pitch their talks in the morning, like very short little one minute. They get up on stage, they pitch their talk, and everybody hears the pitches. And then there's a long gap where everybody, I think at JS on Conf, everybody got some stickers. And then there was like a poster for each talk suggestion. And people would vote with their stickers on the talks that they want to see. And then after lunch, those talks happen or something like that. It was, I can't remember the exact timing of the day, but...
I love that format. I think it's great. It's also sometimes called the bar camp format in other places. I think in Europe, they're sort of bar camps are a bit more the another way of doing this. But I think this is a great thing. I would love to see more on conferences. I would love to see JS on comp come back, etc. But that, you know, that really gave me like the lowest friction possible, you
path onto a tech conference stage. And I mean, it was a small conference. It wasn't, I, I barely even knew the talk was going to be recorded, let alone that anybody would watch it, let alone that a lot of people would watch it. But, you know, I was just trying to explain what I had learned at the recurse center from amazing folks there, including a facilitator, Mary Rose Cook, who I think I mentioned in that talk. And, um, and some of my other kind of co batch mates, um,
that were helping me, that were really into functional programming. And I get there and I'm like, functional, what now? Like, never heard of it. And they were the ones who kind of got me into it and showed me the ropes. And so I really just looked at it as, okay, let me just...
convey that to everybody here because there was a lot of demand for an introduction to functional programming. And yeah, and I guess it resonated because of that distance that I had from it because functional programming, I think, is particularly notorious. But I would say this extends more broadly to
programming and computer science in general, an extremely elitist gatekeepy field where most of the time I'm speaking for my – I feel like, oh, I don't have a PhD. I don't belong in this room. I don't understand category theory, so how could I possibly chime in on this? But it's really –
unfortunate that that's the case and that it's kind of masked behind this wall of like syntax you will never feel comfortable with and like complicated mathematical terms that we don't really need to be using but we will anyway just to make sure your ego dies that little bit more. It's not...
It's not about that. None of tech, none of programming is about that, really. I mean, sure, yeah, there's rigor that you need. There are deep fields of research that you can spend your entire lifetime, many PhDs worth, you know, digging into. But also, there's everything else. And so I think, like, the more people that, A, can –
start to learn a thing and then explain it in their own words, the better. Because what doesn't resonate from one person with me might in like rephrased or with a different metaphor or with whatever, maybe just a different pacing or something might resonate and might click from another teacher. So that's where I think that even if there's, even if a talk has already been done or, you
Every one of us has a different perspective, uniquely colored by our own backgrounds and anti-backgrounds and whatever. And so that means we have a unique way of explaining a thing, teaching a thing, what have you. So if I can kind of recap what you're saying, like...
Because everybody approaches these topics from a different kind of background knowledge and different interests and, like, why they're approaching it, which is relevant because that can galvanize you to approach it in a different way. Like, if you're trying to learn Python so you can do computational linguistics, you're probably approaching Python as a tool, like, a completely different perspective than somebody who wants to, you know, train a neural network, for example, or somebody who wants to, like, automate, you know, some task around their house or something.
So, uh, because of all these different perspectives, it's valuable to have lots of people creating lots of instructional content around these things. Uh, instructional. Yeah. And I think to have a lot of beginners creating instructional content, because then you get the kind of combined power of everybody's unique experience. And like your, whoever the creator of this material is there in, uh, you know,
idiosyncratic experience that is only unique to them and the fresh eyes of the beginner mind or whatever other catchphrases we want to throw in there that allow you to distill complex concepts into something that can be written in a sentence or what have you or allow you to notice that
problems with the way things are currently done or have always been done and ways that things could be done differently that somebody who's so used to it just can't. It's like the fish that can't see the water that it's in, you know, doesn't know what water is. Yeah, exactly. And so the, you know, I think that combining those two things and learning in public, as they say, or even if you're not
publicizing things like posting them on the internet for everyone to see. Even if you're, I don't know, hosting a small gathering of your friends where you tell them about this cool thing you learned or maybe you're just showing one person how to do a thing that you just already, you just learned how to do. Whatever it is, whatever way, I mean, certainly if it's the more publicly visible, the easier time you will have
showing that body of work to potential employers, let's say. Yeah, to a potential employer or potential, you know, somebody who's going to give you an internship like with Outreachy. And I would imagine that having that successful conference talk did help you with the application process. Absolutely. And the blog and everything helped me with the... So actually, the job that I got, my first full-time permanent software job, which I started after finishing my Outreachy internship, was a job I got...
Because I had given a talk at PyCon that year about, I can't remember. I gave a couple of talks. I can't remember which one it was where my future boss happened to be sitting in the audience. And I happened to throw out that I lived in some random town in Germany. And he happened to be from that random town in Germany. And we started chatting. And then a few months later, he had an idea of something I could help out on. And they, his company hired me. So, you know.
Serendipity or whatever that thing is. Dumb luck, I guess. You're taking a whole lot of at-bats, so to speak. Exactly. You're putting yourself out there a whole lot, giving multiple talks on so many that you can't even remember what the topic was. How many talks have you given, would you say, at conferences? Oh, gosh. If you had to just estimate. I have no idea. Are we talking dozens? Are we talking hundreds? Hundreds.
Not hundreds. It can't be hundreds. Probably not even that many dozens. Maybe a couple dozen. I don't know. I mean, are we talking individual performances? Individual performances. Yeah, sure. Maybe you can do the same talk multiple times. If you spend all the time preparing it, it's the same as just give it once.
Probably a bit more, but no, still in the dozens, I'm sure. I'm not one of those people who's like speaking at a different event in a different country every single week. I usually, that'll happen to me for like chunks of the year sometimes. But ever since the pandemic, honestly, the conference scene hasn't really, it's coming back now, but it lost a lot of momentum, obviously. And a lot of the organizer teams of some of the best conferences and basically all my favorite conferences have
essentially burned out over either the pandemic or the post-pandemic years of trying to get that to happen. And so a lot of conferences that used to be kind of like something you'd rely on happening every year are no longer happening. New conferences are coming up. So I haven't been doing that many conferences recently. The ones that I have been speaking at, I've been – the ones that I have been going to, I haven't been speaking at. I've been more doing emceeing or hosting type work. Yeah.
because, you know, I also like the idea of other people getting up and talking. I don't want to just listen to myself talk. You're already where you are. You know, why don't we give up the stage to share the stage with somebody new, right? Sure, yeah. And I mean, you know, and there's also like, again, I think also people sometimes ask me like, oh, but like, what would I even talk about? And it's like,
Whatever you're into, whatever that thing is that just made you go, what? That's so weird. So one of the PyCon conference talks I gave was because of a what? That's so weird moment at the Recurse Center where I watched another Recursors talk. Allison Kaptur gave a talk about a 1,500 line switch statement, powers your Python, and was looking at the, it's a great talk if you look it up, oldie but giddy, but basically it was about kind of like
a little bit the internals of Python. And I started looking into a few things and then somebody had commented on one of these talks about some weird thing about if you wrap an operation in a function in Python, as opposed to having it in the global scope, it'll run faster. And I was like, what? How can it run faster if you add the overhead of a function declaration? Anyway,
One deep dive later, I wrote a conference talk about exploring Python's bytecode. And bytecode is really the level at which one needs to break this down in order to understand the difference between how code runs in the global scope to the Python interpreter and how code runs. Anyway, I digress. You can find the talk from Python. All right. And I've added it to the show notes.
For anybody who's watching, it's in the description along with a link to that talk by you, Anjana, that I mentioned earlier. Thank you. And yeah, and so anyway, this was something that it was just like I found out this really weird thing. It wasn't like I have an insightful new way of doing Python or I have a like an example of something that's never been tried before in Python or nothing. It was 0% novelty. Yeah.
And yet I learned something from doing this exploration and doing this adventure. And I had been writing Python for a couple of years by that point and didn't know anything about bytecode or what happens in the interpreter or any of that. And so I figured, well, I found this interesting and I like learning the lower level of this language that I depend on. So probably other people do too. And sure enough, it got accepted into the conference. And I was able to...
To like, if I'm interested in this, other people are likely to be interested in that? Absolutely. Yeah.
Absolutely. And it's like the – so as a teacher, sort of I think most teachers know this, right? If you – like don't hesitate to ask a question because if you have a question, probably someone else in the class does too. It's true. And if you have an insight or a, whoa, that's cool, or a, huh, that doesn't make sense or whatever, other people probably have had that reaction too. And –
If you write it down, you might write it down in just such a way that it clicks with somebody else and like saves them the headache and gets them engaged. And yeah, that, that like you can assume, I mean, sure, we're all unique individuals, but we have more in common than we do differentiating us. And so if something has sparked your interest or has sparked your joy of coding or what have you, probably it will for somebody else.
And then there's also the issue that if you are not excited about the thing that you're talking about or writing about or whatever, well, that will also become completely apparent. And just as it will if you are excited. So it's a good litmus test to check your own passion. And a lot of people look at like if you're doing like weekend, if you're doing extra work on top of your workday, no, just unplug, walk away from software and go fly kite. But what you're saying here –
Well, and I do think there is a big – I think the kind of passionate coders –
meme or whatever is sort of like if you're not coding all the time, like you're not a real coder. Like no, do not agree. And I don't – ever since I started working professionally in tech, I don't code on my nights and weekends. I don't – I want to not look at a laptop when I'm off the clock. But there's a heavy medium and there is some benefit to taking time to write stuff down and reflect. Exactly.
And there's, I think, and I learned this the hard way by not doing it. There is an incredible value to leaning in to whatever it is that lights your particular spark and gets you going because A, it's
If you don't and if you deprioritize that spark and let it go out, eventually the whole system will shut down. I can tell you from experience. But also, you know, you'll – if you're not interested in the thing that you're doing, you're not going to be possibly as successful at it because –
That interest and that it doesn't have to be passion. You could be interested because it'll earn you a bunch of money or you could be interested because your community really needs this thing to exist or whatever. But whatever your motivation, if you let it fall by the wayside, which I think I was guilty of like pandemic era.
I was just sort of like doing the things I thought I was supposed to be doing, doing the things my company wanted me to do, doing all the things that you should be doing but not because there's no economic incentive to protect your spark. Not doing that. And then finding burnout hit hard and like, let me tell you.
There is nothing less interesting than programming when you are burned out on programming. And so, you know, obviously that's not going to help your career. And it certainly didn't help mine. I needed to take a lot of recovery time and spend a lot of work and money on therapy to get through it. Yeah. Let's talk about that. Like,
So let's say hypothetically somebody is finding – maybe they haven't even started working as a developer yet and they're already starting to get burned out by just constantly doing like leak code or whatever it is they have to do in order to try to get a job. And like some people, it's easier to get a job than others. It depends on what field you're going into. It depends on where you live. And like it can be very hard. For example, we have a lot of prolific contributors in Nigeria. And Nigeria just doesn't have like a particularly established –
tech ecosystem and there aren't like a lot of employers and a lot i mean there are some but a lot of those people find that they have to go to europe or the united states or places like that to be able to work as a developer or maybe they get a remote job but uh it can be really tough and so a lot of them are frequently saying i haven't even gotten a job and i already feel like so tired yeah trying to know absolutely and it's and i mean looking for a job is
soul crushing and exhausting. And like, you know, it's, it's a really rough job looking for a job. Looking for a job is a job in itself. And it has its own skillsets that are unrelated to doing the job that you're trying to get. Absolutely. So it's, uh, yeah. My question I guess would be like, should you find yourself like, like what are the symptoms of burnout? And then what did you do once you determined, once you assessed I am burning out? Hmm.
Well, for me, who is also someone that struggles with depression and anxiety, you know, depression and burnout have a lot in common in the sense of not having energy to do anything, you know, really struggling to, like, get yourself to do the very basic things that usually are no problem at all or, you know, on a good day or not a problem at all. And then – and for things like, you know, when you're working in a very –
public role like developer relations or anything community centered or what have you, feeling like I needed to put on this, I'm excited about JavaScript or whatever face when I wasn't feeling it inside made me feel like such a phony and such a poser and whatnot that it also kind of reinforced that. So I think especially if you're in
If cameras are on you in any way, literally or metaphorically, it can be – I think sometimes at least I noticed some of that in terms of how I was relating to external people because I know that I tend to deprioritize what's going on internally, which is part of the whole burnout trade. And I had basically in early 2020 when the lockdown began –
Even though we all thought it was just going to be a few weeks or what have you at the first. At first, I realized that, you know, I was living alone in a studio apartment at the time. And as a social person, or at least previously social person, I realized that wasn't going to go well and that I should probably put some safety precautions in place. So I set about assembling myself a little tag team of mental health professionals and
I found a therapist and whatnot before I was in a bad way, which I only knew to do because I learned the hard way from previous episodes. And so I really think whether it's like mental health professionals, whether it's friends and family, whether it's whoever your support network is, A, have one, find one, put one in place.
And if you can do that before the burnout risk starts, that's way easier because it is so hard to do anything when you are burned out, especially do new things. And anyway, whether it's mentors or whoever, like having folks around you who you can say, I am just not feeling this right now and be honest with because I know a lot of people –
Well, certainly it's very rare that you can say that to your manager or even coworkers sometimes. They're like, oh, this person might not be very productive. I've got to watch them more closely. Otherwise, I could get in trouble because I let this person who was just phoning it in work under me. Like, what does it say about me as a manager? So, like, if you say this to your manager...
They have a different incentive structure and like, don't be surprised if they are forced to kind of discriminate against you based on the revelations that you've given them. Right. Well, I mean, I mean, I think like ideally you should be able to say, I think I'm burned out or I think I'm burning out to your manager. Yeah.
That would be great, unfortunately. And there are managers out there who are great. And I, you know, I had some of them. So that really helped. But also, yeah, I mean, best case scenario, you have a great manager who will hear that and will not take it as like, I'm just being unproductive or I'm a, I'm
dead weight or anything like that they will instead say no you're part of this team you're a valued employee you are an expensive employee to replace because every employee is and so let's make sure we do whatever we need to get you back into a good healthy space which should be the case with any kind of physical problem or other mental health problem or whatever it is um but again it's
Where reality comes in, that's not always going to happen. So I think as long as you can have – like for me, I know it was really helpful to have that network of friends that I had made by conferencing the several years before the pandemic, let's say, or coworkers from previous jobs that I could still talk to about the industry and have those people to –
Really bounce ideas off of and just – or even just vent to, even just put words to the things that you're feeling. At least I find that sometimes that suffering in silence is like really the pits. And so as soon as you can just like do it a friend about it, especially if it's a friend who knows the industry and understands the type of dynamics at play that could –
almost inevitably lead to burnout, I think. I found that incredibly important. And yeah, having that mental health support team was great. And for me, it ended up being, I really had to kind of take a long, hard look at my life and how I was living it, especially kind of post lockdown once borders opened up again and cities opened up again and things like that. I decided that I was...
I needed to make some reprioritizations in my life, personal and professional. And so, for example, that, you know, if I'm burning out on doing a bunch of DevRel work because I just don't have the social battery I used to before the pandemic, then
That might be a thing I need to go through and grieve or what have you, but that's not necessarily a bad thing. It's just same old, same old. Change is the only constant. And so that's where, you know, then I kind of started exploring the freelance path and exploring other ways that I could kind of be involved with...
the community and the network that I had before by doing a lot of events, but without having to put myself through that. I mean, it's extremely stressful to give a conference talk every single time, even if you've done dozens of them, right? Like, yeah, I mean, I still get the butterflies. I'm doing the eight. Oh, every time in the mirror, every time. Yeah.
So anyway, so, you know, are there ways that I can like be a little kinder to myself or like not expect myself to perform at the same rate that I was before the pandemic or whatnot? So it was very personal. So I think for me, it was just like when you're in that burnout, when you're really in the depths of it and you're just trying to like not get fired or whatever, it's impossible to kind of take that.
step back and take stock and, and ask yourself, like, am I protecting my curiosity and my interest? Am I protecting my energy levels? And like, are my boundaries where I need them to be? Are boundaries a word that I know? Cause I didn't, you know, like, so things like that. And, um, and for me, that led to some pretty big lifestyle changes. For example, I
splitting my time between Europe where I have a lot of friends and close ties and professional ties as well and the US where I also have a lot of important ties to me and be going freelance and having that flexibility. And so a lot of these things really helped me create a life and a career where I can hopefully, we'll find out, manage my burnout better and manage my depression and anxiety better and be able to, you know, as far as I am,
able to be able to follow my nose and follow that like excitement where it takes me. Um, and I think that that it's, you know, it is a luxury to be excited about what you're doing. Um, it's not a given and I've worked plenty of jobs just, just for the paycheck. Um, not, not so much, uh, in my tech career, but lots of other places and there's nothing wrong with that. But if you are trying to
save yourself from burnout, if you are trying to put yourself in a position to be someone folks listen to or are aware of as like someone who's, you know, excited about a particular technology or a particular field, then it behooves you, I think, to really pay attention to like, what is like amping me up and what is kind of draining me? And how can I be spending more of my time on the amp up stuff?
And maybe writing about it or blogging about it or filming a YouTube video or posting on the Free Code Camp forum or whatever it is to share my excitement about it. Yeah. How can I spend more time doing that and less time slogging through the stuff that, for whatever reason, is not lighting my fire right now? So anyway, I think that that was something that I really undervalued until...
It was too late. So I wish that I had paid more attention to where that energy was going to and from around the excitement factor. Are there any like specific canaries in the coal mine? Like anything where like, and I imagine you've probably talked to other people about burnout and like, is there anything like in common, like a common sign that like,
You may not feel it yet, but you will feel it if you stay on this current course. I mean, so my understanding, and there's a great book on burnout that's specifically kind of written for the perspective of women and kind of the ways that women face burnout in and outside of the workplace, but I think is more broadly applicable to everyone. It's called Burnout, and it's by Emily Nagoski and –
Her sister, another Nagoski, whose first name I cannot remember right now, but the Nagoski sisters, wrote this great book on burnout that I think is quite interesting because it kind of describes it as like it's essentially stress. It's when you're exposed to stress for too much, too long time.
Your body can't keep up the response. It can't keep functioning in an act like in that fight or flight state all the time for a long time. Yeah. It will play out in other ways. Right. And so they kind of talk in that book about a lot of the different common patterns. But I think.
For me, I know that it was – and this is also sort of something that you look out for with depression, right? When you stop feeling as excited about the stuff that usually is exciting and engaging or fun to you. So for me, for example, I love – I used to love, I thought, giving conference talks, right? But then everything went virtual and giving a virtual conference talk is very different. And I –
Found myself like, oh, God, why did I agree to do that conference talk? How is it different, by the way? Like, what are the main differences? Well, for me. Not being able to see people's faces, I imagine. Yes. Not being able to know what's landing and what's not is really rough. Even just feeling like you're talking into the void. Like, it feels like no one is listening to you because at best you're seeing a bunch of squares on a screen, half of which are going to be blanks.
Camera off. And at worst, you just see yourself and you're just talking to yourself for half an hour. But then there's also the aspect of what I love about doing conference talks is like the percentage of that that is the actual conference talk is tiny. It's the conversations I have with people. It's the people I meet at the speaker dinner. It's the –
Far off lands I get to visit by going to this conference. You know, it's all kinds of other stuff. And sure, there's some of that that we can kind of like, okay, just not possible to go to foreign lands during a global pandemic where all the borders are closed. Fair enough. Just not possible to go be in a room with other people and have hallway track chats with them. Fair enough. But I...
I know that there's a lot of great innovations in the virtual events space. I have yet to find one that for me has been able to replicate the feeling of being plugged in to everybody that being in person at a conference can do. I feel like it's much more a kind of a phone it in, like show up five minutes before your talk, give your talk and then log off. And so people are not...
People are also, as attendees, usually watching parts of the talk perhaps with their full attention. Probably not. Sorry, parts of the conference and other sessions they just might not go to. So it also loses for me a little bit of that cross-pollination of just like accidentally hearing some talk you didn't plan to. Yeah, there's no spontaneity. There's no – Yeah.
What was the word we used earlier? Oh, like serendipity or... Serendipity, yes. Exactly. No, for example, like when you just happen to be walking by that cluster of folks in the hallway who are talking about that question that you also wondered in that talk, that
That sort of thing is just a little bit harder to do, even as an attendee at virtual events. Now, there are some cool things that have made that a little bit easier, like Gather Town is one that was a fun – Oh, yeah, the virtual emoji kind of – not emoji. It's like a Super Nintendo-style –
It kind of looks, yeah, it's kind of like Zelda-ish in its graphics, but it's kind of like a virtual room that you walk around and they have a spatial audio and everything, so you can kind of like walk over virtually to a bunch of people and talk to them. The Recurse Center's virtual experience also has things like this where they kind of... I haven't really participated virtually in the Recurse Center, but...
I believe they made kind of like, you know, different rooms, different kind of study club areas where you could go, you know, and get together with people talking about a certain thing or what have you. So there are, there's plenty of ways that this can be mitigated. But for me, I just, I find that virtual events drain me of energy in the same way that like giving a conference talk is just exhausting. Planning the talk, writing the talk, rehearsing the talk,
trying not to throw up before the talk, giving the talk, all of those things I still have to do and they still take a lot of energy. But then I don't get the impromptu conversations afterwards or the, oh, just happened to
Be so into talking about this topic that they're closing the conference hall down and now us little cluster, we need to go find a cafe to chat in for the next two hours or whatever. Yeah, all those little memories associated with it. Exactly. Not knowing anybody there and by the end of the meeting, you're trying to decide which of these two groups you're going to go eat dinner with. Totally. Those kinds of things.
And this is the main thing. I don't think I've ever made a new friend in a virtual conference, but I have made so many great friends at real conferences. Yeah. And I mean, of course, that's not the only point. But when I say and I'm not even, you know, expanding it beyond friends and people who I like, you know, professional contacts and folks who you have some kind of ongoing contact with after the event. Like, I think.
I think virtual events can be great for, in my experience, they're great for keeping communities together that are already together, that already know each other. And they're great for, you know, sharing knowledge in a super accessible way to everyone in the world. But in terms of creating those connections between people, I haven't yet found a virtual analog to the
In-person experience. This ties it all back into what we were talking about early on at the very beginning of our two and a half hour conversation. What? Yeah. It's just so fun to talk to you. Well, thank you. I do my best to be affable. I think that's the word. Okay. So...
Building your network. Conferences are a great way to build your network. Of course, making friends, but also just incidental, like loose connections. People that like, oh yeah, I've hung out. Oh, I saw their talk. I know who that person is. Uh, maybe I exchanged, I asked them a question after the, the conference talk and they had an hallucinating answer. And so I have like that anecdote that the
spatial kind of, and this, this goes back to, you know, in IRL stuff versus virtual stuff. And again, I'm a huge advocate of working remotely and I think everybody should be able to work remotely unless they're like a literal physician. That's like holding a scalpel that can't be done remotely. Maybe it'll be done with robots someday. I don't know that I'd want such a surgery, but, um,
But my point is like there is so much merit in actually meeting with people and hanging out with them in person. And, you know, like I am going to a hackathon this weekend overseas and I'm going to go do another hackathon in a few months and like be a judge and like talk to people there and I'll give a talk too. So great. I'm going to hopefully meet a lot of interesting people at these different events and learn and, and,
build my own network, both in terms of people that like I know of and people who know of me and, uh, learn a whole lot and have like a lot of memories in there from, Oh, I remember so-and-so and like be able to transport myself back with the virtual conferences. Oh, I can transfer port myself back to that exact moment when I saw that no camera or
on my screen and I was delivering this. There's no context. You don't really cement any of that stuff. So I think that's one of the things. Yeah, and it's hard because you also don't have a different physical environment to kind of code your, like, I don't know about you, but pretty much everyone I've talked to agrees that the pandemic is
sort of blur together because you're seeing the same thing every day. You're seeing your laptop in front of you or whatever it is. And sometimes it's good because productivity, like you don't have – if you try to like work out of a different cafe every single day or a different co-working space, you spend all the transaction time getting there, figuring out all the details and stuff. If you can just walk in and it's your standing desk and like start working for a few hours and you're always in the same space like –
there is a benefit to the monotony in terms of just facilitating extreme like creativity and stuff like that, but it does not form new memories. It forms output. And that's why I do it the way I do it. And I wouldn't be surprised if you had a lot of routines that just simplify things. So you don't have all this overhead with every little thing you do. Uh, there, there's tremendous merit to routine, but it doesn't generate new merit memories and memories are also very important and useful. Yeah.
Yeah. And I mean, I don't know. I know I am probably and I don't know if this is like because I'm old or what, but I am less like I know I have lots of friends that are super engaged in in online communities, virtual, what have you. Usually they're more text based, like forum type communities, but where they have made friends and made community and a lot of people, like especially if you feel isolated geographically or what have you, like a lot of the time it is.
the only way to find your people. Um, especially if you're, let's say in a, in a climate where you can't be yourself, um, you know, being yourself online might be the only chance to actually meet people who know the real you. Great. Fabulous. I support that a hundred percent. It just personally, for me, I haven't been able to find a good way to do that online. And so I think for me, it's, it's all about the connections and like the
the community spirit and the feeling like we're in this together and not. And for me, when I read Twitter, which I don't do anymore, or when I read Hacker News, which I only do if required to for work, if I, you know, all these things, it often leaves me with this feeling like, oh my God, working in tech means everybody being ready to tear me down at any moment. And
Me never knowing enough to be as cool enough as so-and-so or whatever. You know, just like a lot of negative, we are all on our own, every man for themselves kind of vibes. And...
That's where I think in some ways the Recurse Center – well, obviously the Recurse Center made me, but it also kind of ruined me because I started my tech experience with like the most ideal community possible. And so everything else is less good. But the – I think the – what it really did leave me with is this conviction that it is possible for us to have a tech industry where –
People are looking out for each other and people are building each other up instead of tearing each other down. And people are sharing knowledge with each other instead of hiding it behind big fancy words and academic tuition and whatever. And so I have to believe that that is possible or else none of this is going to keep going. But in order to make that possible, I think that means that all of us have to spend –
energy and time investing in that not quite yet reality if we want it. And if we want the reality of tech bros, you know, calling each other out for every little thing and no one ever being satisfied and no one ever being thinking that somebody did a good job. It's a skill issue. Yeah. All that, all that kind of stuff.
If that's what we want, then sure, let's keep spending all our energy and time on Twitter and Hacker News and all of the other toxic environments out there. But if what we want is something else, something that like the Recurse Center and Outreachy convinced me is possible, even though I haven't seen it on a global scale, then we need to –
connect with each other. We need to be generous with each other. We need to share learnings and questions and problems and vulnerabilities with each other. And, you know, we need to make sure that, for example, we use whatever power and privilege we have, and that's different for everyone, but it could be if you're at a big tech company, how can you make the experience better for the next person that joins? If you're not, how can you help somebody who's like a little bit
behind where you are in your journey to professional software development or whatever it is, you know, the free code camp ethos of help each other out. So I think that conferences for me have been a great way to do that as well as these other programs, Recur Center and Outreachy and all of the other many tangents that they have introduced me to. But whatever way...
You can find your people. This is like, that's the main thing, I think, for everything. It's what I recommend to people who are just trying to learn to code. Find other people who are doing it with you. People who have already learned to code or trying to get a job, find other people so that you can quiz each other on interview problems and share horror stories with each other and not go interview at that company again because you've already warned everybody off about their terrible interviewing practices, etc.,
you know, whatever little ways we can find of doing those small things and like using our networks to help other people out, using our skills to help other people out. That will, I think, be the way that we can get anywhere close to a collaboratively flourishing tech industry, in my opinion. And so I think like whether that's writing a blog post or
on your own site, on FreeCodeCamp, on DevTut, whatever, or whether it's making a YouTube video about this thing you just found out and it was so wild you had to tell somebody and nobody was around, so you decided to hit record and gush into your camera about this awesome nerdery.
And just put it online or post it in a forum or whatever. But anything that you can do to kind of like connect with other people and not – and negate this trend or – it's not even a trend because I think it's the old school way of doing things of like each coder is an island. The default. Like it's probably like the –
Yeah, like a ball will always roll down and get stuck somewhere, right? Yeah. That's kind of how I think of it. People just fall into this old habit of everybody for themselves. It's easier. It's easy to not worry about other people. It takes effort and concern to plan ahead and think like, okay, well, is this toxic ecosystem that I'm helping propagate going to one day take me out behind the shed and shoot me too? You know what I mean? It's like...
But that's the path of least resistance and we don't have to take that. We can aspire to being better. Exactly. We can be the change we want to see in the tech industry. Yeah. And I think that also brings us back to the original point of like – or one of the points of kind of how do you contribute if you're just learning? How do you, again, overcome that –
That mental block of like, oh, I don't know enough about this to talk about it in public or I don't know, blah, blah, blah. And again, to realize that like, whatever like thing you just bashed your head against for three hours and finally had the aha moment of what you needed to do differently. Like, yeah.
If you three hours ago had discovered a blog on Free Code Camp that told you about this gotcha and gave you some pointers, wouldn't that be great? And so don't you wish the next person...
coming along has that, you know, it doesn't have to be novel. It doesn't have to be, you can give a 30 minute talk on functional programming in JavaScript. That is a topic that's been widely covered with no experience or professional creds and people can still find it useful. You know? I mean, that's a weird example, but it's true. And so I think just,
And also as a learner, you know, you can learn to be like you mentioned earlier with the, you know, wanting to be a burden on open source maintainers and things. There's ways as a learner that you can bring your learning mind and not even any knowledge to the table and have it be useful. Asking questions, asking the like, explain it like I'm five questions to make sure that the team has really thought through these assumptions that they've already baked in to the way they've phrased their issue or whatever it is.
You know, you can ask questions about ways that you're doing things in a code base that maybe somebody else is like, oh, you know what? I actually haven't looked at that part of the code base in a long time. And maybe you're right. There is some opportunity for optimization there. There's so many useful ways you can contribute things.
even having zero information on the project as, as the management consulting industries will have proven. And, um, and just maybe my last show notes link, there's an amazing article on this by Julia Evans, who's also a recurse alum. Um, and it is a fantastic, um,
blogger and zine maker of all things open source and tech career and Linux and all kinds of stuff. Has a great article on her site. I believe it's jvns.ca. Okay. Julia Evans, without the vowels. And it's called like asking good questions or how to ask good questions or something like that. And it's about basically how to be
The ideal noob. How to be the ideal noob.
uh, you know, learning journey and not just you. So things like restating what you've understood so far, like recapping, like, so as far as I understand, this thing works this way and it talks to this thing and that's why we need this adapter to be better in this way and reframing the problem and all that stuff, super valuable work. And, and again, you know, the type of thing that you can do by looking through project proposals on outreachy or, or
random issues surfaced by GitHub's trending algorithm or whatever it is. So I hope folks can find some useful tidbits on it. There's so much other gold on her blog as well. But I think that learning to ask questions from a position where you feel like you can be valuable asking questions rather than answering them and learning to own your own perspective, your own unique set of
like cognition and background and lived experiences that give you a unique view on this. Like if you can lean into those things, shave off those edges. Like a lot of people think like, Oh, I'm going to stand off the edges of my personality and I can't really be me. And frankly, like I have met some people in my many years on earth who would be do like to, to evaluate like maybe some more, uh, you know, um,
acerbic aspects of their personality. But if you have weird esoteric interests and stuff like that, that makes you interesting. Totally. It doesn't make you daunting or a geek. One of the great things about the past 20 years or so is the term geek and nerd. These terms are gradually evaporating because everybody is interested in geeking.
And it doesn't make you. Oh yeah. Some way just because you're really interested in something else. And, and like my kids, I don't think they ever even use the term. I've never even heard of them use the term nerd or geek or anything like that because everybody's interested. That's cool. And, and that gives me a lot of hope that people won't feel like they have to conform or warp their personality to, to fit in or whatever. Yeah. That we are actually moving in a positive direction in that respect. Yeah.
Yeah, and I think it just makes the tech industry so much more sparkly and interesting. You know, there's just more interesting stuff going on. And I, you know, and I say as a career changer myself to all the career changers out there, I say like, you know,
Don't forget that the fact that you have experience in something else is added value. It's not a drawback because there are some people working on your team who've only ever done software and they've only ever thought about problems from that one perspective. So, you know, if you can bring your background in whatever professional experience you have, or maybe you used to be a carpenter and you know what,
physically keep structures from falling down and you can bring that to your software architecture work or what have you. You know, I think there's, um, there's so much to be gained there by having these interdisciplinary folks. And I mean, obviously I'm biased because I'm one of them, but yeah, I, I hope that you're right. And that we are on track for a more diverse in all ways and more collaborative and supportive and kind tech industry, uh,
Fingers crossed. Yeah. Yeah. Well, I can tell you, like, regardless of what happens with the, you know, big money companies and stuff like that, open source, I think, is heading in a positive direction. As far as I can say, it's like an open source maintainer and somebody who spends a lot of time talking to them. And we can make it go that way. We don't have to wait around for the titans of industry to decide to fund something like that. Like,
We can just do it ourselves. At the end of the day, like the devs have a tremendous amount of power. There are so many of us and we can build open source stuff and maintain it in the way that we want it to be maintained. And we don't have to necessarily look to traditional power structures as a source of inspiration. We can remake the world in the way we see fit. Exactly. Yeah.
And we can make it, you know, we can hopefully use tech to solve some problems instead of just creating a bunch of new ones. Well, we'll definitely use it to solve a lot of the problems that other developers are creating. But, I mean, that's the tale as old as time, right? And the other developer often being past me, yes. Yeah, past me, exactly. Well, yeah, I certainly hope and choose to believe that we are
All pulling in that direction, or at least many of us. Enough of us. And hopefully everybody learned. Critical mass. Yeah. Just be a chill human being and think, you know, there's, there are not enough people in this world who think and feel, and we want to, you know, increase the volume and just, you know, share the love, get other people involved, make people feel welcome. And yeah, just if you see somebody being elitist,
Don't be afraid to call them out. Like, nothing gives me more pleasure than calling somebody out on their nonsense and really, like, making them think twice about why they had that, you know... And some...
that's one of the things I could do is somebody who's been in the field a little bit longer, but you have to be careful wielding that power too. But if you think you can make a positive, you're not just trying to like make the, you humiliate somebody for having like a toxic mindset or anything like that, but you're, you're genuinely trying to get them to grapple with how they came to feel that way to begin with. Right. Um, and yeah, you can do it. No, it's, I mean, and it's, and, uh, thank you on behalf of all of those of us who, uh,
Can't muster the energy to deal with those people. But no, I think it's great and I think there are also things – and the Recurse Center is definitely an organization I look to in this respect. There's ways that we can – there are some sort of guidelines that we can put in place in our communities to help them – what is the thing to make the pit of success instead of the pit of failure or what have you, to make it be like –
by default, a community that is focused on learning and not focused on shaming other people for not knowing things or what have you. Yeah. So, you know, highly, highly recommend them. They've spent a ton of, I mean, over...
over a decade, I think, you know, refining this. I'll link to those rules. I'm well acquainted with their general rules. Social rules, yeah. Yeah, social rules. I think those are super helpful. And a lot of people may be like, oh, those are, you know, like snowflake, blah, blah, blah, blah, blah. No. Like, there's something...
It's just like human decency. It's being thoughtful. It's not being a jerk. And people shouldn't have to develop this really calloused outer layer from constantly being cut by their peers. This is not like going through basic training or something, right? People are opting into doing this. They want to have a career. There's no reason that it can't be like...
a reasonably chill place. Right. Um, but, but you, you talk to these people all the time who, who think that like, you got to get the baby to walk across the hot coals. Otherwise it didn't, you know, go through the rite of passage and we've got to like, Oh, right. Oh, and that there's, that there's certain rites of passage that, you know, you struggled and therefore everyone else must struggle. And you know, yeah.
Yeah, we don't need that anymore, I don't think. And, you know, it's sort of, as you say, developing this calloused outer shell and this, you know, there's the trope of like the brilliant jerk encoding, you know? We can all insert a few names here. I won't. But the idea that the majority of people who were succeeding in tech were the people who were either naturally successful
didn't care a lot about other people's opinions of them or were inured to like thickening you know got that thicker skin by being cut down over and over again like you said like that should really make us wonder like how many advances in computers could we have seen if other people were allowed in than just the people who fit the mold and were able to deal with the toxicity like
We can have the flying cars by now. I don't know. Anyway. But yeah. But I hope that more than flying cars, I hope that more non-toxic work environments and more different flexible work scenarios and cooperatives and unions and all of the above will start to exist is the hope. And I think free code camp is –
Punching way above its weight class in terms of making that happen. And so, yeah, really, really grateful to...
be connected in this network. We're all building together. Yeah, absolutely. Well, it's been a joy talking with you on Jenna. Likewise. I've learned a tremendous amount from you and I'm going to continue to learn a tremendous amount from watching, you know, the text when you have the, when the, the talks, when you have the energy to go up on stage and deliver them. Uh, and, uh, you know, I encourage everybody to check out some of,
the talks that are in the show notes, check out that book that you mentioned, uh, check out that article, uh, some exciting stuff in there that should be helpful for you. And, uh, I'll just say like, you know, let's make tech more friendly and more fun and let's, let's get things done without all the stress. Uh, there's, there's just like this, um, entire layer of unnecessary kind of like rights of passage and things like that. Traditions that it's steeped in and, and it's, it's,
We don't need that. It's baggage in many cases. Some of it may be useful, but the stuff that's not useful, feel free to discard it. And, you know, I just hope for a place where even a lowly philosophy major teaching English can pick up a programming book or these days more likely free code camp tutorial or what have you and dig into it and become useful. And, you know, I know that that was a...
Very intense transition for me. I'm sure everybody out there going through it right now is feeling it even more so these days as an intense transition. And so let's be mindful of the fact that, you know, the more different backgrounds and perspectives we get into the industry, hopefully the better our tech will be, the better our teams will be, the better our, you know, open source will be. And so let's focus on that and try to make it easier for people that come behind us instead of harder. Yeah.
I don't know. 100%. Seems like a good idea. Well, until next week, everybody, happy coding. Thanks a lot.