본문으로 건너뛰기

"독후감" 태그로 연결된 8개 게시물개의 게시물이 있습니다.

모든 태그 보기

소스 코드: 더 비기닝

· 약 3분
Sewon Kim
테크니컬 라이터 @Neurocle

한국의 IT 업계 사람들, 특히 개발자들은 매년, 매 분기, 심하면 매달, 매주 회고를 하는 문화가 있다. 나도 회고를 꽤 좋아하는 편이라 IT계의 거장인 빌 게이츠가 회고록을 책으로 냈다고 했을 때, 빌 게이츠가 생각한 스스로의 인생 평가가 매우 궁금했다. 마이크로소프트의 열혈 팬도 아니고, 빌 게이츠를 좋아하는 마음도 없었는데도 500페이지에 달하는 회고록은 정말 재미있었다. (빌 게이츠는 개발도 잘하고, 사업도 잘하고, 돈도 많고, 글도 잘 써…)

싹수가 남다른 트레이

*트레이는 게이츠 가족에서 빌 게이츠의 애칭이다.

카드 게임을 통해 나는 아무리 복잡하고 불가사의해 보이는 무엇이라도 결국에는 알아낼 수 있는 경우가 많다는 사실을 배웠다. 세상은 이해할 수 있는 대상이었다.

책은 할머니 댁에서 카드 게임을 하는 빌의 이야기로 시작한다. 가족에 대한 이야기를 정말 세세하게 썼는데, 본인의 유년기와 청년기를 정말 잘 회고한 것 같다. 그의 어린 시절을 이해하고 나니 빌 게이츠라는 사람을 '세계 1위 부자'에서 좀 더 입체적으로 바라볼 수 있었다.



그 나이의 아이들은 부모와 선생님이 모든 답을 알고 있으리라 기대한다. 나는 점차 부모님과 선생님이 그렇지 않다고, 적어도 나를 만족시킬 만한 답을 주지는 못한다고 느꼈다.

그리고 빌 게이츠는 정말 똑똑했다. 아주 어린 시절부터 지식에 대한 확신 수준이 남다르다고 생각했다. 나는 아직도 나 자신에게서 나온 답을 믿기보다는 늘 나보다 성숙한 누군가의 답을 기대하는데 고작 9살의 나이에 저런 수준의 자기 확신이 가능한걸까? 신기했다. 그가 수학을 좋아한 이유도 '수학을 통해 다른 학문을 익히는 법을 깨달을 수 있어서'라고 했는데, 수포자 출신으로서 그 표현 자체가 신선했다. 수학을 배움의 치트키로 써먹었다는 그의 경험담을 들으니 수학을 잘하고 싶다는 마음이 뒤늦게야 뿜뿜했다.

함께 자라기

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

경상도 사투리로 '어느 정도 높이까지 올라가는 거예요?'를 말하는 밈이 있다. 난 성장에 대해 생각할 때 항상 이 밈을 떠올린다. 어느 정도 높이까지 올라가야 되는 걸까? 2024년은 성장 속도와 방향성에 대해서 고민이 많았던 한 해였는데 【함께 자라기】는 그런 고민이 있는 사람들에게 일종의 가이드가 되어 줄 수 있는 책인 것 같다.

노트
  • 경력이 많다고 해서 성장한 것이 아니며, 더 중요한 것은 학습하는 것
  • 학습을 잘하는 방법은 의도적 수련과 사회적 활동
  • 같이 학습해야 제대로 학습할 수 있다.

책에서 말하고자 하는 큰 맥락은 위 세 문장이라고 생각한다. 전하고자 하는 메시지와 글의 순서나 구조가 너무 잘 짜여있어서 많은 문장들이 마음에 와닿았다. 책의 제목은 함께 > 자라기이지만 목차 순서는 자라기 > 함께 인 것도 다 설계된...!

코드만 잘 짜서는 안된다

책에 반복적으로 나오는 이야기가 있다.

예전에는 소프트웨어 개발 전문성과 사회성은 별개로 치부되어 "프로그래밍 실력은 좋은데 의사소통 능력은 부족하다"든가 하는 이야기를 했다면, 이제는 프로그래밍을 잘한다는 정의 안에 의사소통 능력을 그 일부로 보게 된 겁니다.

전통적으로 컴공, 개발자의 이미지는 GEEK 한 느낌이 있었던 것 같다. 검정 뿔테 안경에 거북목과 사회성 부족으로 사람보다 컴퓨터와의 대화가 더 편한 이미지...? 아직까지도 그런 편견이 박혀 있고, 종종 농담거리로 사용되는 걸 보면 기술적 성장과 사회성을 별개로 생각하는 사람이 아직도 많은 것 같다.

개발자 === 컴퓨터 ?

개발자 === 컴퓨터 ?

번역을 잘하려면 외국어뿐만 아니라 모국어도, 아니 모국어를 훨씬 더 잘해야 한다. 개발자는 사람과 컴퓨터 사이의 번역가인데 왜 컴퓨터처럼 커뮤니케이션하는 걸 자랑스럽게 여기는 걸까? 아보카도 있으면 (아보카도를) 6개 사 오라는 말을, 그 맥락을 이해하지 못하는 사람에게 성장을 기대할 수 있을까? 생각해 보니 왜 저자가 프로그래밍 능력에 의사소통을 포함했는지 이해가 되었다.

리눅스 입문 with 우분투

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

얼마전 읽은 책 『코드와 살아가기』는 1978년부터 20년이 넘도록 소프트웨어 엔지니어 및 컨설턴트로 일한 엘런 울먼의 에세이이다. 책에는 작가가 컴퓨터에 기본으로 설치된 윈도우를 삭제하고, 리눅스를 설치하는 부분이 있다. 리눅스를 설치하며 윈도우 운영체제가 얼마나 사용자의 자유를 제한하고 있는지 느끼는 부분을 보며 그동안 컴공 필수 과목으로만 생각해왔던 '운영체제'에 대해서 다시 생각해보게 되었다.

나는 태어나서 처음 접한 운영체제가 윈도우였고, 거의 20년이 넘는 시간동안 컴퓨터에 대한 지식 없이 사용해오면서 컴퓨터 === 윈도우라고 생각해왔다. 그런데 소프트웨어 개발자로 일하게 되면서 고객사에서 윈도우, 맥 뿐만 아니라 다양한 환경에서 컴퓨터를 활용하는 것을 보면서 리눅스에 대해 관심을 갖게 되었다. 그러던 차에 길벗 출판사에서 글또 10기 멤버를 대상으로 책을 지원해주는 이벤트에 당첨되어 리눅스 입문서를 읽어보게 되었다.

 

글또에서 책 읽기

글또는 글쓰기 모임이지만 '책 읽기'와 궁합이 잘 맞는다고 생각한다. 읽는 것을 좋아하는 사람들이 보통 쓰는 것도 좋아하기 때문이다. (나 또한 읽는 것을 좋아하는 만큼 쓰는 것도 좋아한다.)

이번에는 글또 덕분에 550여 페이지에 달하는 두꺼운 책을 한달에 걸쳐 완독할 수 있었다. '책읽었또'에서 매일 읽은 책을 인증하는 방식이 두꺼운 책을 꾸준히 읽을 수 있게 하는데 도움이 되었다.

책읽었또란?

책읽는 습관이 몸에 배도록 하루도 빼먹지 않는 것을 목표로하는 독서 소모임
매일 10장(20페이지)의 책을 읽고, 그 안에서 한 문장을 공유하는 방식으로 진행

덕분에 즐겁게 읽을 수 있었다

덕분에 즐겁게 읽을 수 있었다

백세코딩

· 약 2분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

나는 어떻게 개발자가 되었나?

프롤로그를 읽고, 내가 어떻게 개발자가 되었는지 다시 생각해보았습니다. 저자는 거의 모든 IT의 역사에서 언급됐던 것처럼 PC가 막 보급되던 때, 우연히 컴퓨터를 접하게 되고 컴퓨터와 사랑에 빠져 청계천과 용산 전자상가를 누비며 개발자의 꿈을 키워온... 전형적인 중년의 개발자 스토리의 주인공이었습니다. 개발이 3D 업종으로 취급받던 때에도, 지금처럼 각광받던 때에도 환경에 휩쓸리지 않고 컴퓨터를 사랑하는 마음으로 '지속가능한 개발 라이프'를 꿈꾸며 살아가고 계시는 모습을 보면서 '나는 사실 프로그래밍에 대해서 이 정도의 추억, 낭만, 열정 같은 건 없는데... 계속 해도 되는 걸까?' 라는 생각이 들었습니다.

저는 사실 컴퓨터엔 관심이 없었습니다. 꿈은 없고, 그냥 놀고 싶지도 않고, 어떻게 살아가야 할 지 몰랐던 때에 배우고 있었던 게 웹 프로그래밍이었습니다. 마침 취업 시장에서 개발자 대우가 좋아지고 있었고, 많은 사람들이 IT 업계로 뛰어들고 있었던 때였습니다. 그래서 저도 그냥 따라가기 시작했습니다. 그렇게 개발자가 되었습니다. 아직도 마음깊이 원하는, 나와 딱 맞는 직업이라고는 확신할 수 없어서 개발자로 몇 십년을 살아온 저자의 이야기를 재미있게 읽었습니다.

거의 모든 IT의 역사

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

역사를 잊은 개발자에게 미래는 없다

약 480여쪽에 이르는 이 책을 읽고 나면 역사를 잊은 개발자에게 미래는 없다. 라는 말이 있을 법도 하다고 느껴집니다. 1955년 스티브 잡스와 빌 게이츠의 탄생으로 IT의 역사는 시작되는데요. 애플과 마이크로소프트를 중심으로 현재의 IT 산업이 어떻게 발전해왔는지, 그리고 부록으로 한중일의 IT 역사도 함께 살펴볼 수 있습니다.

나의 작고 소중한 IT 역사

한컴타자연습

제가 컴퓨터를 다뤘던 첫 기억은 windows97 한컴타자연습 이었습니다. 8살 쯤 다음 아이디를 처음 만들어 가족들과 이메일을 주고받던 시절을 지나 windows10, 스마트폰을 사용하는 시기에 이르기까지 컴퓨터를 숨쉬듯이 사용하던 삶에 비해 역사에는 정말 관심이 없었던 것 같습니다. IT 업계에 뛰어들고 나서도 2년동안은 그저 눈 앞의 기술을 익히는 것에만 급급했던 것 같아요. 이제 단순 기술 트렌드를 쫓아가기보다는 어떤 기술이 어떤 맥락에서 탄생했고, 어떤 문제를 해결하는지에 대한 통찰력을 기르고 싶었는데 이 책을 읽으면서 그런 부분을 많이 채워나갈 수 있었습니다.

웹 브라우저

세계 최초의 웹 브라우저와 웹 서버가 스티브잡스가 설립한 넥스트라는 회사라는 것에 놀랐는데요. 어떻게 보면 제가 지금 먹고 살 수 있게 된 것이 스티브 잡스 덕분이라고도 볼 수 있는데 그런 사실을 까맣게 모르고 있었다니 조금 충격적이었습니다. 시간이 나면 웹 브라우저의 역사에 대해서도 한 번 살펴보고 싶었습니다.

이 외에도 오픈소스의 탄생과 발전에 관한 부분도 재미있었습니다. 대학생 때, 과제로 오픈소스 관련 레포트를 몇 장 제출했을 때에도 오픈소스 정신에 대해서, 이게 레포트를 써야할 만큼 중요한 정신인지 이해하지 못했었는데 이제야 마음으로 이해하게 되었어요! IT에 대한 맥락이 부족해서 이해하지 못했던 것 같은데 흐름을 안다는 것이 얼마나 중요한 지 이제야 알게 되었습니다. 웹 개발, 앱 개발을 막론하고 IT 업계에 종사하고 있다면 흥미롭게 읽을 수 있을 것 같고, 이제는 일상에서 인터넷과 컴퓨터를 떼 놓을 수 없으니 종사자가 아니더라도 재미있게 읽을 수 있을 것 같습니다.

리팩터링 2판

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

리팩터링 2판. : 코드 구조를 체계적으로 개선하여 효율적인 리팩터링 구현하기

약 500장의 두꺼운 기술서적을 3개월의 시간을 투자해 1회독 했습니다. 개발자 필독서라고 하면 빠지지 않고 올라오는 도서라 도대체 무슨 내용이기에 다들 입을 모아 좋다고 하는지 궁금했거든요. 다행히도 리팩터링 2판은 예시가 JS로 쓰여있어서 더 읽을만 했던 것 같습니다. JAVA로 쓰여있었던 클린코드(로버트 C. 마틴의 책)는 나중엔 조금 휘뚜루 마뚜루 읽어내려갔던 경험이 있었는데 리팩터링은 코드를 꼼꼼히 살펴보며 읽을 수 있었습니다.

그래서 이 책을 읽고 뭔가 달라졌나요?

사실 왕초보 개발자 시절부터 '리팩터링'이라는 말은 자주 써왔었습니다. 그렇지만 지금까지 시니어와 함께 일해본 경험이 없어서 내가 하고 있는 것이 맞는 건지, 어떻게 보면 귀찮고 사소한 작업인데 꼭 해야하는지, 어떤 이유를 들어서 리팩터링을 하도록 팀원을 설득할 수 있을지 등에 대한 고민이 있었는데요. 이 책을 읽으면서 리팩터링에 대한 이유와 방법에 대해서 조금 더 명확하게 이해할 수 있었습니다. 가장 큰 변화는 지금까지 회사에서 잘못 사용하고 있었던 '리팩터링'에 대한 개념을 바로잡을 수 있었습니다.

소프트 스킬

· 약 3분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

소프트 스킬이란 대인 관계에서 활용되는 기술을 말합니다. 코드 작성보다 논의가 많았던 요즘, 소프트 스킬의 중요성을 뼈저리게 느꼈습니다. 그래서 이 책을 읽어보게 되었어요.

존 손메즈의 프로그래머로 사는 법

표지에는 '평범한 개발자의 비범한 인생 전략 71가지', '흔한 개발자, 존 손메즈. 그는 어떻게 33세에 은퇴했을까?'라는 문구가 적혀있습니다. 이 문장들이 암시하는 것처럼 이 책은 일반적인 소프트 스킬에 대한 것이라기보다는 개발자로서의 삶에 대한 이야기가 주였습니다. 그래서 (미국)개발자로서의 삶에 대한 이야기를 들으려면 좋은 책이지만, 소프트 스킬에 대한 내용을 기대하고 읽는다면 실망할 수도 있을 것 같아요. 제가 책 이름을 다시 짓는다면 '존 손메즈의 프로그래머로 사는 법'이 딱 어울릴 것 같다고 생각했습니다. 기술 서적이라기보다는 자서전에 더 가까운 책처럼 느껴졌어요.

코어 자바스크립트

· 약 1분
Sewon Kim
소프트웨어 엔지니어 @Neurocle

지금 알고 있는 걸 그때도 알았더라면...

2019년 취준을 막 시작하고나서 2번째로 봤던 면접이었다. '자바스크립트로 토이 프로젝트도 하나 했고, 알고리즘 테스트도 통과했으니 그래도 첫 면접보다는 할 말이 있겠지?' 라는 생각으로 참여했던 면접은 처참히 망했다. 면접관 분들이 arrow function이 무엇인지 왜 ES6에서 arrow function이 생겼는지 아는지에 관한 질문을 했을 때, 여러 힌트를 주셨음에도 불구하고 제대로 대답하지 못했었다. 그 때 이 책을 읽고 갔었더라면 그런 멍청한 대답은 하지 않았을 텐데...!

실제 책은 이렇게 두껍지 않음

실제 책은 이렇게 두껍지 않음

이 책에서는 크게 총 7가지의 자바스크립트 개념을 소개한다. 보통의 JS 입문서처럼 타입으로 시작하지만 단순한 문법 설명이라기보다는 동작 원리에 좀 더 초점을 맞추고 있어서 입문보다는 중급 지식을 공부하기에 좋은 책이라고 생각한다.