2020 changicho's GitHub

Intro

참 다사다난했던 2020년이 끝났다. covoid-19 때문에 지금까지 살아왔던 1년과는 정말 너무나도 다른 1년이었다.

 

코로나 외에도 2020년은 내 인생에서 매우 중요했던 시기라고 생각한다.

 

2019년부터 개발자라는 직업을 갖기 위해 시간을 쏟았던 경험이 열매를 맺기 시작했기 때문이다.

 

물론 그 열매 모두가 열리진 않았고, 정말 아깝게 아니면 실력이 부족해서 맺지 못했던 열매도 넘쳐났다.

 

도전을 두려워하지는 않지만, 실패는 두려워했었기 때문에 정말 뼈아픈 경험들이었지만,

그냥 2020년의 특수한 상황에 맞물려 너무 운이 없었다고 생각한다.

 

될놈될, 안될 안 (될 놈은 되고 안될 놈은 안된다)라는 말이 제일 와 닿은, 씁쓸한 1년인 것 같다.

 

As is

그래서 올해는 무엇을 했는가?

올해 중순 즈음에 Notion에 올해 목표를 간단히 적었었고 운이 좋게도 큰 목표들은 다 이루었다.

이중에 가장 어려운게 뭐였을까?

정말 많은 일들이 있었기 때문에 시간순으로 한번 정리해보려고 한다.

삼성 SDS 알고리즘 특강

올해 1월 삼성 SDS에서 대학생 동계 알고리즘 특강을 수강했었다.

 

2주 동안의 짧은 시간이었지만, 개인적으로 가장 유익했던 시간인 것 같다.

 

물론 자기소개서, 포트폴리오에 spec으로 적을 만한 것은 아닐지라도, 특강을 수강한 이후 기업 코딩 테스트 합격률이 정말 말도 안 되게 올라갔다.

 

이때 고급 알고리즘들을 배웠던 것들이 올해 카카오 코딩 테스트를 치를 때 너무 큰 도움이 되었다.

 

이 특강 이후로 백준에 재미를 붙였고 올해 골드를 넘어 플래티넘 5를 달성했다.

 

골드 2에서 플레티넘 5까지의 여정

 

 

changicho/algorithm_training

알고리즘 문제풀이. Contribute to changicho/algorithm_training development by creating an account on GitHub.

github.com

알고리즘 repository wiki에 문제를 풀 때마다 내용을 조금씩 정리했었는데 꽤 깔끔해져서 보기 좋다.

 

사실 1일 1 알고리즘 문제풀이를 꾸준히 진행했었는데, 블로그에는 올리지 않았었고 2021년부터는 올릴까 고민 중...

 

NAVER 인턴십

알고리즘 특강이 끝나기 무섭게 2달 동안 NAVER에서 전환형 인턴십을 수행했었다.

 

1월 초 면접보러 그린팩토리를 방문했을 때

전환에 성공하진 못했지만, 올해 취업준비를 할 때 가장 덕을 많이 본 경험이기도 했다.

 

확실히 취준생에게 가장 추천해주고 싶은 경험은 대기업 인턴 경험이다.

 

다만 인턴십 과정 자체는 그다지 순탄하지는 않았었다.

 

backend 부서에 frontend 포지션으로 들어간 것이 좀 많이 아쉬웠지만, 얻은 것도 잃은 것도 있으니...

 

마지막 회식 때 부서에 직원분이 나한테 해준 말이 가장 기억에 남는다.

"결과가 어떻게 될지 모르지만, 제가 지금 찬기님이었으면 지금 지원할 수 있는 곳은 전부 지원했을 거예요."
"제가 전에있던 회사에서 면접때 사람들을 떨어뜨려야 하니까 정말 말도안되는것들로 떨어뜨렸었거든요..."
"인생 똥 망게임"

지금와서 생각해보면 가장 도움되는 말이었다.

 

올해 취업시장에서 항상 Plan B를 준비했었기 때문에 올해 공백기 없이 무사히 넘길 수 있었기 때문이다.

 

... 주변에 수많은 NAVER 인턴 탈락자 친구들이 힘들어하는 모습을 보면 마음이 아프다.

 

소프트웨어 마에스트로

 

 

real-compacted-developer/connect-class

WebRTC, Socket 기반 온라인 스터디 서비스 ‘커넥트클래스’. Contribute to real-compacted-developer/connect-class development by creating an account on GitHub.

github.com

올해 코로나 환경에서 소프트웨어 마에스트로 과정에 참가했다.

 

언택트 상황에서 이루어진 활동이라 이전 기수들 만큼 퍼포먼스가 안 나온 기수인 것 같다.

 

그래도 국내 최고의 개발자 육성 프로그램이며, 선배 기수들이 이쪽 업계를 꽉 잡고 있다는 것을 뼈저리게 느끼고 있다.

현재 다니고 있는 직장에서도 소프트웨어 마에스트로 선배기수분들이 꽤 있기 때문이다...

 

프로젝트 주제를 내가 하고 싶었던 것으로 정하다 보니, 시장성에서 타당한 경쟁력을 확보하지는 못했지만

동료들과 6개월 동안의 장기 프로젝트를 탈주자 없이 성공적으로 마무리했던 경험은 값졌다.

 

트러블 없이 끝까지 함께 해준 동료들에게 감사하다.

 

특히 애자일 방법론을 꽤 길게 운영해 볼 수 있었는데, JIRA 등을 사용하며 거의 현업처럼 운영했었던 것 같다.

 

우아한 테크 캠프

 

 

나는 비로소 성장했습니다. (우아한테크캠프 3기)

안녕하세요? 기업 면접에서 자기 소개시간이 있을 때마다, 저는 "함께 성장하는 개발자" 라는 멘트를 사용합니다. 저는 비전공자 출신으로, 혼자서 학습을 진행하면서 스스로 한계를 많이 느꼇

changicho.tistory.com

2019 부스트 캠프 이후 crong과 honux를 다시 만났다.

 

올해 운 좋게도 front-end 포지션으로 열린 교육 프로그램에 참가할 수 있었다.

 

많은 경험을 한 것은 아니지만, 우아한 테크 캠프가 가장 수준이 높았다고 생각한다.

 

특히 이때 나의 potential이 폭발하며 엄청나게 성장했다.

 

성장에 관점에서는 매우 큰 도움이 되었지만, 이번에도 전환에 실패했었고 정말 큰 트라우마로 남았다.

 

올해 "네카라배쿠토"에 전부 도전했었고 고배를 마시며 큰 벽을 느꼈기 때문이다.

 

개발 실력이 부족해서인 걸까, 함께 일하고 싶다는 인상을 주지 못한 것일까.

 

이유를 알 수 없기에 도전하면서 떨어진 이유를 찾고 있다. 아니면 애초에 운명이 아닐지도

 

졸업

1년 동안 휴학했었던 학교의 마지막 과목들을 수강하고, 이제 졸업만을 앞두고 있다.

 

컴퓨터공학 전공이 아니기 때문에, 이 직군으로 일을 시작하면서 어떻게 이를 극복해야 할지 고민이다.

 

지금 와서 생각해보면 4년의 시간 동안의 경험들이 나에게 큰 도움이 되었는가? 에 대해선 너무나도 회의적이다.

 

취업

올해는 이전까지의 취업시장과 꽤 많이 달랐다.

특히 전혀 예상 못한 서류 탈락을 경험하며 안 그래도 높은 난이도가 더 높아졌다는 느낌을 강하게 받았다.

 

NAVER나 우아한 형제들의 경우 너무 아까운 기회를 놓쳤었고, 삼성전자, SKT에도 최종 면접까지 갔다가 떨어지면서

내가 걸어온 길이 과연 맞는 건지 의문이 들었다.

 

정말 다행히도 부스트 캠프 2019에서 만난 친구가 속해있는 회사에 지원을 했고 그중 한 곳에 지금 다니고 있다.

 

비트코인 거래소 사업팀에서 신입 front-end 개발자로 업무를 수행하고 있다.

 

친구들 덕분에 큰 목표 중 하나를 이룰 수 있었고, 업종 자체도 계속 발전하고 있기 때문에 만족하고 있다.

 

To be

지금까지 다양한 사람들과 다양한 환경에서 성장해왔었기 때문에, 이번에는 개발 동아리 활동을 하며 한번 더 성장하고자 넥스터즈, 매시업 등의 동아리에 지원해보려 한다.

 

그리고 1일 1 커밋 활동을 계속 이어나가려고 하는데, 

몇몇 toy project 저장소를 만들어 블로그에 글을 연재할까 한다.

 

특히 front-end 성능 개선, 이벤트 최적화 등의 작업에 관련된 글을 올리고 싶다.

 

그동안 블로그 활동을 너무 미뤄온 것 같다.

 

알고리즘 문제는 꾸준히 풀려고 한다. 아마 플래티넘 4까지는 찍을 수 있을 것 같다.

현재는 solved.ac의 class로 분류된 단계별 문제들을 풀고 있는 중이다.

 

 

2021년은 얼마나 하드코어 한 인생이 펼쳐질지 기대된다.

  1. 2021.02.15 03:15

    비밀댓글입니다

  2. 2021.04.25 16:22

    비밀댓글입니다

안녕하세요?

 

기업 면접에서 자기 소개시간이 있을 때마다, 저는 "함께 성장하는 개발자" 라는 멘트를 사용합니다.

 

저는 비전공자 출신으로, 혼자서 학습을 진행하면서 스스로 한계를 많이 느꼇습니다.

특히 주변 환경은 개발과는 거리가 먼 환경이였기 때문에 "무엇을, 어떻게" 준비 해야 할 지 전혀 몰랐기 때문인데요.

 

인턴십이 끝나고 나서 학교 복학준비를 하면서 저는 몇몇가지 버킷리스트를 만들었는데요

 

운이 좋게도, 올해 큰 목표중 하나였던 우아한 형제들의 '우아한 테크캠프 3기'에 참여할 기회를 얻을 수 있었고,

이 과정이 끝나가는 지금 시점에 글을 남겨보려 합니다.

 

이번 과정에서 동료들과, 윤지수(크롱)님과 정호영(호눅스)님을 만나서 어떤 키워드로 어떻게 성장해야 할 지 방향을 잡을 수 있었습니다.

 

다음 기수를 준비하는 분들이나, 저처럼 혼자 성장하는데 한계의 벽을 두드렸던 분들께 도움이 되셨으면 좋겠습니다. :)

 

너무 좋은 기회를 주신 우아한 형제들 분들께 감사합니다

 


자신과 비교해 성장하는 즐거움 

 

 

비교에서 벗어나라, 의미를 발견하라

비교하는 행위 자체만으로도 우리는 불행을 느낀다. 비교라는 특성 자체 때문에 부정적인 방향의 비교는 당신을 불행의 나락으로 빠뜨릴 수밖에 없다. 당신이 아무리 돈을 많이 벌고 성공한다 �

brunch.co.kr

 

어떤 일을 지속하는 것은 매우 힘듭니다. 특히나 공부와 같은 일들은 더욱 그러한데요.

 

특히 SW 분야의 경우 빠른 기술 변화에 맞추기 위해서는, 꾸준하게 학습을 이어나가야 하는데요,

우리는 성장하는 즐거움 덕분에 이 어려움을 이겨낼 수 있습니다.

 

그렇다면 성장하는 즐거움은 어떻게 얻을 수 있을까요?

 

 

주변에는, 적게 잡아도 이번 우아한 테크캠프 안에서는 너무나도 잘하는 사람들이 많았습니다.

이런 분들과 비교하다보면 제 초라한 실력에 마음이 조급해지기도 하고 스트레스 받기도 합니다.

 

하지만 꾸준히 노력을 해왔다면 저희는 어제의 저희보다 성장해 왔습니다.

그리고 혼자 성장하는 것만이 아니라 주변 동료와 함께 성장할 수도 있습니다.

 

세상엔 다양한 기준이 있겠지만, "성장"은 자기 자신을 뛰어 넘는것이라 생각합니다.

 

자기 자신을 뛰어 넘을 때마다 느끼는 즐거움을 온전히 자기 것으로 만들 수 있다면,

끊임없이 성장할 수 있을 것이라고 믿습니다.

 

이걸 구현하라고? 마우스 이벤트로 드래그 & 드랍 구현

우아한테크캠프의 교육 과정은 쉽지 않습니다. (교육을 담당하고 있는 코드스쿼드 또한 동일합니다.)

 

특히 현재 잘 정제되어있고 나와있는 라이브러리를 사용하지 않고 직접 구현해 보는 훈련을 시키는 점 때문인데요.

 

하나의 예시로, 한 프로젝트에서 드래그 앤 드랍을 마우스 이벤트로 직접 구현하는 과제가 있었습니다.

 

 

mouse event만으로 투두리스트(todo list) 만들기 (feat. 이벤트 위임)

이벤트 위임을 이용해 블록 옮기기 구현하기 https://move-block-event-delegation.herokuapp.com/index.html 로 가시면 예제 데모를 확인하실 수 있습니다. 이 글에 나온 예제소스는 https://github.com/changic..

changicho.tistory.com

이런 어처구니 없는 요구사항 덕분에 처음에는 적잖이 당황했습니다.

심지어 어떤분은 크롱님께 "드래그 앤 드랍을 사용안하고 어떻게 구현해요?" 라고 질문하더라고요

 

고생했지만 간신히 구현할 수 있었습니다.

완성하고 보니 드래그앤드랍 API를 사용할 때와 코드가 크게 다르지 않았습니다.

 

이전엔 말도안된다고 생각했던 문제를, 풀고나서 보니 그만큼 행복함이 몰려왔습니다.

이게 바로 성장하는 즐거움이 아닐까요??

 

제 나름대로 완성한 방식을 동료들과 공유하고, 저와 같은 고민을 하던 사람들에게 도움을 주기 위해 블로그에 글을 올렸습니다.

 

 

짝코딩으로 이루어지는 과정

다른 교육 프로그램과 특별하게 다른 점이 있다면, 우아한 테크캠프는 모든 프로젝트를 2인 이상이 진행합니다.

 

하나의 프로젝트에 2명이상이 달라붙는다는 것인데요.

그만큼 과제의 양이 말도안되게 많기는 하지만, 가장 중요한 점은 짝코딩(페어 프로그래밍)으로 진행된다는 점입니다.

 

이런 분위기는 아닙니다.

특히 프로젝트의 기초를 잡을 때 (보일러 플레이트를 구성할 때) 짝코딩은 필수 과정인데요

서로 프로젝트를 진행하면서 물리적으로 정신적으로 나중에 발생할 큰 충돌을 미리 막기 위해서 입니다.

 

이런 과정에서 여러 명의 시야로 프로젝트를 바라볼 수 있는 점이 가장 좋았습니다.

 

특히나 팀원을 설득하기 위해 말을 조리있게 풀어나가는 능력을 향상 시킬 수 있었습니다.

 

저는 개발자에게 가장 중요한 역량은 소통능력이라고 생각하는데요,

 

이번 캠프를 통해서 이런 소통 능력을 더 키울 수 있었습니다.

 

기술 공유를 통한 빠른 성장

저희는 매 프로젝트가 끝날 때마다 동료를 평가합니다.

제가 초기에 받았던 피드백 중 하나는, 좀더 기술 공유를 활발히 해줬으면 좋겠다 라는 것이였습니다.

 

그렇기 때문에 저는 위키에 제 기술적 도전과, 해결 방법, 공부한 내용을 정리해서 올리는 습관을 들이기 시작했습니다.

 

그 중 몇몇 글들은 블로그에 옮기기도 했습니다.

 

 

Git Hooks + commitlint를 이용한 커밋 메시지 검사

커밋 메시지 자동 검사 Git Hooks와 commitlint를 이용해 작성한 커밋 메시지가 유효한지 검사할 수 있습니다. 다음 글들을 참고하시면 더 많은 정보를 얻으실 수 있습니다. Conventional Commits | 쿡앱스 ��

changicho.tistory.com

 

공유는 항상 중요합니다.

자신이 겪었던 문제들을 상대방이 겪게 하지 않기 위해서인데요.

 

이전의 선배들이 겪어온 뻘짓들이 결국에 제가 작업 속도를 향상할 수 있고 새로운 답을 찾는 데 매우 큰 도움이 되어왔습니다.

 

그래서 저는 이런 공유하는 문화를 위해서 한가지 더 노력했습니다.

 

공유하는 문화를 만들자 (기술 공유 스터디)

스터디는 행아웃으로 진행합니다

크게 대단한거는 아니고요...

 

캠프를 진행하면서 면접 시즌이 다가오면서 캠퍼들을 모아서 면접 키워드를 공부하고 공유하는 자리를 만들었습니다.

 

제가 면접 관련 키워드를 공유하고, 각자 주제를 맡아서 매일 돌아가면서 1~3명씩 발표하는 자리로 구성했습니다.

 

원래는 오프라인으로 복도에서 진행하려고 했는데요,

최근 코로나19 감염자가 너무 증가하는 바람에 재택근무로 전환되어서 온라인으로 진행하게 되었습니다.

 

제 원래 목표는 복도에서 진행하면서 자연스럽게 캠퍼들이 면접 준비 내용을 듣고 공부하도록 하는것 이였습니다.

 

우아한형제들에서는 잡담도 경쟁력이라는 문구에 맞춰서 자연스럽게 수다를 떨 수 있는 환경이 조성되어있었습니다.

그런 좋은 환경을 프로젝트만 진행하느라 놓치면 아깝잖아요?

 

제가 스터디를 진행하면서 자연스러운 참여를 유도하고, 함께 공유하는 문화를 만들기 위해서 노력했던 결과가 나름 나쁘지 않아서 다행이였습니다.

 

그래도 다행이도 많은 캠퍼분들께서 적극적으로 참여해주셔서 너무 감사했습니다.

 


마무리하며

캠프 내에서는 매우 다양한 행사들이 준비되어있었습니다.

가끔은 프로젝트를 진행하는데 방해하려는건가? 라는 의문이 들기도 할 정도였는데요.

 

캠퍼들의 성격을 검사하고 유형을 파악해보는 행사, 개발자분들과 자연스러운 미팅, 세미나 등을 접하면서

우아한 형제들의 문화를 느끼는 계기가 된 것 같습니다.

 

 

 

우아한테크캠프 과정은 끝나겠지만, "함께 성장하는 개발자"가 되기 위한 노력은 끝까지 계속됩니다.

 

쭈우우우우욱~~

 

 

코로나19가 심해지기 전 마지막 단체사진

 

  1. bonghyong 2020.08.24 16:00

    킹오브JS

+ Recent posts