Having read my profile and experience, you might be tempted to ask some questions.

"What do you do in the Computer Science Club? How complicated is it? How much do you need to commit to the club?"

Well, let's find out, shall we?

Lead CodeyBot Developer

CodeyBot is the Discord bot of the Computer Science Club. It does a lot of things within the Discord server, allowing members to retrieve information of their interests and interact with other members in various different manners. If you want to learn more details on what the bot can do, our live command documentation is where you can go to.

I have been with the team since December 2023. My general workflow is pretty simple and straigtfroward. We maintain a GitHub Project Board that contains a lot of tickets. I pick a ticket of my own interest and work on that ticket at my own pace. Once I believe I have gotten the ticket down, I submit a pull request, ask for feedback from the lead developers, incorporate the feedbacks if any, and finally merge my work into the main branch once I receive approval.

A couple of things I worked on are:

  • Enhanced a command for resume critique
  • Migrated a couple of commands to the new framework for better modularization and support
  • Developed a live command documentation that automatically updates whenever a command is created or updated
  • Integrated UWFlow GraphQL API to provide course information to server members

Around June 2024, I got promoted to lead developer. Along with another lead developer, we oversee the team's progress and perform quality assurance on the development of other developers in the team. We are also in charge of overseeing the servers where we host the bot. We ensure the bot is running properly and troubleshoot any issue that arises.

That's pretty much what I do in the CodeyBot team.

But wait, there's more!

Terminal and System Committee

I ain't no executive in this team, but I'm still a member developer. Fun fact, I joined the team since December 2023, the same day I joined the CodeyBot team.

The Computer Science Club owns a lot of server machines. They're not the best (limited budget moment) but they're still quite decent. Anyways, as long as you have club membership (which is $2 every 4 months, super cheap), you can do whatever you want with the servers (except doing crypto and other admin stuff). The club provides these services to practically anyone, from individuals to clubs and organizations. Long story short, there needs to be a team to manage all of this work. That's where the Terminal and System Committee comes in.

Within the team, we use Plane as our project management platform, which we also self-host. Plane contains a lot of tickets from different areas, such as infrastructure, softwares, hardwares, mirrors, etc. I just pick a ticket that I'm interested in and work on it at my own pace.

Currently, here are the two main tasks I'm actively invovled in.

  • Overseeing softwares and platforms used internally in the team
  • Migrating cloud hosting service from Apache CloudStack to OpenNebula

And that's it for the Terminal and System Committee!

In a series of very unexpected events, it turned out that I am now also involved with MathSoc. While the following positions are listed as Volunteers, I personally still feel like club work. Plus, MathSoc is sorta like a club anyways, minus the board of directors and the council, so here we are.

MathSoc Website Manager

MathSoc (short for Mathematics Society) is an organization run by the Faculty of Math. They host events for students in the Faculty of Math, and more importantly, manages clubs registered under the Faculty of Math.

As per standard, MathSoc has their own website, which you can explore here . MathSoc always has new information to update on the website, whether it's events, board meetings, council meetings, or changes to request forms. As a result, website managers are responsible for making updates to the website. And hey, I'm a website manager!

You might think there would be many technical things to understand when working with a website. That's true, around 50% of the time. Not everyone builds their websites from scratch (I do btw, you're looking at it). MathSoc is among the other half of the crowd. More specifically, the MathSoc website is built using WordPress, a very popular choice for content management systems. Even more specifically, we use Avada Builer as the main (and sole) plugin to build the website, and we use custom HTML/CSS every now and then if Avada proves to be too much of a pain for customization.

So I suppose I can tell you with confidence that I know my way around WordPress. Not entirely useful of a skill, given that my path is currently website and software development. But sometimes, content management system could be a better choice, and should that be the case, I have the skills to take on the work.

And this is where you realize there's another website position that I also occupy.

MathSoc Website Developer

Yes, we have to admit that WordPress is not the best way to manage a website. So, there's a project that has been ongoing for three years, where we're trying to migrate the contents and functionalities of the current MathSoc website to a front-end and back-end framework. The goal is to make it easier to maintain the website. That's where the website developers come in.

So, a couple of words about our project. We use Pug.js, a simple and straightforward framework, for front-end development. Then we use Express.js to configure our back-end features. Currently, we are still working on the migration. We have migrated most of the stuff, save for some 30-ish issues that we need to work on, mostly about the back-end features. You can view our GitHub repo for our project, but you can only make contributions if you're a current University of Waterloo student.

That being said, I do want to point out one thing. There's a reason why we went with WordPress in the first place. It's also why many people went with content management systems (CMS) instead of building their websites from scratch. You barely need any website development knowledge to manage a website with CMS. As a result, a major part of this project is to also develop our own CMS, so that website managers could easily update the website whenever necessary. I just happen to be a website manager who knows way too much about website development. For the most part, website managers aren't required to know extensively about web dev.

By the way, if you got interested in these MathSoc positions after reading my articles, well guess what. You can apply to be one of us too! Apply here if you wanna do what I do!

P/S: The positions are not always open, so either join the MathSoc Discord server for announcements, or just look out for them very carefully.

P/S: I'm not advertising for these MathSoc positions, that's the job of the marketing people. Just felt like I should provide more details.