WEBVTT

00:00.000 --> 00:12.000
I'm starting to regret doing this in dark mode, but let's give it a go.

00:12.000 --> 00:15.000
Hello everyone, I'm here to talk about the bus factor this morning.

00:15.000 --> 00:16.000
Thank you all for coming out.

00:16.000 --> 00:19.000
So I've a lot to cover, so I'm just going to get started right now.

00:19.000 --> 00:20.000
I'm Ruan Merchettroyd.

00:20.000 --> 00:23.000
I'm a fourth year computer science and German student over into U.

00:23.000 --> 00:24.000
Dublin in Ireland.

00:24.000 --> 00:26.000
I'm the Irish Cloud Computing Champion.

00:26.000 --> 00:28.000
I'm a star student at SAP.

00:28.000 --> 00:31.000
I'm a systems administrator at CS++, which is what we're talking about.

00:31.000 --> 00:34.000
And I'm the former president of societies at TU Dublin.

00:34.000 --> 00:37.000
But what is a society?

00:37.000 --> 00:47.000
In the UK and Ireland, societies are 100% volunteer lead organizations for student life in TU Dublin, primarily academic, cultural, and social.

00:47.000 --> 00:51.000
We're funded by the university and sponsors.

00:51.000 --> 00:54.000
And there's around 53 active at the moment.

00:54.000 --> 00:57.000
But I want to talk about CS++ today.

00:57.000 --> 01:01.000
CS++ restarted in 2022 and tracing its roots back to go.

01:01.000 --> 01:05.000
I'm so in 1998, is our computer science society.

01:05.000 --> 01:09.000
Our aim is to give students unique experiences and teach skills they don't get in class.

01:09.000 --> 01:11.000
In fact, CS++ are here today.

01:11.000 --> 01:16.000
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.

01:16.000 --> 01:21.000
We're a committee of 15 students, five of whom are systems administrators.

01:21.000 --> 01:24.000
Systems administration at CS++ is quite an interesting one.

01:24.000 --> 01:35.000
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.

01:35.000 --> 01:42.000
We're running 40 services for six societies with the aim to onboard five more in the next six months.

01:42.000 --> 01:48.000
We run mission critical data and services for our members and other societies and where students.

01:48.000 --> 01:53.000
That's a bit of a problem because that means we're pretty susceptible to the bus factor.

01:53.000 --> 02:00.000
And it's not just what I said earlier that we've a huge range of syllabi, none of which are synchronized.

02:00.000 --> 02:03.000
We can't guarantee any sort of experience.

02:03.000 --> 02:04.000
We're volunteers.

02:04.000 --> 02:10.000
It's very difficult to vet people whether students and we're all volunteers and no one's being paid.

02:10.000 --> 02:11.000
But we're still all.

02:11.000 --> 02:15.000
The maximum tenure is four years and that's why we have a four year bus.

02:15.000 --> 02:17.000
So how did we handle this?

02:17.000 --> 02:19.000
We've split this into three solutions.

02:20.000 --> 02:24.000
First of all, systems and administration is a practical concept.

02:24.000 --> 02:26.000
So why not teach practically?

02:26.000 --> 02:31.000
We've a flight of 11 practical challenges starting from how to create a VM and run a Docker container.

02:31.000 --> 02:36.000
And culminating in here are five Raspberry Pi's put together proxmox cluster.

02:36.000 --> 02:38.000
Make it highly available and make it resilient.

02:38.000 --> 02:39.000
I will come back in a few hours.

02:39.000 --> 02:41.000
I'm going to start unplugging things.

02:41.000 --> 02:43.000
Let's see how resilient your work is.

02:44.000 --> 02:47.000
Secondly, documentation, everyone hears about this and work,

02:47.000 --> 02:52.000
but documentation is the core of everything that you do.

02:52.000 --> 02:53.000
Information will be lost.

02:53.000 --> 02:55.000
I'm sure this stuff that I've forgotten to write down.

02:55.000 --> 02:57.000
That's going to disappear when I graduate.

02:57.000 --> 03:01.000
Everyone has a timer, but at least for CS++, we know ours.

03:01.000 --> 03:03.000
It's four years or less.

03:03.000 --> 03:05.000
People will leave.

03:05.000 --> 03:07.000
We have people on arasmus right now.

03:07.000 --> 03:11.000
We have people in systems administration who are on their internships.

03:11.000 --> 03:14.000
People have lives that they have to go to.

03:14.000 --> 03:19.000
As volunteers, we have to recognize that people's lives and people's academic work

03:19.000 --> 03:24.000
is ahead of everything else that they do.

03:24.000 --> 03:28.000
Our docs are open-source, not just to show everyone what we're doing,

03:28.000 --> 03:33.000
but because if all of us get hit by a bus, there's three of the siblings here right now.

03:33.000 --> 03:36.000
Hopefully in a few years of the society comes back.

03:36.000 --> 03:40.000
We can have students come along and read documentation to recover

03:40.000 --> 03:43.000
and bring us back to a state where we were earlier.

03:43.000 --> 03:46.000
Record keeping is your highest priority because no one is

03:46.000 --> 03:50.000
infallible to leaving or changing jobs or something worse

03:50.000 --> 03:52.000
that I don't want to talk about.

03:52.000 --> 03:55.000
Your documents should have layers.

03:55.000 --> 03:58.000
Docs are what I like to call the Holy Runbook.

03:58.000 --> 04:04.000
We need to teach everything when you need to teach it.

04:04.000 --> 04:07.000
You need to test your docs when you're onboarding someone

04:07.000 --> 04:09.000
and fix the issues they run into.

04:09.000 --> 04:12.000
When you're onboarding someone, you need to make sure that everything they know

04:12.000 --> 04:15.000
but forgot to write down is written down.

04:15.000 --> 04:18.000
Let's look at how C.S.Possible Supporters Are Docs.

04:18.000 --> 04:23.000
So, we have a fully functional infrastructure more or less.

04:23.000 --> 04:27.000
So, you can't have automation without services and you can't have services

04:27.000 --> 04:30.000
without an operating system and you can't have an operating system

04:30.000 --> 04:32.000
without hardware and networking.

04:32.000 --> 04:34.000
So, we teach bottom-up.

04:34.000 --> 04:36.000
We start with layer zero.

04:36.000 --> 04:37.000
What is a computer?

04:37.000 --> 04:38.000
What is a server?

04:38.000 --> 04:40.000
How do you spec a server?

04:40.000 --> 04:42.000
What is networking equipment?

04:42.000 --> 04:43.000
How are these connected?

04:43.000 --> 04:44.000
What is SPF?

04:44.000 --> 04:46.000
What is RJ45?

04:46.000 --> 04:48.000
We have to assume they know nothing.

04:48.000 --> 04:50.000
Then, what is proxmox?

04:50.000 --> 04:51.000
What is Debian?

04:51.000 --> 04:52.000
What is Linux?

04:52.000 --> 04:53.000
What is Windows?

04:53.000 --> 04:54.000
Why are these important?

04:54.000 --> 04:56.000
How do you do network attach storage?

04:56.000 --> 04:58.000
Then, what are we running?

04:58.000 --> 04:59.000
Who are we running for?

04:59.000 --> 05:03.000
What are those crazy quirks that our password manager has?

05:03.000 --> 05:05.000
All of this has to be covered.

05:05.000 --> 05:09.000
And finally, you can make their lives easier by teaching them how do you automate.

05:09.000 --> 05:15.000
So, you don't have to be in that terrible concrete basement from nine to five.

05:15.000 --> 05:19.000
Our third solution is ownership and I've gone way too fast.

05:19.000 --> 05:21.000
But that's okay.

05:21.000 --> 05:23.000
We are volunteers.

05:23.000 --> 05:24.000
We will disappear.

05:24.000 --> 05:25.000
We will reappear.

05:25.000 --> 05:29.000
So, the aim is let's specialize with a few people that we have.

05:29.000 --> 05:32.000
We have an ownership table on our documentation site.

05:32.000 --> 05:38.000
This covers all of the services and all of the overall concepts that are involved in our line of work.

05:38.000 --> 05:43.000
So, we delegate, which is the best thing that a student society can do.

05:43.000 --> 05:45.000
When I started, it was just me.

05:45.000 --> 05:50.000
I was the owner of about 20 services and the hardware and the security and the architecture.

05:50.000 --> 05:52.000
So, we delegate.

05:52.000 --> 05:56.000
We now have systems running about on average two to three services.

05:56.000 --> 06:00.000
And now all I have to worry about is the security and overall systems architecture.

06:00.000 --> 06:03.000
The owners aren't the ones doing all of the work.

06:03.000 --> 06:07.000
And if you apply the concept of ownership, this is so important to hammer home.

06:07.000 --> 06:12.000
People are afraid to take on responsibility if they think they're the one going to be doing all the work.

06:12.000 --> 06:16.000
These owners should be the experts in their field, not just workmules.

06:16.000 --> 06:19.000
You want to ask them for their opinion.

06:19.000 --> 06:23.000
They should be the one going, oh, hey, Ruan, you have a few minutes.

06:23.000 --> 06:25.000
The pastor manager is down right now.

06:25.000 --> 06:27.000
I think it's this and this.

06:27.000 --> 06:28.000
Can you go check it out?

06:28.000 --> 06:30.000
Here's the docs on the site.

06:30.000 --> 06:34.000
They are the one we should go to when an issue is coming along because they will the one.

06:34.000 --> 06:36.000
They will be the person who will do the triage.

06:36.000 --> 06:41.000
Who will give us the update and will have the information to empower us to do the work.

06:41.000 --> 06:46.000
And this makes things more or less felt tolerant because I get, as I get busy with my thesis,

06:46.000 --> 06:50.000
I'm able to delegate away the tasks hand over the things that I know.

06:50.000 --> 06:54.000
So we have a new owner when things change.

06:54.000 --> 06:56.000
This makes it very easy for us.

06:56.000 --> 06:58.000
We have a four year revolving door.

06:58.000 --> 07:02.000
Maybe less people can join and have joined in their second and third years.

07:02.000 --> 07:06.000
That's very little time to teach them on a pretty complicated stack.

07:06.000 --> 07:10.000
So with that, why should you care?

07:10.000 --> 07:13.000
There are a lot of people from the Computer Science Society here, obviously.

07:13.000 --> 07:20.000
But for those in other volunteering groups or technical groups or maybe even a real job, I don't know what that is yet.

07:20.000 --> 07:25.000
What can you learn from what we're doing here as a volunteering organization?

07:25.000 --> 07:30.000
You need to be ready to hand things away in case you go somewhere else that you might like more.

07:30.000 --> 07:33.000
But you also need to be ready to receive things from other people.

07:33.000 --> 07:36.000
A working environment is a cooperative environment.

07:36.000 --> 07:41.000
And while hierarchies are great, you're all working together towards the same goal.

07:41.000 --> 07:45.000
And you need to be able to support each other if they need just a little break.

07:45.000 --> 07:51.000
Humans learn by doing fussed-em, the programming systems administration is inherently practical.

07:51.000 --> 07:54.000
So try and make your onboarding as practical as possible.

07:54.000 --> 08:03.000
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.

08:03.000 --> 08:05.000
There is no hive mind.

08:05.000 --> 08:08.000
I have thought I've said a lot of things.

08:08.000 --> 08:11.000
I've just said them in my mind and I haven't properly handed them over.

08:11.000 --> 08:20.000
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.

08:20.000 --> 08:22.000
And there's no documentation to back you up.

08:22.000 --> 08:24.000
You're in a bit of a bind.

08:24.000 --> 08:28.000
And in my opinion, at least I think democracy rules.

08:28.000 --> 08:33.000
Let's flatten the hierarchy, listen to each other, and most importantly, trust each other.

08:33.000 --> 08:36.000
With ownership, you can trust that person kind of knows what they're doing.

08:36.000 --> 08:40.000
And even then, you can vote on what you probably think the best idea is.

08:40.000 --> 08:44.000
That might work slightly better in a student-led society as opposed to a real workplace.

08:44.000 --> 08:47.000
But nonetheless, you should trust your colleagues.

08:47.000 --> 08:52.000
So the most important part, and I'm finishing with so much extra time.

08:52.000 --> 08:55.000
There is one thing that you should never forget.

08:55.000 --> 09:01.000
To the day, I joined CS++, exactly 1,200 days ago.

09:01.000 --> 09:11.000
This talk has been the culmination of those 1,200 days because I only have 150 days left before I graduate.

09:11.000 --> 09:12.000
And I'm gone.

09:12.000 --> 09:13.000
So I have to write down all of this.

09:13.000 --> 09:18.000
I have to hand over everything that I think I know and everything they should know.

09:18.000 --> 09:25.000
Because we all have a clock and can your project survive yours running out.

09:25.000 --> 09:27.000
That's it for me.

09:27.000 --> 09:29.000
I would love to talk if you have any questions.

09:29.000 --> 09:32.000
I have been thinking about this for 12, 100 days.

09:32.000 --> 09:35.000
And if you'd love to reach out to the computer science society,

09:35.000 --> 09:37.000
I would love to hear from you.

09:37.000 --> 09:39.000
So thank you all very much for coming out so early.

09:50.000 --> 09:52.000
I have time for questions. This is great.

09:52.000 --> 09:55.000
No pressure if not, that's totally fine.

09:55.000 --> 09:56.000
Does anyone have any questions?

09:58.000 --> 09:59.000
Oh, a mic.

09:59.000 --> 10:01.000
I can give you this mic and I can hold the other one.

10:01.000 --> 10:02.000
Oh, yeah.

10:05.000 --> 10:07.000
I mean, it is 920. Oh, hello.

10:27.000 --> 10:39.000
So the question was about if we're doing more than just teaching systems administration.

10:39.000 --> 10:43.000
So I have this pretty much just to the operations of the society.

10:43.000 --> 10:48.000
But as a technical society, a great thing to do is our university doesn't

10:48.000 --> 10:52.000
comprehensively cover Git, which is pretty much our only standard in this industry.

10:52.000 --> 10:54.000
So the first thing that we try and do is teach Git.

10:54.000 --> 10:59.000
We're also teaching other technologies like Docker and everything else that people may use for

10:59.000 --> 11:03.000
home labs or programming languages or approach to programming.

11:03.000 --> 11:07.000
The people might not know because the more knowledge they will be able to get is something they

11:07.000 --> 11:10.000
can apply in their own personal work and in the workforce.

11:10.000 --> 11:15.000
Are you part of that group or are you sort of academic staff supporting them?

11:24.000 --> 11:37.000
So you have permanent staff as well as sort of a revolving door of students.

11:37.000 --> 11:39.000
And this is a really unique approach.

11:39.000 --> 11:46.000
If you are in a situation like this, you can do that.

11:46.000 --> 11:50.000
So you have permanent staff as well as sort of a revolving door of students.

11:50.000 --> 11:52.000
And this is a really unique approach.

11:52.000 --> 11:56.000
If you are in a situation like this, especially those in universities.

11:56.000 --> 12:00.000
Anyone in a permanent position like that should help support those groups of, let's

12:00.000 --> 12:02.000
call them transient members, right?

12:02.000 --> 12:06.000
They will appear and disappear with helping them think about this sort of hand over and

12:06.000 --> 12:08.000
these other concepts.

12:08.000 --> 12:13.000
Because if you are the cornerstone of any sort of organization,

12:13.000 --> 12:17.000
your concept should be how will other people hand over,

12:17.000 --> 12:19.000
especially if you are in it for the long run.

12:20.000 --> 12:24.000
Anything else?

12:24.000 --> 12:29.000
Hello.

12:29.000 --> 12:38.000
Heck yeah.

12:38.000 --> 12:43.000
So the question was how do you sort of get people involved in a volunteering group,

12:43.000 --> 12:44.000
especially in university?

12:44.000 --> 12:46.000
That is a really hard issue.

12:47.000 --> 12:50.000
And this is really suffered since the pandemic.

12:50.000 --> 12:54.000
Obviously student life in a university context has really gone down.

12:54.000 --> 12:55.000
And engagement has gotten worse.

12:55.000 --> 12:59.000
And the core concept of this is because people are much more sprawled away.

12:59.000 --> 13:02.000
My community university is up to one and a half hours each way.

13:02.000 --> 13:04.000
So I get very tired when I go home.

13:04.000 --> 13:07.000
And a lot of people don't want to stay out when they would rather go home.

13:07.000 --> 13:08.000
Go work on their assignments.

13:08.000 --> 13:11.000
The engagement is mostly by being there.

13:11.000 --> 13:19.000
I want to actively approaching people and actively engaging and giving things they would want.

13:19.000 --> 13:22.000
A lot of people will get there in to a volunteering group,

13:22.000 --> 13:24.000
especially in university by going to events.

13:24.000 --> 13:28.000
So if you go to events and do what we do and get that little niche that they need,

13:28.000 --> 13:31.000
that they aren't getting, you're going to get people there.

13:31.000 --> 13:32.000
They'll know your name.

13:32.000 --> 13:34.000
They'll know what you do.

13:34.000 --> 13:37.000
And then after that, I love saying, hey, we have some positions open.

13:37.000 --> 13:39.000
So we have two sets of positions opening.

13:39.000 --> 13:40.000
One, two events so far.

13:40.000 --> 13:42.000
I keep on mentioning it after every single one.

13:42.000 --> 13:44.000
And after that, you will get people engaged.

13:44.000 --> 13:48.000
The majority of people who get engaged are those who actually really want it.

13:48.000 --> 13:52.000
And that's a really unique position because when there's no money,

13:52.000 --> 13:55.000
people are just doing it for the love of the game.

13:55.000 --> 14:01.000
So be there, be present, be vocal, and give them exactly what they want.

14:01.000 --> 14:05.000
It's never too bad to ask, hey, is there something that you would like us to do?

14:05.000 --> 14:07.000
Or hey, can we support you in our inner endeavors?

14:07.000 --> 14:12.000
We sometimes support our members with purchasing equipment to do some systems of

14:12.000 --> 14:14.000
administration, or do some homework, etc.

14:14.000 --> 14:17.000
And that will, hey, I'd love to give back and support these people.

14:17.000 --> 14:19.000
Thank you so much.

14:19.000 --> 14:22.000
Anything else?

14:22.000 --> 14:24.000
I think it's good.

14:24.000 --> 14:26.000
Thank you all so much.

14:26.000 --> 14:29.000
Thank you, Ron, for presentation.

