I'm starting to regret doing this in dark mode, but let's give it a go.
Hello everyone, I'm here to talk about the bus factor this morning.
Thank you all for coming out.
So I've a lot to cover, so I'm just going to get started right now.
I'm Ruan Merchettroyd.
I'm a fourth year computer science and German student over into U.
Dublin in Ireland.
I'm the Irish Cloud Computing Champion.
I'm a star student at SAP.
I'm a systems administrator at CS++, which is what we're talking about.
And I'm the former president of societies at TU Dublin.
But what is a society?
In the UK and Ireland, societies are 100% volunteer lead organizations for student life in TU Dublin, primarily academic, cultural, and social.
We're funded by the university and sponsors.
And there's around 53 active at the moment.
But I want to talk about CS++ today.
CS++ restarted in 2022 and tracing its roots back to go.
I'm so in 1998, is our computer science society.
Our aim is to give students unique experiences and teach skills they don't get in class.
In fact, CS++ are here today.
We've brought up by 20 of our members on a subsidized trip to Phastem because it's one of the best conferences on the continent.
We're a committee of 15 students, five of whom are systems administrators.
Systems administration at CS++ is quite an interesting one.
Because we're students from any of six computer science courses across any of three campuses running a four-note proxmox cluster in a concrete basement in one of our campuses that they're trying to sell.
We're running 40 services for six societies with the aim to onboard five more in the next six months.
We run mission critical data and services for our members and other societies and where students.
That's a bit of a problem because that means we're pretty susceptible to the bus factor.
And it's not just what I said earlier that we've a huge range of syllabi, none of which are synchronized.
We can't guarantee any sort of experience.
We're volunteers.
It's very difficult to vet people whether students and we're all volunteers and no one's being paid.
But we're still all.
The maximum tenure is four years and that's why we have a four year bus.
So how did we handle this?
We've split this into three solutions.
First of all, systems and administration is a practical concept.
So why not teach practically?
We've a flight of 11 practical challenges starting from how to create a VM and run a Docker container.
And culminating in here are five Raspberry Pi's put together proxmox cluster.
Make it highly available and make it resilient.
I will come back in a few hours.
I'm going to start unplugging things.
Let's see how resilient your work is.
Secondly, documentation, everyone hears about this and work,
but documentation is the core of everything that you do.
Information will be lost.
I'm sure this stuff that I've forgotten to write down.
That's going to disappear when I graduate.
Everyone has a timer, but at least for CS++, we know ours.
It's four years or less.
People will leave.
We have people on arasmus right now.
We have people in systems administration who are on their internships.
People have lives that they have to go to.
As volunteers, we have to recognize that people's lives and people's academic work
is ahead of everything else that they do.
Our docs are open-source, not just to show everyone what we're doing,
but because if all of us get hit by a bus, there's three of the siblings here right now.
Hopefully in a few years of the society comes back.
We can have students come along and read documentation to recover
and bring us back to a state where we were earlier.
Record keeping is your highest priority because no one is
infallible to leaving or changing jobs or something worse
that I don't want to talk about.
Your documents should have layers.
Docs are what I like to call the Holy Runbook.
We need to teach everything when you need to teach it.
You need to test your docs when you're onboarding someone
and fix the issues they run into.
When you're onboarding someone, you need to make sure that everything they know
but forgot to write down is written down.
Let's look at how C.S.Possible Supporters Are Docs.
So, we have a fully functional infrastructure more or less.
So, you can't have automation without services and you can't have services
without an operating system and you can't have an operating system
without hardware and networking.
So, we teach bottom-up.
We start with layer zero.
What is a computer?
What is a server?
How do you spec a server?
What is networking equipment?
How are these connected?
What is SPF?
What is RJ45?
We have to assume they know nothing.
Then, what is proxmox?
What is Debian?
What is Linux?
What is Windows?
Why are these important?
How do you do network attach storage?
Then, what are we running?
Who are we running for?
What are those crazy quirks that our password manager has?
All of this has to be covered.
And finally, you can make their lives easier by teaching them how do you automate.
So, you don't have to be in that terrible concrete basement from nine to five.
Our third solution is ownership and I've gone way too fast.
But that's okay.
We are volunteers.
We will disappear.
We will reappear.
So, the aim is let's specialize with a few people that we have.
We have an ownership table on our documentation site.
This covers all of the services and all of the overall concepts that are involved in our line of work.
So, we delegate, which is the best thing that a student society can do.
When I started, it was just me.
I was the owner of about 20 services and the hardware and the security and the architecture.
So, we delegate.
We now have systems running about on average two to three services.
And now all I have to worry about is the security and overall systems architecture.
The owners aren't the ones doing all of the work.
And if you apply the concept of ownership, this is so important to hammer home.
People are afraid to take on responsibility if they think they're the one going to be doing all the work.
These owners should be the experts in their field, not just workmules.
You want to ask them for their opinion.
They should be the one going, oh, hey, Ruan, you have a few minutes.
The pastor manager is down right now.
I think it's this and this.
Can you go check it out?
Here's the docs on the site.
They are the one we should go to when an issue is coming along because they will the one.
They will be the person who will do the triage.
Who will give us the update and will have the information to empower us to do the work.
And this makes things more or less felt tolerant because I get, as I get busy with my thesis,
I'm able to delegate away the tasks hand over the things that I know.
So we have a new owner when things change.
This makes it very easy for us.
We have a four year revolving door.
Maybe less people can join and have joined in their second and third years.
That's very little time to teach them on a pretty complicated stack.
So with that, why should you care?
There are a lot of people from the Computer Science Society here, obviously.
But for those in other volunteering groups or technical groups or maybe even a real job, I don't know what that is yet.
What can you learn from what we're doing here as a volunteering organization?
You need to be ready to hand things away in case you go somewhere else that you might like more.
But you also need to be ready to receive things from other people.
A working environment is a cooperative environment.
And while hierarchies are great, you're all working together towards the same goal.
And you need to be able to support each other if they need just a little break.
Humans learn by doing fussed-em, the programming systems administration is inherently practical.
So try and make your onboarding as practical as possible.
If you have a very complicated co-based, you're going to want to give simpler tasks that build on top of each other until they fully understand the overall concept.
There is no hive mind.
I have thought I've said a lot of things.
I've just said them in my mind and I haven't properly handed them over.
You need to write things down because if you're sick and you miss a meeting, and that's where they're talking about the topic that you're the owner of.
And there's no documentation to back you up.
You're in a bit of a bind.
And in my opinion, at least I think democracy rules.
Let's flatten the hierarchy, listen to each other, and most importantly, trust each other.
With ownership, you can trust that person kind of knows what they're doing.
And even then, you can vote on what you probably think the best idea is.
That might work slightly better in a student-led society as opposed to a real workplace.
But nonetheless, you should trust your colleagues.
So the most important part, and I'm finishing with so much extra time.
There is one thing that you should never forget.
To the day, I joined CS++, exactly 1,200 days ago.
This talk has been the culmination of those 1,200 days because I only have 150 days left before I graduate.
And I'm gone.
So I have to write down all of this.
I have to hand over everything that I think I know and everything they should know.
Because we all have a clock and can your project survive yours running out.
That's it for me.
I would love to talk if you have any questions.
I have been thinking about this for 12, 100 days.
And if you'd love to reach out to the computer science society,
I would love to hear from you.
So thank you all very much for coming out so early.
I have time for questions. This is great.
No pressure if not, that's totally fine.
Does anyone have any questions?
Oh, a mic.
I can give you this mic and I can hold the other one.
Oh, yeah.
I mean, it is 920. Oh, hello.
So the question was about if we're doing more than just teaching systems administration.
So I have this pretty much just to the operations of the society.
But as a technical society, a great thing to do is our university doesn't
comprehensively cover Git, which is pretty much our only standard in this industry.
So the first thing that we try and do is teach Git.
We're also teaching other technologies like Docker and everything else that people may use for
home labs or programming languages or approach to programming.
The people might not know because the more knowledge they will be able to get is something they
can apply in their own personal work and in the workforce.
Are you part of that group or are you sort of academic staff supporting them?
So you have permanent staff as well as sort of a revolving door of students.
And this is a really unique approach.
If you are in a situation like this, you can do that.
So you have permanent staff as well as sort of a revolving door of students.
And this is a really unique approach.
If you are in a situation like this, especially those in universities.
Anyone in a permanent position like that should help support those groups of, let's
call them transient members, right?
They will appear and disappear with helping them think about this sort of hand over and
these other concepts.
Because if you are the cornerstone of any sort of organization,
your concept should be how will other people hand over,
especially if you are in it for the long run.
Anything else?
Hello.
Heck yeah.
So the question was how do you sort of get people involved in a volunteering group,
especially in university?
That is a really hard issue.
And this is really suffered since the pandemic.
Obviously student life in a university context has really gone down.
And engagement has gotten worse.
And the core concept of this is because people are much more sprawled away.
My community university is up to one and a half hours each way.
So I get very tired when I go home.
And a lot of people don't want to stay out when they would rather go home.
Go work on their assignments.
The engagement is mostly by being there.
I want to actively approaching people and actively engaging and giving things they would want.
A lot of people will get there in to a volunteering group,
especially in university by going to events.
So if you go to events and do what we do and get that little niche that they need,
that they aren't getting, you're going to get people there.
They'll know your name.
They'll know what you do.
And then after that, I love saying, hey, we have some positions open.
So we have two sets of positions opening.
One, two events so far.
I keep on mentioning it after every single one.
And after that, you will get people engaged.
The majority of people who get engaged are those who actually really want it.
And that's a really unique position because when there's no money,
people are just doing it for the love of the game.
So be there, be present, be vocal, and give them exactly what they want.
It's never too bad to ask, hey, is there something that you would like us to do?
Or hey, can we support you in our inner endeavors?
We sometimes support our members with purchasing equipment to do some systems of
administration, or do some homework, etc.
And that will, hey, I'd love to give back and support these people.
Thank you so much.
Anything else?
I think it's good.
Thank you all so much.
Thank you, Ron, for presentation.