1 of 46

MobX the journey

the good parts, the bad parts

@mweststrate - michel.codes - React-Finland - 25-4-2019

2 of 46

React Europe, 2015

3 of 46

4 of 46

5 of 46

6 of 46

Open Source

The good parts

The bad parts

OSS for life!

7 of 46

class ArrowView extends Component {� render() {� const {from, to} = this.props.arrow;� const [x1, y1, x2, y2] = [� from.x + from.width / 2,� from.y + 30,� to.x + to.width / 2,� to.y + 30� ];� return <path className="arrow"d={`M${x1} ${y1} L${x2} ${y2}`}� />;� }�}

@observer

boxes

box props ?!

that's all

8 of 46

Derivation tree

9 of 46

nobody cares

how smart the solution is

10 of 46

Reactive Conf 2015

11 of 46

the OSS project dead zone

Nobody takes a serious look

Nobody cares how smart your solution is

No critical mass yet, devs don’t like to gamble

12 of 46

if you can’t sell the lib….

sell the problem

13 of 46

14 of 46

15 of 46

16 of 46

Anything that can be derived from the application state, should be derived. Automatically.

17 of 46

getting out of the OSS dead zone

What problem are you solving?

What makes your approach unique?

Testimonials!

18 of 46

OSS - the good parts

19 of 46

learning 🎓

20 of 46

happy users! 😍

21 of 46

core contributors 👏

22 of 46

beautiful confs & awesome ppl

23 of 46

vid tutorials - workshops - book

24 of 46

always keep learning

comfortzone

you

25 of 46

always keep learning

comfortzone

you

26 of 46

getting a raise 🤑

27 of 46

seeing others succeed 🏃‍♀

28 of 46

our industry is unique! 👮‍♂

29 of 46

became independent 😅

30 of 46

OSS - the bad parts

31 of 46

@#$%@#$% JS stack

babel / typescript / legacydecorators maybe not the best idea ever / fields proposal / es2015 / UMD module / broken minifiers / common JS modules / metro bundler / flow types / ESM modules / treeshaking webpack or maybe not / internet explorer anyone / proxies / or not / es5 polyfills / meteor bundler wtf / custom bundler please change your project wtf wtf / optional deps / bundlephobia not like / peer deps / peer deps / did i mention peer deps yet? or decorators?

32 of 46

no SLA is the worst SLA

33 of 46

OSS has no holidays

34 of 46

not yet another package... 😩

35 of 46

36 of 46

...as quoted by colleague...

“When you're awake at night, rather than spending the rest of the night watching the rooftop and being frustrated, it's better to do something productive”

-Michel, when asked on how he can maintain a popular open source project while having two kids

37 of 46

popularity

happiness

38 of 46

the OSS trap

don’t want to let thousands of users down

don’t want to let family down

who makes up for the difference?

39 of 46

a new feature

or

a new gig?

🤔

40 of 46

an awesome job

or an

awesome project

🤔

41 of 46

paint the door

or

review a PR

🤔

42 of 46

“above all else, guard your heart,

for everything you do flows from it”

Proverbs 4: 23

43 of 46

living life is the most impactful OSS project you will ever have

44 of 46

free work needs to be

passion driven

45 of 46

Conclusion

  1. I’m extremely grateful for all contributors & sponsors
  2. We live in a privileged, unique industry, filled with opportunity
  3. Messaging is crucial for any project to succeed
  4. When filing issues, remember: you are asking for free help on something you are being paid for!
  5. Obtain sponsoring for projects from your managers!
  6. Contribute to OSS. It will advance your career
  7. Guard your heart and live a balanced life

46 of 46

don’t just develop software

develop you.

@mweststrate

comfortzone

you