Hello, everyone! 👋🏻
As the Web3 Frontend Bootcamp is coming to an end, I have almost completed all the homework assignments, so I would like to take this opportunity to review my experience and observations over the past month.
I am honored to have been selected to participate in the review of the homework assignments during the learning process. This not only allowed me to experience some things in the open-source community, but also gave me the opportunity to provide more value!
Background and Motivation#
Before starting the retrospective, let me reintroduce myself -
My name is Ourai, also known as "Uncle Lei" because I am already a middle-aged person over the age of 35. Among the trainees who are mostly born in the 90s and 2000s, I am considered an "uncle"...
Since graduating, I have been working in the field of web frontend development for more than ten years. I have worked for companies in various fields, used various technological tools, and worked on various types of projects, serving in various professional roles - my experience is quite rich.
Based on the above professional experience and my life experience in the past two years, I have continued to be pessimistic about traditional internet industry web frontend development, so I have been looking for a way to maximize the use of my existing knowledge and skills.
One day in May of this year, I suddenly wanted to learn about Web3-related things - I had only heard about it before and didn't know much about it.
Even so, finding a way to enter the decentralized world has been my wish for many years, and Web3 based on blockchain technology is the entrance (one of them)!
After some research, I found that the current situation and development trend of Web3 are in line with my expectations, especially the DAO (Decentralized Autonomous Organization) that comes with it, which is exactly what I envision!
Among several Chinese DAOs I found, I chose to join FreeBe because it matches my aspirations the most. Later, I saw the recruitment article for this training camp shared by the organizer in the group, and the mentioned benefits are exactly what I need, so I signed up without hesitation!
For me, transitioning to become a Web3 full-stack developer is the "way to maximize the use of my existing knowledge and skills" - this training camp can greatly help with that!
Trainee Perspective#
Although there have been some adjustments along the way, the structure of the training camp's curriculum can be roughly divided into two parts: "Basics" and "Advanced":
- Basics - Mastering the basic elements required to develop a dApp and practicing with more common project types such as NFT market and DEX.
- Advanced - Promoting products related to stakeholders' interests and helping developers who want to enter the industry adapt to the current industry changes.
Overall Design#
From a purely trainee perspective -
The training camp is more inclined to "help experienced Web2 frontend developers transition to Web3 frontend". Considering that there may be college students or recent graduates, a course introducing frontend development was arranged.
However, among the more than 200 people who actually signed up, there are still many backend developers who are transitioning from Web2 or are already working in Web3, and there are even a few with almost zero foundation...
Since this is a free training camp and the organizers have provided various reward settings, it is not feasible to invest more resources and costs to shape it better. Therefore:
- The systematic and refinement of the course content will not be as perfect as those expensive training programs.
- The post-course guidance and other services will not be as considerate as those expensive training programs.
The main purpose of the course videos is to outline the key points in the trainees' minds. If you really want to understand, you still need to expand and fill in more in-depth knowledge based on that outline.
At this point, the trainees' existing knowledge structure, thinking patterns, and learning habits will significantly affect the speed of learning and absorption of new content - some people quickly grasp it and complete the homework, while others ask many questions in the group.
As for myself, due to my rich programming experience and good at thinking and summarizing, I have already established an abstract model network in my mind, so it is relatively easy for me to understand most of the content. Even if I have questions that need to be answered, I can usually figure it out by asking a few words.
Therefore, I am often the one answering questions in the training camp group, which not only solves other people's confusion but also verifies and consolidates my own understanding of the knowledge.
In this regard, the "roughness" of the training camp curriculum is not a disadvantage, but rather a "wise decision" that kills several birds with one stone:
- The organizers have gathered a large number of participants at a lower cost, which not only expands their influence and benefits stakeholders but also benefits more people who want to transition or learn.
- Collaborative learning replaces tutoring-style learning, where fast learners help slow learners, achieving a win-win effect and creating a positive learning atmosphere.
- Indirectly encourages trainees to learn and complete homework, cultivating relevant habits for working in the Web3 industry.
However, I still hope that others can ask valuable questions as much as possible, just like reading "How To Ask Questions The Smart Way".
In conclusion, I am very satisfied with this training camp as a trainee. Not only did I learn the knowledge and skills I urgently needed efficiently and for free, but I also received rewards and got to know many people. What more could I ask for!
Teaching Assistant Perspective#
Perhaps because I was active and enthusiastic in the group, I was asked to help review the homework assignments. This added the role of "teaching assistant" on top of being a trainee, and my position became less singular and pure.
Various Shortcomings#
After becoming a teaching assistant, I realized that there are really very few reviewers!
After the first React course was launched, a flood of registrations and submitted homework PRs came in - 50, 100, 150, and it's about to reach 200! But where are the reviewers? Where are the people to review the PRs?!
Okay, I managed to gather a few people, and now we have people, so we can start working - but how? What standards should we use for reviewing? Is it enough for task 1 to have the required functionality, or should we also review the code writing?
With so many people submitting homework, there are bound to be some who "cheat" by directly copying and pasting other people's code without using their own brains. Does that still count? If we want to manage that, how can we quickly and conveniently identify and detect such cases?
Although there are a few basic rules, they are not clear and complete enough. Plus, there is no effective configuration of GitHub Actions workflows for automation, so a lot of manual intervention is needed.
Due to the above reasons, the timeliness issue I was worried about in the homework assignment review did indeed occur!
Trainee Profile#
As of now, among the 1113 PRs submitted so far, at least 451 of them have been reviewed by me, mainly for registration, task 1, task 7, and task 8:
Among these thousands of PRs, I estimate that more than half of them could have been avoided completely. In other words, when reviewers request changes, they can be handled in the original PR to maintain a complete timeline and reduce resource waste.
During the PR review process, a significant amount of time was spent correcting submission specifications unrelated to the course content and issues related to Git usage. This made me very puzzled - what type of people are the target audience of this training camp???
I originally thought that the majority of people would meet the following criteria:
- They don't need to have strong learning ability or self-drive, but at least they know to look at existing documentation and videos first.
- They are proficient in basic Git operations and know how to use branches for transaction isolation.
However, the actual situation surprised me... I even started to worry about them - can they find Web3 jobs?
At this stage of the event, I found that some people are genuinely here to learn, but there are also those who seem to be solely motivated by money - they didn't even do a single homework assignment that requires some time.
I am not sure if the organizers have already anticipated and accepted this situation.
Conclusion#
As a trainee, I am very satisfied with this training camp event. Not only did I learn the knowledge and skills I urgently needed efficiently and for free, but I also received rewards and got to know many people. What more could I ask for!
As a teaching assistant, I have seen many issues. Apart from some minor complaints, I have also come up with some improvement ideas in my mind and hope to have the opportunity to implement them to solve those problems.
OpenBuild, please keep up the good work!