[S6E19] With Friends Like These [NEW]
Safia Abdalla 2:25Sure, um, how I got into tech Boy, that's a story that starts quite a while ago. I got into tech when I was a preteen around 10 or 11 years old. There was a website at the time called neopets.com, which Me and my friends used to hang out on. And one of the things that you do on Neopets was design a profile page or basically your social media profile on the platform. And they allowed you to use HTML and CSS to create your page. So as one of my hobbies And something that I did with my friends, we would kind of try to create the glittery, best, most fabulous profile pages that we could. And in doing that I ended up having to learn HTML and CSS. And those are really exciting moment for me because that's kind of when I discovered that computers are not just things that you could use to do stuff, but things that you could make do stuff for you like building a really cool profile page on Neopets or writing a program to do something. And since then, I've just kind of fallen in love with it. I was taught myself programming, I did it all through high school, to college, did computer science. And yeah, just was very enthusiastically into it from that first moment that I discovered that computers are these things that I can control.
[S6E19] With Friends Like These
Safia Abdalla 4:33Yeah. So if you google open source, the dictionary definition is some legally use about how open source software is software where the creator of the software gives you the right to modify it or copy it in some way. something to that effect. That is one definition of open source. For me. The definition of open source is any code that exists publicly that individually tools can collaborate on. Oftentimes people will host this code on platforms like github.com, where the code is stored in repositories and multiple software developers can come in and Submit Changes to the code that's in these repositories on open up commentary about features or bug fixes that they would like. Things like that. So for me open source software's really, any software that people build together in a public fashion.
Safia Abdalla 5:52Yeah. So open source software has been around since forever. You have pieces of open source software from the 60s and 70s. I would say more More recently, it's gotten popular with the advent of tools like GitHub comm, which is often described as a social coding platform. I think this was a really monumental technology because it gave people a place to share their code and to collaborate on it in one centralized location. So I think the advent of those kinds of technologies was really helpful. And I think in general, just the emergence of the web and the internet as more accessible technologies for some people kind of brought about the advent of open source because now you had a way to communicate and interact with people who, you know, didn't just work at the same company, as you are studying the same computer science department at university, maybe you were a programmer at one university collaborating with a software engineer at a different company. And the internet kind of opened up these opportunities where people didn't have to be in the same space in order to have capital. Hold conversations and to build software together. So I think it was the really the internet is, is what did it. And of course the internet made a lot of important things happen in technology. So that's I think that's fair to say.
Safia Abdalla 8:27The first time I made a change to an open source project, first time I submitted a pull request. It was a one letter change. That was it. It was so trivial in so many ways, now that I look back at it. But believe it or not, I sat on that one letter change for I think, a week and a half. You know, trying to figure out how I use Git and how I use GitHub, and how I use all of these different technologies how I make the change how I test verify it. And I was just so nervous the whole time and spending so much time on it. And then I submitted the pull request the maintainer of the project, that's the person who's in charge of reviewing pull requests and issuing releases and things like that. reviewed it said thank you, and they merged it, and it was done. And that was an extremely again, when I talk about like empowering moments in my career. You know, the first one was the first time I made a theme for my Neopets profile page. I think another one was, when I had my pull request, merged into the open source project for the first time knows, like, wow, I can do this. It's not that hard.
Safia Abdalla 9:41You know, I just have to put in time and I can do it. And I've been doing open source ever since it's been about oh boy, like five years now. Sometimes people will joke that I've spent a fourth of my life or more in open source. But yeah, that wasn't Kind of the catalysts for me is I had this personal goal of contributing to open source that was tied into my kind of other goal of starting to build my brand as a software engineer. And then I just got hooked on it. So it's such a very, it was a satisfying experience. It's always great to collaborate and work with people and form a network of other software engineers that I work really well with to understand how I work that, you know, if I have a really interesting idea, I can go to them and they'll hear me out and help me out with it. It's it's great to have that network.
Laurence Bradford 13:18Nice, nice. So, so, okay, so I know and I, I feel this way, and I know, we can just feel this way that contributing to an open source project. Well, first of all, you have to like understand the entire right like if you're using GitHub and know what all these different terms mean. And once you're like up to speed with that, understand how it works. I feel like there's a lot of, I don't know, maybe imposter syndrome like like, like being nervous too. Because what if you're wrong, right? Like what if you suggest something What if you're wrong, what steps to take all that? How would you recommend to someone who's like somewhat new, like go about educating themselves and learning like how to contribute and like the proper steps to take.
Safia Abdalla 14:56So find the ones that are I would like to Shout out the project that I'm involved in, which is called interact as a good project to participate in. If you're someone who is, you know, a learner and wants to get involved in open source and be a part of the community that's going to be welcoming and supportive. So a find you the right people to collaborate and work with, and then be taken step by step. Don't take it all at once, I think is the best piece of advice, I would say, start by building a foundation, which is just knowing a particular programming language that that project uses. And then start by learning just get and then start by learning GitHub, and kind of assemble the pieces that you need to know bit by bit.
Safia Abdalla 15:46I think this kind of creation of the roadmap for your learning is subjective and unique to each individual, which is why I really emphasize finding a good community and good project to learn with it's the first step because those people People are going to help guide your learning and show you the right way to do things the right way to learn things based on their experiences and also their knowledge about your background and your experiences. So you actually think, you know, it's really hard to generalize and say what the best way to learn is. But I think a good piece of advice that I would give is, find a project with people who can help teach you and are tolerant of the fact that you're a learner, like we all are.
Laurence Bradford 17:08So you are good. You just kind of answered the next question I was going to ask, but I would love to talk about a bit more, because as you're speaking, I was thinking, Okay, so like, do all these people just communicate on GitHub? Like, is that like the main form of communication? But sounds like you guys are also staying in touch over slack, correct?
Safia Abdalla 17:27Yeah. So I would say there's a couple of different ways that people in open source communicate, and it also depends on the project, I can speak to how we do it on the interactive project. Communication does happen in GitHub on GitHub tends to be a great place for this because GitHub issues and pull requests will be indexed by Google. So if someone ends up googling something that's kind of related to your project or an issue on your project, they will land on your GitHub page. So that kind of information is really easy. Tap surface publicly through a search engine like Google not been to look back at later because it's all kind of archived and stored on GitHub. So generally GitHub for kind of communications where you want to purse for communications where we want to preserve the information. We also communicate via-- We also communicate via Slack. And this is kind of for more back and forth conversation where you're maybe getting some mentorship directly from someone or want to talk about an idea or a problem that you're running into. Sometimes we will jump on Hangouts, so video hangouts with two to three people where we will kind of pair program or work on a problem. Another way we communicate is through discourse forums. So this is where it's essentially kind of like a modern forum where people can make posts and other individuals can respond to it.
Laurence Bradford 20:04Technical sidegigs have had a massive impact on my life. Shortly after I began learning to code back in 2013, I landed a gig as an assistant to a more experienced web developer. That gig was my first step towards working as a freelancer later on. even learn to code with me, which is now my full time job began as a side project. I am so obsessed with side gigs because they are the perfect way to build up your experience and confidence as you transition into tech. Even more, they enable you to try out different aspects of tech before committing to a new career path in any particular direction. I really recommend them because I love sidegigs so much, I put together a free ebook to help you start your technical side gig journey so you can earn extra money every single month while advancing your skills. Inside this free guide, you'll learn which skills you need for these 28 different side gigs, how much money you can make from each plus tips on how to get started on whichever ideas speaking to you. You can get your copy completely free over at learntocodewith.me/sidegig. Again, the URL is learntocodewith.me/side gig. 041b061a72