We sat down (virtually) with one of our learners, Mammadu Diallo to share more about his learning journey, background, and motivation for joining Qwasar. Community is a big part of the learning experience here at Qwasar. We want to give you an idea of the depth and breadth of who is in our community.
This interview is a part of ongoing learner interviews of our Qwasar students to give greater insight into our inspiring community members.
Personal
Tell us a little bit about yourself, where you are from, what's your educational background?
My name is Mammadu Diallo, born in New Jersey but raised in Chicago. I came into Qwasar with a mechanical engineering degree from Northern Illinois University. Go Huskies! Right now, I am working as a mechanical engineer at a water filtration company. I have a lot of experience, I had some experience before in programming and coding, but not a crazy amount, not as much as I have right now let’s say.
What are you passionate about?
Oh man that’s an intense question. If you asked me off the top of my head I would say I really like playing video games and street fighter, but I’m really passionate about more than that. I’m trying to improve myself, whether that be in working out or lifting, or I guess pursuing programming or thinking logically. I’m trying to do my best in improving myself in those areas. So I guess improvement of self is what I am passionate about.
Where do you want to work one day?
At one point in time, I was thinking it would be cool to work at Microsoft. I see all the acquisitions they make and how they’re making their platform more open, and I am really enjoying that. Amazon is also pretty cool, they’re pushing the logistics technology as far as they can and they’re always innovating, and that’s pretty cool. On another end, it would be pretty cool to go to Tesla or SpaceX, because they’re again pushing technology. I guess I enjoy trying to push technology, it'd be pretty cool to have that kind of impact.
What do you want to do in the future?
I definitely hope to be a software engineer, that’s part of the reason why I joined Qwasar and I’m on the way. That’s at least one of them. I was doing mechanical engineering and after doing it for about 4 or 5 years, I realized I probably should have went into electrical engineering or computer science instead. So I am taking this opportunity to try to do a career switch and see how I like it.
Coding
Tell us a little bit about your journey to Qwasar
A year ago, maybe a little longer, I started to think I wanted to try software engineering. I started working on learning Python and it seemed like it was very easy and high-level, and it is. It’s a great language to learn for pseudo-coding. Then, I did a data science course and realized data science isn’t necessarily for me. It’s interesting and I can see its applications but I was not necessarily inspired by it. But, my coworker Jairo was also looking to switch directions into a software area and he said you know what, let’s try doing Qwasar and I said sure why not. He told me a lot about how he used to do 42 and how it’s one of the best ways to improve yourself in the software engineering space. Then, seeing that Qwasar is made by the founders of 42, he said that this is the way and that we have to do this. I followed him with it and I am glad I did because I have learned so much.
I started in the Javascript bootcamp, so I learned a little bit about how Javascript works, how it’s a backbone of web technologies, and learned a little bit about web scraping and HTML and CSS. Now I am learning C in Season 1 of Qwasar. I did the C bootcamp and learned a lot about pointers and memory - so much and I’m still learning more every day. Now I am working on some of the later projects in the Season 1 of C, MyTar, an archiving program. Even just talking to you, I'm realizing I have learned so much about architecture and how to collaborate with others and how to debug your program, as I am debugging it now. I think the most important thing I have learned though is of course pointers and memory allocation and freeing memory. There has been many times where I have had a memory leak and I was wondering, What happened? How did this happen? Only to realize that I didn't add the null terminator or null character to the end of string so I have been trying to fix up a lot of those issues with my old libraries. And freeing items, because sometimes I forget to free an item and I am realizing how important it is to free an item in the heap. So I am getting very comfortable with memory and how it works and using C to do that, and I think that's been a great road for me. And then of course architecture and programming and working together and diagramming, I have learned a lot in the last couple of months.
Tell us a little bit about your journey within Qwasar, any struggles you have had and how you have overcome them.
I mean I have struggled throughout the course, it’s not easy for sure. You definitely have to work really hard and ask lots of questions and bang your head against the table a couple times until the solution just comes to you. But, I think a lot of it is just learning how to think very logically. Describing how my code works to myself or another person has often been very helpful. A lot of times I’ll ask a peer for help on a problem, describe the problem, then I’ll realize right then and there, the problem is this, the solution is this. So that’s been really really helpful for me.
Honestly, it’s just all about keeping pushing on, describing your problems, understanding what truly your problems are, and lots of debugging and perseverance. It’s a grind, but it’s a fun grind.
What have you learned about yourself while at Qwasar?
Well, I am working with Jairo and there’s this other 42 cohort he had, his name is Ramone - Shoutout to Ramone! - and seeing how he does work and how he does Leet Coding and seeing how some of the other advanced cohorts within Qwasar are doing their coding and their thought process, helps me understand what a software engineer is supposed to think and also to realize that I am kind of cut out for this. At first I was very doubtful, but the more I do these problems, the more I progress, the more I realize, “Hey I can do this. I think I am good enough.” Of course I still have a lot to learn, but having that confidence has been very nice. Learning that I can do this has been a very, very good feeling. One of the better feelings throughout the day sometimes.
What has been your favorite project so far at Qwasar?
Well there was this web scraping project, I think it was in the Javascript bootcamp, I think it was called My_Backend, and we had to make a backend that would allow you to login and then if you type in a command, it would show you a data entry from Wikipedia or something along those lines. So I thought it would be easy just to put in what the entries were in Wikipedia, like copy and paste into a specific file and then have it read from the file. Then I was like “You know what, let’s web scrape it!” So I took the opportunity to learn Python’s ‘beautiful soup’ library and I figured out how web scraping works at a very high level. I still am not crazy comfortable, I still need to practice it, don’t get me wrong, but being able to understand how to web scrape was very powerful, because now I realize there are a lot of things I can probably do with that:
- I can say alright what’s the price of this item?, or
- I can see when the item is this price, or
- I can go ahead and buy it, or
- Maybe it can make an app that pulls data from a website and it updates every time the website itself updates
Being able to do that is pretty cool and pretty amazing. That was probably my favorite project so far because of what I learned.
Tell us about one of your biggest successes while learning to code
There’s this flag when you’re compiling your C program, fSanitize=address, basically it’s address Sanitizer, it allows you to figure out if you have a memory leak or why your program has a seg fault. It took me a long time to really understand what it was saying to me when there was an issue, and I would think, “Oh it crashed because of this... I'll just get rid of this flag and pretend it didn’t happen", so sitting down and finally understanding what that means opened me up to a lot of my bad practices that I’m able to reduce now. For example, forgetting to add a null string or null character at the end of a string - I am a lot better at making sure that I explicitly add that because that was the cause of a lot of my programming issues or a lot of my compiling issues. Also, or again freeing items that you have memory-locked, that’s another issue that I didn’t even realize was an issue and now I am very very explicit in making sure that if i give memory to something, I later on free it. Learning how to understand address Sanitizer, then use it to debug my code has been very very helpful. I am glad that I finally sat down to understand how it works.
What is your favorite programming language thus far and why?
I was a very big proponent for Python because it is super high level and it's a lot of the pain you get to deal with in C. I do appreciate C for what it teaches you about how the computer works, and you have to be very very disciplined in exactly what you are typing, whereas in Python you just type whatever you want and they’ll probably take it in for you and you'll be fine. So I think Python and C at this point in time are my favorite languages. One’s super low and one’s really really high, and I think having both skill sets is good. That being said, I definitely need to brush up on my Python, it’s been a while since I've used python because I’ve been focusing a lot on C.
What is the importance of learning data structures in your opinion?
I feel like a lot of programming problems or a lot of business problems are that we have this database, how do we pull the proper information from this database and then or how do we organize this data to do a specific operation. I think data structures are a good way of organizing your data to do these operations. So for example, I learned a lot about Link-Lists at the Qwasar Bootcamp, and those are awesome because it’s a great way of making a data structure where you can add items without having to declare the size or insert items in between other items. Compare this to having an actual array where you must declare the size ahead of time or you must move a bunch of elements for insertion, which is a lot of work. Being able to do that allows you to be a lot more dynamic or worry a little bit less about the actual size of the data you’re going to be taking in. Data structures are great to organize your data and to process your data and if Gaëtan (one of Qwasar's co-founders) says that's wrong, then I guess I’ll learn about it later in the next season.
What encouragement would you have for others starting out their coding journeys and careers?
Firstly, perseverance is huge, you’re gonna hit walls very often so keep on trying, it's okay of course to take a break, sit on it, ruminate on it, think about it, take a shower, you’ll probably think about it in the shower and it’ll all make sense. You don’t have to do it all at once, but take some time to think about it and don’t give up. Also, definitely try to talk out your problems, or to ask for help, because often when you're asking for help or discussing the problem or trying to verbalize the problem, you realize what the solution is right then and there. Talk it out, persevere, and go ahead and take time to step away from it a little bit and come back to have a fresh point of view.
We are thankful for Mammadu's time in developing this interview and sharing his insights and journey. Our students embody so many amazing characteristics and come from many backgrounds which make up our incredible community. We are looking forward to sharing more learner interviews in the upcoming months.