SOSOLOG

2019, A Retrospective on 5 Talks

December 16, 2019

Translated from the Korean original.

image

I gave five talks this year. From my first days starting out as an intern developer to the story of growing into a junior, here’s a look back at what I actually talked about in each one.

Operation: Intern Landing

image1

https://speakerdeck.com/soyoung210/inteonsangryugjagjeon

This is the talk I gave at the GDG Korea WebTech Lightning Talk.

The novelty of finally being “a developer working at a real company” wore off fast, and this talk is about how I clawed my way out of being an intern who knew nothing and could do nothing.

My strategy for learning the mountain of things I ran into at work was documentation I could actually explain to someone else. I learned that sharing through docs does double duty: it organizes what you’ve learned, and it gets you more feedback on it.

That period taught me the learning style that fits me best, and just how much sharing matters.

image1

https://speakerdeck.com/soyoung210/susuggeggiro-sugseongdoen-banana

This one’s from Banksalad’s tech conference, ‘Consalad.’

Past the intern landing, this talk walked through three questions I ran into during my probation period, and how I worked out answers to each.

  1. What makes a good question, and what makes good collaboration?
  2. How is a Project different from a Product?
  3. What is growth? How do you measure it?

1. What makes a good question, and what makes good collaboration?

I started from wondering what good collaboration even looks like, then narrowed that down to “a good question,” and landed on this: a good question is one that’s considerate of whoever has to answer it.

So I settled on a format: lead with the conclusion, then lay out whatever context matters (dev environment, domain, etc.), what I’d already tried, and the error logs I’d run into.

Beyond that, I also shared what I’d worked out about running a well-prepared meeting and communicating clearly.

2. What makes a good question, and what makes good collaboration?

This part covered how I thought through how to treat a Product, once I moved past just working on a Project and became a Product developer.

A Product isn’t something I build alone — it’s something the team builds together — so I laid out what’s needed for sustainable development, documentation included.

3. What makes a good question, and what makes good collaboration?

I wanted to become “a developer who keeps growing,” but the word “growth” felt vague to me, so I shared how I’d been thinking about when you can actually say you’ve grown.

The line about growth that hit me hardest at the time came from Banksalad backend developer Sunghyun Hwang. Growth is building your own perspective on each subject, and finishing that perspective by running into things, over and over.

Clean Architecture in Banksalad

image1

https://speakerdeck.com/soyoung210/clean-architecture-in-banksalad

This is the talk I gave at XXIT TECH TALK.

It covers how I interpreted Clean Architecture, and how I actually implemented it in a web project.

This structure was the first approach we picked for managing a range of financial services. These days each service lives in its own repo, and since that old structure leaned on deep dependency injection that made debugging a pain, we’ve since moved on to building projects with a different structure.

Old House for New House: Restructuring a React Project

image1

https://speakerdeck.com/soyoung210/heonjibjulge-saejibdao-riaegteu-peurojegteu-gujojojeong

This is the talk I gave at FEConf 2019.

It covers how we tore apart our old structure and what we rebuilt in its place.

Here’s what bugged me about the old structure:

The first round of improvements

To fix these pain points, we first rolled out a new structure in CMS. Here’s what that first round improved:

The second round of improvements

The second round cleaned up what the first one missed.

ing…

As I said toward the end of the talk, figuring out a good structure is still very much a work in progress. We’re building it out while weighing things like whether to adopt the newly released redux-toolkit, a cleaner split between business logic and components, test coverage, and more.

We keep the structure itself in a scaffolding Repository, and keep hashing it out with the team.

Despair-Driven Growth: Becoming a Developer People Want to Work With

image1

https://speakerdeck.com/soyoung210/jeolmang-deuribeun-seongjang-hamgge-ilhago-sipeun-gaebaljaga-doegiggaji

This is the talk I gave at ‘Hanbit Dev Ground Junior.’

I shared the four moments of despair I’ve hit since starting as an intern, and what each one taught me.

First

Despair: on my first side project, I got so caught up in the fun of watching screens come together that I wrote code nobody else could collaborate on. Growth: from then on, every line of code I write needs a reason behind it.

Second

Despair: I couldn’t understand anything, and it felt like I’d never write a single line. Hope: I defined what ‘understanding’ actually means. “Understanding means being able to explain it to someone else.”

Third

Despair: what do I actually have to do to keep growing? Hope: after ‘understanding’ comes ‘critiquing.’ Everything can probably be done a better way, and it’s on me to go find it.

This one’s drawn from Simple Software, Chapter 2: The Right Posture.

Fourth

Despair: you can get knowledge just by putting in the hours, but how do you actually get better at writing good code? Hope: stick to two rules.

  1. Reread my own PRs. A second look always turns up something to improve.
  2. Take code review seriously. It exposes you to other ways of solving the same problem, and there’s a lot to learn from a teammate’s code.

Wrapping up

Thanks to some good opportunities, I got to give five talks this year. Learning new things and then organizing what I’d learned to share with other people turned out to feed each other well. Every talk came with a lot of second-guessing and nerves while I prepared it, but looking back now, all that’s left is a sense of pride. 😇

I’m glad to be part of a culture that shares its experience like this, and next year I want to bring even more, and more varied, stories to the table.


SO_YOUNG
👋@SO_YOUNG
📝 A small, casual dev log

GitHubX (Twitter)