2018 in Review

Donations Make us online

Whether you’ve had a great 2018 or not, I think it’s important to look back and
reflect on your accomplishments for the year. You’ve probably done more than you
think you have. In this post, I’m going to share with you some of my
professional (and unprofessional) accomplishments of which I’m particularly
proud and give a few hints as to what I’m planning for 2019 (which is actually
mostly a secret and surprise 😃).

Note: I don’t want to bother with trying to sort these in any particular
order, so… they’re not in any particular order…

This year I
created
and
introduced React Testing Library.
It has grown a lot since
then. The spectrum community has
over 300 members now.
We’ve really
had
a
whole
lot
of
love
like,
a
lot
of
sweet
tweets
of
appreciation
(Dan even called it “not bad”).
Shout out to
Ryan Florence for the name
and Michał Pierzchała
for making
react-native-testing-library.

I’m super proud of what we’ve accomplished here. The
React Testing Library all contributors table
lists 63 awesome people, and the
DOM Testing Library all contributors table
lists 46 (many repeats, but not all). These people are amazing and I really
appreciate what they’ve done. I don’t want to leave anyone out, but I would like
to give a special shout out to these folks: Giorgio,
Alex Krolick,
Ivan Babak,
Ernesto García, and
Łukasz Gandecki.

Creating this open source software and the community of awesome people that has
been built around it is probably one of my finest accomplishments of 2019. If
you’d like to hear more about how this software came to be, you can watch
S05E12 Modern Web Podcast – Testing or listen to
RRU 043: Testing React Apps Without Testing Implementation Details with Kent C. Dodds.

Of all non-professional things I’ve done this year, I’m most proud of this one.
If you didn’t know, I wrote a 50,000 word novel in the month of November for
NaNoWriMo. This was the first year I tried and I WON!

Back in August, I decided I wanted to become better at storytelling because my
kids are always asking me to tell them stories and I wasn’t very good at it.
Something reminded me of my friend in college who had written a novel in one
month for NaNoWriMo. I had been listening to a LOT of
Brandon Sanderson recently (more on this later)
and decided to try writing my own Sanderson-style fantasy novel.

I spent the next few months preparing. I listened to
the entire story grid podcast, four seasons
of the writing excuses podcast (they have a lot of
seasons), I talked through the story, characters, magic, and more with my wife
and she gave me some brilliant ideas, I made
an in depth outline and took notes
(workflowy is awesome by the way),
and helped inspire the creation of DevsWhoWrite discord
where I joined several other awesome devs who… well… write 😉 (feel free to
join us!).

The end result is Shurlan. I’m super proud of it and
still working on editing to prepare it for publication! Here’s a little summary:

The Immortal family has ruled Shurlan for thousands of years. Thanks to their
wisdom, the perfect society has been formed and peace and plenty graces
Shurlan. But when the food allotments start to dwindle, a rebellion begins,
and only those with secret magic abilities can stop them.

Kyana, an extremely skilled gravity displacer (known as a drifter) is chosen
by Lord Talmar of the Immortal family to do the impossible task of recruiting
non-displacers and training them to learn a displacement skill. They need to
find and stop the rebellion before they steal the harvest and their families
starve.

This is a hard fantasy novel. That
means that the magic system and world are intended to be rational and knowable
(it’s also really cool). It’s also
juvenile fantasy, which means
it’s an enjoyable read for adults and kids alike (think Harry Potter).

What I think makes this book special is the message I’m trying to communicate,
the world I’ve created, the characters, and the magic system.

I’ve totally immersed myself in this world and the world of writing. I’m
planning on attending writing conferences this year to do some networking and
improving my craft. I’m looking forward to November 2019 when I’ll write book 2
in the Shurlan series. I have the concept for 4 series (3 books each) in this
world. Feeling determined 🙂

This was a HUGE effort by me and the good folks at
egghead.io. It’s the equivalent of 7 full sized egghead.io
courses + 9 podcast episodes. It was a TON of work and people LOVE it. So I’m
really happy with this.

I started this project in August of 2017, but most of the work was done in 2018.
It’s basically a single tool that consolidates a bunch of other tools common to
PayPal projects (both applications and reusable modules published to our
internal npm registry). Think of it like create-react-app’s react-scripts, or
ember-cli, or angular-cli. But it does a lot more than just the build/tests.
Here are all the available scripts as of today:

build
clean
dev
format
gh-pages
lint
pre-commit
release
remark
test
typecheck
validate

It would take another blog post to explain what these all do and how it does
them. But suffice it to say, this was a herculean effort that took most of my
time at work this year.

One huge accomplishment around paypal-scripts was in the last month I decided to
adopt TypeScript (that’s a blog post for another time) and I was heads down
updating all the tools to work with .ts and .tsx files.

What makes this project such a big deal is that it’s very soon to be the basis
of the default template project at PayPal we have called the “sample-app.” Every
new app started at PayPal is basically a fork of this “sample-app.” So because
of the work that I and others have done, every new app at PayPal will be written
in TypeScript, use Jest, React, React Testing Library, emotion, webpack, babel,
prettier, and eslint. And what makes it better is those apps wont have to worry
about keeping those tools up to date saving dozens of developer hours a year PER
PROJECT. I’m really proud of this accomplishment.

(Before you ask, this will not be open sourced, it’s too PayPal specific, but
you might be interested in forking
kcd-scripts).

At the beginning of the year, PayPal decided to make some significant changes to
parts of the experience and that had a big impact on how
PayPal.me was supposed to work. The original implementation
would be hard to upgrade incrementally and the app is pretty simple anyway, so
we decided to do a complete rewrite. We used paypal-scripts for all the tooling
(it was the first major production app to do so) and we were able to get the
tooling side of things done without much configuration or wiring together tools
of any kind (I had to make quite a few adjustments to paypal-scripts though 😅
but it’s good now I promise). That was an awesome experience for paypal-scripts
and I’m really excited to see the experience for everyone else at PayPal as
adoption increases.

Building the app was great. We ended up using
unstated for state management and
we’re pretty happy with it. We used
glamorous (decided that before deciding
to deprecate glamorous, we’ll be moving to emotion eventually). The backend was
GraphQL (huge thanks to Arnab Banik who did
most of the work there). It’s a pretty simple app, so we’re not using Apollo or
anything, just
graphql-request and that
worked well for our needs.

Anyway, really happy with how that turned out 🙂

Aside from creating React Testing Library (and DOM Testing Library) this year,
there are a few other accomplishments I had this year/useless numbers in the
realm of Open Source that I’d like to mention. Here are a few numbers:

This was the year I decided to do week-daily livestreams on
my YouTube channel:
Dev Tips with Kent. I’ve got over 100 videos on the
dev tips playlist. Some of them are longer than others, some of them are more
coherent than others, but altogether they represent a great resource for people
to learn things from JavaScript to testing to React to Babel to more and more 🙂

I also have a playlist called
Talks and workshops from Kent C. Dodds
with over 60 videos. More on this later.

Altogether, this year I’ve really been pushing content onto YouTube and
hit over 10k subscribers.
My videos got over 260k views this year (I am of course excluding
my smiley face video
which was stolen and has 3.7
million views now).

I gave a lot of talks this year, you can find all the available recordings on
my YouTube playlist.
I spoke at 7 conferences and several meetups. I was especially proud to deliver
my first keynote
at Chain React which was awesome.

I gave
a similar talk
at React Rally which is my favorite conference and
has been a dream of mine since year one.

I try to avoid traveling to conferences, so most of the conferences I spoke at
were either local or remote. I did travel to San Antonio for
Assert.js and Portland for
Chain React. The only other travel I did
this year was to PayPal offices to give workshops/trainings in San Jose and
Austin, TX.

Here are some other interesting facts/accomplishments from 2018:

I’m really excited about plans I have for 2019. I’m not going to give away all
my surprises, but here are a few things:

  • I’m turning my 3 minutes with Kent podcast into a
    week-daily Q&A. Give it a look, subscribe, and ask your own question on my
    AMA: kcd.im/ama
  • I’m revamping my website using Gatsby and a bunch of
    other cool tools. I’ll definitely blog about it. I’m actually kinda excited
    about it 🙂 I’ll also be moving my blog from Medium to my website with gatsby
    and hopefully automate more parts of this newsletter stuff 🙂
  • Remember TestingJavaScript.com? How would you like something like that for
    learning React? But even bigger? From total beginner to JS to total React
    professional? This is going to be enormous.
  • I avoid traveling as much as possible, but I want to give more workshops this
    year than I gave last year. So I’m going to do online workshops. There are
    a lot of benefits to remote workshops.
    I’ve done it and I know how to make up for the difficulties of not being there
    in person. You’re going to want to take advantage of these!
  • At PayPal, I’m working on a component library. I imagine there are some
    opportunities to open source the generic stuff (HOOKS!)
  • I’m scheduled to speak and give workshops at
    React Amsterdam in April! See you there? I have at
    least one other conference that I’ll probably be speaking at soon as well. I
    expect I’ll be speaking a lot around here in Utah as well.
  • I have about 15 fantasy novels in mind for the Shurlan Universe. I’m
    definitely planning on writing one each year in November and working
    throughout the year to get each published. I’m feeling pretty optimistic and
    motivated about this whole novel writing stuff 🙂

I hope you take the opportunity to look back at your year and see what you’ve
accomplished. Then make some goals to become even better than you are now.

“There is nothing noble in being superior to your fellow man; true nobility is
being superior to your former self.” ― Ernest Hemingway

I wish you the very best and happiest New Year!




Source link

مدونة تقنية تركز على نصائح التدوين ، وتحسين محركات البحث ، ووسائل التواصل الاجتماعي ، وأدوات الهاتف المحمول ، ونصائح الكمبيوتر ، وأدلة إرشادية ونصائح عامة ونصائح