The Challenges Of Open Source From The Eyes Of a Student.

Joseph Panetta
5 min readFeb 4, 2021

Village Book Builders is a global non-profit organization focused on providing education opportunities where they otherwise could not have been. V.B.B organizes the construction of library facilities in villages across the globe. This organization is working to provide an online mentorship environment truly accessible to everyone. An education management environment that reaches any and every student. Village Book Builders has partnered with Lambda to build a web portal for a wide array of user groups to participate in their mentorship program. After seeing the possibilities from this and so many organizations out there like Village Book Builders trying to make a difference for our future and future generations. I found myself looking for opportunities to contribute in some way with what I've learned at lambda.

Learning To Be Productive For The Teams Sake.

Working on this project had me excited from the beginning. Not only is it a huge project in a technical aspect, but it was something to be proud to have worked on. The specific pieces and parts that my lab's team worked on were just simple roles, mentees and headmaster and some student and mentee functions, and a few various connections that will prepare the next labs group to take over. . My specific role in the project started out designing a resources link page. Due to some issues with software and I’m assuming compatibility, I was unable to run the project correctly, and had issues with it from the start.. I then tried to lean into my team and absorb as much as I could and offer anything I could to help. This is where we are today, I’m trying to get a good handle on ant design, and follow in the example that my teammates all display every day and give the best start to the next team that we could.

Just When You Thought You Made Progress!

I always expect to have some challenges when there is a computer involved. I never expected to have so many challenges in such a short time. From way back in unit 2 and having npm problems to my lab's project here not starting properly. see the picture below for an idea of what was happening. A whole lot of nothing.. no errors, nothing I could grab onto to start trying to find the problem.

These are some pretty serious hurdles. But only if you look at them wrong. From the start, I had an issue with npm start simply not doing anything..It would not throw an error, it would not open a browser, anything. This made it very difficult for an amateur like myself to figure out a way to even try to see what was happening. I went through so many various rabbit holes of solutions I can't begin to retrace it. That's another lesson learned. Somehow document everything you do, even debugging and problem-solving. that process took me through that whole weekend. Eventually, I found what I thought was my lifesaver. The project finally ran. But I had to use a long strange node command to make it happen. In the next image, you can see the command needed to get the application to actually run.. And you can probably imagine how intimidating that looked to me. but I felt like I was king, I had made this thing fire up finally.

Later I ran into even more issues with styling not showing up when we knew it was there and some other odd things. I ended up climbing the support ladder all the way to the top and learning all the things that were not wrong along the way. We eventually realized that my new code was bypassing a huge part of a software called craco. This software is crucial to keeping a maintainable environment when using create react app with a group that's not experts on the subject. Ultimately I am writing code and sending it to my team and they are putting it into the project. Teamwork makes the dreamwork. So in the long run all my errors and issues were little tests of the patience and commitment it takes to be truly great at something like software development. When faced with the dreaded unknown or unfamiliar error code and you have no clue why. “Did I do something wrong? Did I delete a file or something?”, or in The worse case no error at all. Just nothing. That's it. Cold, hard, nothing.. lol. But this presented a new angle of a challenge for me, and one with many layers that I will still be figuring out long after I leave lambda.

When the issues I was having started it seemed everyone in my group was having some small issue. But one by one everyone was posting in slack that they had gotten it to run. I spent the entire weekend reading and digging to find out why I could not get mine to work. I found a solution that would let me open the application. But little did I know it bypassed some very important files and it showed almost no styling. Through a meeting with my project leads and on up the ladder we were able to deduce that it was most likely an issue with my computer, and I filed a new issue on their GitHub.

From that point, I had to keep up my contributions the best I could without being able to see the actual product of my work, Which at that time was still the student resources link page. Just a page of hyperlinks and logos to commonly used student resources. So that is currently where I am, here in sprint 4.

So What Have I Learned From This.

Looking back on the experience I had on this project, it was a little tough to not feel like I missed out on a lot.. I never did get a full project built.. I always ended up with some crazy issue that I would have to spend most of my time fixing like the npm start error. Or the ant design not working properly. All in all, I couldn't really have planned for a better educational experience than the one ended up with. Lambda will continue to grow and adapt to the times and the demands of this industry and that is a fluid situation that shouldn't be settled on, It should be constantly changing just like we software developers' lives will be.

--

--