Sonja Heinen - Hobby-oriented programming
0:04 - 0:08Yeah, so my name is Sonja and I only have
0:10 - 0:11(Laughter).
0:12 - 0:15Furthermore I gave this talk before which,
0:15 - 0:19makes this kind of similar from a keynote
from Apple I think
0:19 - 0:22only that I'm presenting an improved
version of my previous talk.
0:22 - 0:26And it's an improved version because
the wonderful people
0:26 - 0:30behind the conference where I gave this
talk before is coding
0:30 - 0:36they sent me feedback afterwards and
generally I respond well to feedback.
0:37 - 0:41So one could say it was mixed so there's a
ten in there, there was a one in there
0:41 - 0:45someone said it was a major surprise,
I think that's a positive thing.
0:46 - 0:51Generic and then chaotic, that's fair,
0:51 - 0:57Life itself is kind of chaotic.
Right now I'm unemployed.
0:58 - 1:02Soon I won't have a place to stay, again.
1:03 - 1:08And over 95 percent matches on okcupid
1:08 - 1:11I've been friends with
before I even set up my profile.
1:11 - 1:17So no wonder my talks resemble chaos in
a way but it will be fine, right?
1:17 - 1:21Because I'm still doing well in regards
to Maslov's hierarchy of needs.
1:23 - 1:29It's a theory of human motivation
1:30 - 1:33and it describes the stages that we
generally move through
1:33 - 1:37when we develop our personality and mind.
1:37 - 1:40So the requirements of every stage
need to be met
1:40 - 1:43in order to move on to the next stage
1:43 - 1:47And by default you know
I don't have to worry about finding food
1:48 - 1:51I have a safe place to sleep
1:51 - 1:55love needs let's assume
I figure that out too.
1:55 - 1:57So there's only one thing left to do.
1:57 - 2:03And that's the constantly recurring critical
reflection of my own life and happiness.
2:03 - 2:07And on that note I would like
to share a moment with you
2:07 - 2:09that's still quite vivid in my memory
2:09 - 2:14and I'll play some background music
for this, hopefully.
2:14 - 2:18And it was in November, 2014, Saturday evening, and 10:00 p.m. or something and I'm sitting on my couch, sipping some sort of liquor, and listening to a recording of the singing comet, I don't have sound, I think, but.
But also, this is the comet.
So but also why am I at home on a Saturday night writing infinite loops crashing my browser.
This is Berlin, shouldn't I be at the kit cat club throwing glitter at people I just met on tinder?
But today's crisis is to understand the motivation and reason for late night hobby oriented program activities.
NesincronizatSo when it comes to code I consider myself an amateur and I would like to know - does anyone consider yourself an amateur?
One? Two? Couple?
Okay, that's cool.
NesincronizatAnd oh, yeah, my background is in graphics design so I had to put in graphics design.
So it's considered a person who loves writing code, right?
So that's the basic definition of it, and it's not attached to -- you know it's attached to particular pursuit study and science and in a non-professional and unpaid manner.
So the definition shines acquired surprising -- surprisingly nice light on the term because amateur is usually connotated with negative associations it describes someone with low capabilities you know no particular depth of skill.
So for that reason it makes sense to place the term expert on the opposite end of the universe.
An expert is a person with extensive knowledge or ability in a particular area of study.
NesincronizatThey are commonly recognized as a reliable source of technique or skill, and their ability is based on a long-term intense experience through like research, practice, occupies.
And both terms suggest particular assumptions about a person's level of skill, which only leaves the question if experts enjoy what they do, too.
So with joy emotions are chaotic let's put them aside for the moment - maybe in the quiet room - while we take a look at the general process of skill exposition.
NesincronizatAnd sucking at something is the first step of becoming good at something and I run into things that I'm bad at, Felix keynote for example, you know, I admit I didn't understand a thing but one day I will.
And these talks are like poetry to me, they're beautiful.
So recently I found odd and particularly bad at aqua piloxing.
It's a mix of Pilates and boxing and the story here is one winter I was just -- yeah, I didn't want to pay money to enter the gym.
So instead of searched for every training session I could find in the city.
And I actually wish there was an app for that so if anyone wants to build that?
It worked out quite well but in the end I didn't stick with any of these sports and I believe it's rather unlikely to pick up a hobby out of the blue.
NesincronizatSo there needs to be a trigger - something that switches on your curiosity your competitive spirit or maybe some good old peer pressure.
And in my case there was my friend Daniel telling me to go to a Rails Girls workshop and a galaxy of similar initiatives directed at various groups of humans.
All of them are fantastic and in fact this is today's the first RustFest which I'm excited about - usually a perfect environment becoming mature because you're joining a crowd of fellow learners and coaches pushes you through that frustration where you reach a point where further learning is possible as a solo activity.
I'm feeling lucky because my friend Daniel not only recommended to go with the workshop but he told me how to code and I'm forever grateful for this for his time and help I want to have that on record.
NesincronizatI had to come up with a project for our sessions and what do you know we built my first online business.
It's a who are scope based on aircraft not star constellations disrupting the future of fortune telling
NesincronizatYou saw that coming right? It finds of closest airport to your location and that's all our team needs to generate a personal air sign.
So right now it's free.
So any I would right on I figured code it enables me to bring my ideas to life.
When do I quit my job and pursue this new found parks at one point is parks am I good at it more importantly how do I know?
The answer like all answers is in the book not that the book but the book which probably needs some explaining but I'll do that by looking at the game checkers.
Checkers is a two player board game each player starts with 12 pieces on his or her side and pieces can only be moved diagonally forward.
So a player tries to take the opponent's pieces out of the game by jumping over them and first player to remove all the opponent's pieces wins.
So I love this image by the way because did you see the floor has a checkers pattern, too?
Any way, so in 1863 so one thing, so the game is an extreme example of a regular environment, but just basic condition for sustainable skill acquisition.
So now professional checkers players they improve their game by studying the moves that other players have made in the past.
They write them down and etch them into their memory.
So in 1863 checkers reached its peak.
It's the championship between James Wyllie and Robert Martins - two notorious players facing off in a series of 40 games.
All 40 end in a draw.
All 40 start with the same three to four moves, 21 of them are the exact duplicate of each other from start to finish.
NesincronizatSo now the situation is only possible because both players were experts with equal skills in the craft they knew the game inside out and probably each other, too.
So both were playing by the book.
So doing something by the book basically means not only strictly follow the rules but also apply perfect technique and that's pretty fine logical way to complete a task.
So what if you know some of us writing code by the book.
There must be a reliable indication of an advanced level of skill.
Only that writing code is not like checkers, it's more like, you know, chess, maybe, because there's no finer boundary to the practice, you know?
It's an ever expanding universe.
Chess is also an example of a regular environment but the number of possible chess games is approximately 10 to the bottom of 120 and that's far more than the number of atoms in the universe.
So now there is more modern chess players also have an extensive constantly growing library of recorded moves at their disposal which they use to study, as well.
So even in chess there are whole sequences in a game that are played from memory and that not from thought but in every game of chess there's a moment that puts the book in its place.
You have a constellation that has never occurred in the universe before.
Both players are on their own.
It's a zero moment.
The novelty, it's a situation that is out of book.
NesincronizatSo when you get to that moment you feel you're alive.
And this might be the right moment to chat about emotions, no?
Remember joy, happiness and fun, over there?
So maybe let's start with an exercise, so one way how humans empathize with other humans is by copying their facial expressions.
So in theory when I smile I should see some of you smiling back at me, you know?
Otherwise it would be frightening.
Maybe it works better if you smile at each other?
That made it awkward.
NesincronizatSo now while smiling you can also trick yourself into feeling better because the muscles in your face basically tell your brain it's happy time.
That's a crude version of the process but that's how it works.
It doesn't solve any problems and it barely is the key to happiness, but what is that, anyway?
NesincronizatAnd I'm glad to present to you today the ultimate definition of happiness.
Which I found in a video by Aleksander Gamme.
It's absolutely gorgeous.
I'll show you a minute of it.
Just to set the scene: It's day 86 of Aleksander's full return from South Pole and he's about to pick up the last cache that he left behind him.
He has no clue what he left behind and doesn't expect very much.
Nesincronizat(Video playing.) OF.
NesincronizatIt goes on for a little bit longer, so I find some other interesting things.
But I want to clarify that that's not the secret to happy life and all.
But maybe that needs some further investigation.
And speaking of investigations, you know sometimes maybe when I get bored or I have a talk to prepare I go in and it's fascinating to see the hobbies that software developers get into when they're not working writing code at work.
The craft of crochet, baking bread, Japanese archery, making soap, cats, of course.
But the greatest hobby of all times the activity that most software developers get into when not writing code at work is writing code at home
NesincronizatOn the weekends.
Ryan, for example, from Ryan I learned that he wrote a chip 8 emulator in Rust.
And from him I learned it was a machine and programming language which was using in the late 70s on some computers as a basic gaming platform and now there's a chip 8 Rust emulator from the game pong which is awesome.
Everybody says they take out extra work for themselves and I learned from Jane mostly from her work reality is BOEK broken that there's almost nothing that makes us happier than good hard work that we choose for ourselves.
L that's a precise definition of how a game works.
So when you look at any game it's usually a combination of four core ingredient.
First there's the goal, it sets the mission and purpose of the activity you're about to engage in, secondly there's rules, they tell you what's allowed and isn't.
Some people see that as an opportunity to break them.
NesincronizatA feedback system is essential to tell players how close they are to achieving these goals and that they are within their capabilities and lastly it's voluntary participation.
Which basically means making sure that everyone involved in the game agrees to the goal, the rules, and the feedback system.
So Aleksander he was playing the game return from the south pole.
If you look at his exhibition in that way the goal was to come back alive and the rules were mostly set by the landscape and weather.
So every cache he picked up was a feedback system and I'm pretty sure he did it on his own devices.
Outburst of extreme happiness is a result of the game or in other words the unnecessary obstacle that he set for himself.
So in a less thrilling scenario I'm sitting on my couch on a Saturday night and playing to code.
And then everything changed, you know.
Last November I start my first job as a front end developer.
From one moment to the other my previous hobby turned into a profession and writing code became a serious business that paid the bills and I had to stop playing and put my unverified knowledge to the test.
As we all know that didn't last.
What still lasts is the experience of programming in the professional environment and my learning curve went straight through the roof.
There's no better set up for a junior than to pair on a program with a seasoned colleague.
So my programming partner said he has never talked that much in his life.
I also had clearly defined learning goals and the prospect to reach another level of skill and this gave me an essential feeling of mastery.
Furthermore I become a part of something bigger, so accomplishing things together, sharing knowledge and making social connections.
It's satisfying, and it gives me an essential feeling of purpose, it's two very powerful concepts mastery and purpose.
NesincronizatThey provide an understanding for kind of fascinating stories behind open source projects.
From the perspective of conventional economics these undertakings are disastrous.
How would one justify spending 20 to 30 hours a week producing sophisticated technological work without any form of reimbursement and after weeks and weeks of dedicated work the final product is released for free.
It's kind of how the linking comma came to me through 12,000 programmers who volunteered their timeline NUKS was a chance to be part of something bigger than them SXEFS connect their individual contribution to collective outcome and being parts that unfold on such great skills you know it's an experience of curiosity, awe and wonder.
NesincronizatWhere does it leave us?
Should we go to an aqua piloxing, contribute to open source projects, get a cat, probably all of the above.
But all I know is that whatever you get up to and there's one skill that I hope you try to practice vigorously and that's the skill of allowing yourself to play and potentially against yourself.
And actually before I wrap up rather soon I would like to confess I haven't touched much code in the last two months.
Which does not mean I didn't build anything but more related to rusty nails and wooden beverages in the forest.
See my excitement on my face?
That's how I feel about today and the upcomings are workshops so unless there's any questions I would say go play.
- Sonja Heinen - Hobby-oriented programming
A hobby can be defined as any regular activity, that someone engages in for enjoyment. Activities range from artistic crafts, playing an instrument, making homemade food and drink to collecting strange items …or experimenting with code. With continuous practice the hobbyist will acquire significant skill and knowledge in a particular field, which allows him or her to apply it in a serious manner.
Hobby-oriented programming not only defines developer types (amateur and professional), but furthermore explores the correlation between a programmer’s happiness and leisure time activities.
For more go to https://rustfest.eu or follow us on Twitter: https://twitter.com/rustfest
- Video Language: