We talked to Nik Graf, a freelance web developer passionate about GraphQL and ReasonML, a co-creator of DraftJS Plugins, and an organizer of the very first ReasonConf in Vienna.
Nik Graf is a freelancer living in Vienna, an avid open-source contributor, teacher of several web development courses on egghead.io, and an organizer of ReasonConf, the latest edition of which takes place this October in the US. In this interview with React Advanced, Nik shares his passion for GraphQL and ReasonML and opines on the challenges of organizing web development conferences and meetups. Nik gives a talk and teaches a workshop at React Advanced in London, Oct 24-25.
I wanted to become an industrial designer and study it at the university of applied arts but didn’t finish my application on time. Back then I thought a semester of computer science wouldn’t do any harm. Once I built my first program I was hooked and decided to go with computer science.
I’m a freelancer/consultant helping various teams with a strong focus on React and GraphQL. In addition to that, I organize ReasonConf and co-founded the Reason Association.
Michel Weststrate@mweststrate@nikgraf doesn't avoid the elephant in the room and explains why useContext and hooks are not sufficient to efficiently solve the problem of frequent updates in entity state that is used in many places. "Its not the time yet to jump the state management ship". #reactfinland14:29 PM - 25 Apr 2019
Describe the conferences/meetups you’re organizing. Why did you decide to organize events around React and ReasonML?
I’ve been organizing the ReactVienna meetup for over three years. This was always a lot of fun, and we have a good mix of locals and international speakers. I never wanted to create a React conference as there are already plenty in Europe, but doing the very first Reason conference and getting a lot of great minds to Vienna was intriguing enough to do it.
In the past, I have worked on various software like Belle, DraftJS Plugins, Polished, Serverless, Reason Docs, and many others. Recently I have been focusing more on producing video lessons and spent less time contributing to open-source projects.
What’s behind your passion for ReasonML and OCaml? Why not TypeScript or any other statically typed language?
What I enjoy most when using Reason is that a lot of my code is fully typed without writing any type just by leveraging type inference. It’s less work, but still having all the benefits of full type coverage. That said, I think TypeScript or even Flow is a totally valid choice. Which one is the best option really depends on your team, the requirements, and where you want to go.
I don’t know. I haven’t used Angular in years and never really used Vue beyond a simple example.
For me, it’s just the fact that there are always some unknowns you can’t prepare for, and because everything is happening live with hundreds of people in the room, you have to make good decisions on the spot.
You have produced plenty of video courses on Egghead.io. What do you enjoy about teaching?
To me teaching is one of the best ways to deeply explore a topic. It forces me to really go deep to find the best examples and explanations to transfer the knowledge.
Also in my day-to-day, I enjoy pair programming with less-experienced engineers, because it forces you to constantly explain concepts you already might have taken for granted. And the best part of it is when someone new to the field comes up with a fantastic idea you couldn't even think of.
I enjoy being in the mountains. So every winter I try to do as much skiing as possible.
Nik Graf🚴Climed Großglocknerstraße for the first time with the bicycle, whoop whoop
Großglockner is the highest mountain in Austria and yesterday a bunch of friends and I rode 195km incl. the road leading close to the top20:17 PM - 05 Jul 2019
Are you excited about the upcoming conference in London? What are you going to talk about and what are your expectations from the event?
When I'm not about to release something new, I usually struggle to find a topic I'm happy to talk about. My goal is to talk about something most people yet haven't heard or thought of.
For React Advanced I chose to talk about designing GraphQL schemas. GraphQL is becoming quite popular and but there are many gotchas you learn maintaining a GraphQL schema over time.