-
Initially, we hesitated to experiment with GitHub due to concerns about
making unfixable changes to the group project repository. However, this fear hindered our learning. By implementing feature branches and conducting
workshops, we overcame this hesitation and discovered that hands-on
experimentation was essential for mastering GitHub effectively. -
Trying to perfect our code from the first commit; we found that working
with the team through code revision helped us code better. -
Spending excessive time fine-tuning minor details of the code before
completing core functionality. -
Logging the same task as both an issue and a PR instead of linking them
caused confusion and redundant work. Linking PRs to issues streamlined the
workflow and made task tracking more efficient. -
Weak communication from some members on Slack. Encouraging more consistent
and clear updates from all team members is essential. -
Expecting everyone to respond to a problem immediately; we learned to wait
and be patient.
- Manually applying code style corrections in multiple sessions rather than
using a code formatter.
-
Pair programming or review sessions were highly effective as they helped us
collaborate and learn from each other’s approaches. -
Regular team check-ins to discuss progress and blockers ensured everyone
stayed aligned and helped resolve issues quickly.
Communication Standards: Established rules for how and where
communication occurs (e.g., Slack, GitHub comments) to reduce confusion
and redundancy.
-
Knowledge Sharing Sessions: Allocating time for team members to present
learnings, solutions, or research findings to the group. -
Reviewing each other’s code and providing advice when stuck: Learning how to
work in a team has been really amazing. -
Biweekly updates: These have been effective in keeping the team informed and
aligned. -
Dividing tasks between members: This ensures balanced workloads and improves
efficiency.
-
Git and GitHub were very helpful, especially for screenshots of code and
managing the project board. -
Unittest in VS and extensions in VS helped in work and writing markdown
files. -
The hands-on GitHub project, where we created pull requests and resolved
merge conflicts, was very useful for practical learning. -
Using GitHub’s issue tracker to assign and manage tasks improved
accountability and task management within the team. -
Use labels, milestones, and linked issues/PRs
on GitHub to better organize tasks and track dependencies.
-
Introduce more coding challenges that mimic real-world scenarios, such as
debugging a complex Python script or handling edge cases in Git workflows. -
Use collaborative white-boarding sessions to design project architecture or
workflow diagrams. -
Include a mid-project retrospective to assess progress and address blockers
early. -
Pair Coding with Mentorship: Assign mentors to less experienced team
members for pairing on complex tasks, promoting skill-sharing and
collaboration. -
Advanced Task Management:
-
Create two projects: one advanced and another for beginners. This will cater
to varying skill levels and ensure everyone is appropriately challenged. -
Assign the review of specific challenges to designated members to ensure
distributed responsibility and a thorough review process.
-
We didn’t cover advanced Git features.
-
Team members were unfamiliar with tools like GitHub, resulting in delays and
inefficiencies due to a lack of initial training on project-specific workflows.
-
Efficient Version Control: Learning how to use GitHub features like pull
requests, issues, and CI/CD workflows to streamline project management and
integration. -
Debugging Techniques: Gaining skills in identifying and resolving merge
conflicts and debugging code effectively. -
Task Management: Using labels, milestones, and linked PRs on GitHub to
organize tasks and track progress more effectively. -
Code Quality Improvements: Understanding the value of using linters,
code formatters, and review processes to maintain high coding standards.
-
Learned the importance of teamwork and how to effectively collaborate in a
team environment. -
Developed better time management skills by respecting deadlines and the
schedules of team members. -
Enhanced communication skills through active discussions and idea-sharing.
-
Collaboration and Communication: Recognizing the importance of regular
check-ins, clear communication standards (e.g., Slack, GitHub comments), and
quick feedback loops to ensure alignment. -
Mentorship and Learning: Pair coding with mentorship helped team members
grow their skills and build confidence. -
Adaptability: Adjusting plans when unexpected challenges arise, such as
integrating unplanned sessions or adapting to team members’ learning curves. -
Time Management: Balancing focus on critical tasks first rather than
perfecting minor elements early in the project. -
Knowledge Sharing: Gaining insights from other team members through
presentations, solutions, or techniques they applied during the project.
- Timely completion of preliminary modules.
- Smooth division of initial tasks aligned with team members’ skills.
- Effective onboarding process with pre-session materials.
- Consistent team communication with regular check-ins.
- Early identification of roles, leading to a structured workflow.
- Participation in pair programming and knowledge-sharing sessions.
- Helping each other: Some members got stuck on certain tasks, but others
assisted by recording videos and organizing meetings to solve problems
collaboratively.
- Underestimating time for tool familiarity.
- Incomplete role assignment, causing confusion.
- Inefficient communication standards between Slack and GitHub comments.
- Over-focusing on details, delaying critical progress.
-
Rating: 4/5. The content was well-structured, but time management could
have been better to cover all planned topics. -
Loved the focus on beginner-level participants but noted a gap between
participants with varying experience levels.
-Regular Motivation Boosters: Share success stories, milestones achieved, or
shout-outs for individual contributions to keep participants motivated and appreciated.
-Provide pre-session materials so participants can prepare in advance and use
session time efficiently.