Still working on school stuff today, so we're still on a break from the series on reading TDD by Harry Percival.
Like I mentioned in my last post, I'm currently working on both a group project and a solo project for school.
The group project is a web-based photo gallery app, and the other project is an algorithm project on bucket sort and heap sort. I have to say, these projects are really opening my eyes to what I’m lacking and what I want to work on more in the future.
The Algorithm Project
Wow, I am really lacking in that department.
I’ve done some LeetCode problems before. I know what bubble sort is, I understand binary search, and a few other algorithms. But writing them from scratch? That was rough. Fun, but rough. I want to be better at this, but with only a week to complete the project—while balancing my day job and another school project at the same time—detailed study has been difficult.
I feel like I should start building a list of all the things I want to learn in the near future so I can work on them.
I remember enjoying LeetCode problems. They’re like puzzles (well, they are) that you solve with code. But when school started, I didn’t have time to keep working on them. I’d love to get back into it.
Now for the Group Project!
I’m so glad to have this opportunity to work with a team! I really wish there were more chances for group work in school. Learning to plan with others and delegate work—what a valuable experience… and a reminder of everything I didn’t get to learn during my school years.
First of all: You are not on your own!
In my day job, most people are behind the times, and I often find myself wearing multiple hats—having to know everything all the time. But this team I have for my capstone project? They’re amazing! This is the first time in a long while that I haven’t been the go-to guy. In fact, I felt like I was the one being carried! My teammates are knowledgeable and motivated, and for once, I don’t feel alone in the task. Knowing that I can ask for help and trust the people I’m working with is such an incredible feeling.
Second: I don’t know Git very well.
I’ve worked with Git and GitHub before, but mostly on solo projects. This is my first time collaborating with others—branching, rebasing, merging, creating pull requests, and all that. This project has given me a huge opportunity to practice those skills.
Third: Front-end development!
I actually started the whole Learning Django series because of this project, but since most of my teammates wanted to tackle the backend, I volunteered to handle the front-end work. During this time, I had a crash course in HTML, React, and Bootstrap—which made me feel much better about my skills, but also made me realize that my classes didn’t teach any of this.
Finally: Test-Driven Development
I’m really enjoying Test-Driven Development with Python by Harry Percival. I feel like I’m learning how to plan tests before writing code and understanding the difference between unit tests and functional tests.
However! When I was assigned to write tests for our project, most of the code was already finished! I’ve realized that if a group isn’t already familiar with TDD, it’s really difficult to implement it. I still want to finish the book and try out TDD in some of my personal projects, but for a group project… it’s really tough.
This post turned out longer than I expected. I can’t wait for this week to be over, so my class workload will lighten up a bit, and I can get back to reading TDD with Python again.
Until then, have a great day, everyone!