본문 바로가기
💬 Smalltalk

2024-M01~02 회고 : 신입 개발자의 성공적인 랜딩을 위하여

by iirin 2024. 3. 1.

들어가며

 

2024년이 시작한지도 벌써 두 달이나 지났습니다. 진짜 뭐했다고 이렇게 시간이 빨리 흘러가는 지 참..!

 

정말 오랜만에 쓰는 회고입니다.

 

하루하루가 휘몰아치고 있는데, 넋놓고 휩쓸리다가 이렇게 흘려보내기 너무 아쉽다는 생각이 들더라고요. 지금의 고민들을 적어두고 싶기도 하고 작은 소득도 박제하고 싶어요ㅎㅎㅎ 그래서 짧게나마 두 달을 정리하고 가고자 합니다.

 

아래 그림은 티타임에서 정리한 월간 회고 👇

사실 이 글에서는 더 잡다한 얘기가 있을 수 있습니다.....

 

 

신입개발자의 성공적인 랜딩을 위하여

성공적인... 랜딩... 하고 있는거....... 맞지?

 

올해 1월부터 저는 신입 개발자로서의 일상을 시작했습니다.

 

아침에 일어나 출근을 하고, 직장에 갔다가 퇴근을 하는 이 루틴이 너무 오랜만이어서 많이 긴장되더라고요. 그래서 첫 한달은 일을 하고오면 10시쯤 곯아떨어져서 다음날 아침에 일어나는 날이 꽤 많았습니다.

 

처음 입사 OT 이후 약 한달 반동안 OJT를 거쳤습니다. 이거 생각보다 꽤 긴 거 아닌가 싶기는 했는데요.

아무래도 그동안 쓰던 Java + Spring MVC + JPA 기반의 프로젝트와 달리, Kotlin + Spring WebFlux + R2dbc 로 스택이 많이 달라지기도 했고 Test 도구 등 학습할 것들은 정말 쏟아져서 이 기간이 엄청 짧게만 느껴졌습니다. (사실 얼른 배우고 싶은데 맘처럼 빠르게 배워지지 않았던 시기...)

 

이 기간동안 저 뿐만 아니라 저를 키워주는 사수님의 노고가 같이 들어가 있습니다. 생각보다 신경을 많이 써줘야하는 신입이라 ㅎㅎㅎㅎ

신입 개발자라면 응당 하게되는 "1인분을 제대로 하고 싶다" 라는 욕심이 많이 들더라고요. 그래서 이 두 달을 정말 잘 이용하고 싶었습니다. 조금 무리하는 감이 있더라도 퇴근 후에 개인 학습시간을 많이 가지고..

 

그래서인지 주변에서 좀 편하게 해야하는 것 아니냐는 걱정도 종종 들었어요.

두 달동안 들었던 피드백으로는 "너무 조급해 하지만 않으면 된다" 가 첫번째 항목이기도 했거든요.

 

2월 중반부터는 OJT의 `on job training` 시작하여 백오피스 기능을 구현하는 일을 시작했는데요.

회사의 여건이 그렇게 여유로운 편이 아닌데도 엄청 스무스한 랜딩을 유도하고 있다는 생각이 들었어요.

 

입사 초반 마음이 불편하고 조급한 것과 달리, 지금은 성장으로 갚자는 말을 되새기며 나름 평정심을 찾은 상태입니다.

이 마음들이 약간 정리되고 수습이 잘 끝나면 또 정리해서 글로 남겨볼게요!

 

 

고민했던 것

  • 공식문서, 신뢰도가 있는 출처로 학습하기
  • 한번에 많은 것을 학습하다보니 겉훑기 학습의 반복인 것같다.
    • 하지만 겉훑기도 여러번 하면 결국 이어지기 마련이다.
  • 첫 달의 우선 목표는 "파악" 하는 것
    • 업무 기술 파악
    • 회사 사람들 파악
  • 나의 장점은 무엇인가? 약간 잃어버리는 느낌. 나 답게 일하는 방법을 더 생각해보자.
  • 심리적으로 경직된 하루하루를 살다보니 피곤이 더 누적된다. 심리적인 이완이 필요한데, 이걸 어떻게 하지?
  • 한 사람 몫을 잘 못하는 것 같아서 의기소침해진다. 너무 모르는 것 같다.
    • 성장으로 갚자
    • 실력을 기르는 일은 돌 하나씩을 쌓아오리는 식으로 이루어지지 않는다. 수많은 점을 찍고, 그 점들을 이리저리 연결하고, 때로 찍었던 점을 잃어 애써 연결에 성공한 선분이 함께 사라지고, 그러면서도 거듭 점찍기와 연결하기를 시도하면서 커다란 그림을 완성해가는 일에 가깝다. ... 어제 들인 노력을 고스란히 쌓아서 다음 단계로 가져가야 한다고 생각하면, 운동을 꾸준히 할 수가 없다. 일하는 마음 p.121
  • 배움에 대한 호기심을 잃지 말자

 

 

다른 Insight

  • 조급해하지만 말자. 개발할 시간은 길다.
  • 완벽한 코드는 없다. 늘 부족한 것이 당연하다. 코드는 만들어 가는 것이다.
  • 내가 지금 하고 있는 것을 공유하는 것 외에 내가 지금 무엇이 필요한지 더 적극적으로 요구하는 것도 중요하다.
  • 늘 키워드(경험할 것들)를 잘 수집해 두자
  • 도메인 학습에는 오히려 다른 팀 사람들이 더 도움이 될 수 있다.

 

 

질문을 부담없이 하자

질문을 어떻게 할 지 모르겠다는 질문에 조언받은 답변을 메모해놨어요.

처음 입사를 하고나서 가장 힘들었던 부분은 '어떻게 정확히 원하는 답을 얻을 수 있는 질문을 할까?' 하는 고민 때문이었습니다.

이게 내가 물어볼 수 있는 사람들이 다들 바쁘다보니 은근 큰 고민이 되더라고요.

 

수시로 하는 질문으로 상대방의 집중을 깨뜨리고 싶지도 않았고, 내가 궁금한 것의 답을 한번에 받을 수 있는 핵심적인 질문을 하고 싶었거든요. 질문 많이하라는 말을 듣기는 하지만 또 생각도 안해보고 가볍게 질문하는 사람으로 보이고 싶지도 않았어요.

 

근데 이렇게 계속 검열하다 보니까 도무지 말이 떨어지지가 않더라고요...... 👀

 

특히 첫달에 이런 고민이 많이 되었어요. 그런 저에게 가장 많이 도움 받았던 말은 "이 때만 무한 질문이 용서되는 시기이다. 즐겨라!" 라는 말이었습니다. 수습이라는 철 방패막을 달고 이것저것 물어보면서 얻은 나름의 노하우가 생겨 살짝 정리해보았습니다.

 

사람마다 편한 커뮤니케이션 방식은 다르기 마련입니다.

가장 간단한 노하우를 얻는 방법은 이렇게 물어보는 거였습니다.

 

"질문할 것이 생기면 어떻게 물어보는 것이 가장 편하세요? 바로 물어봐도 될까요?"

 

질문을 하기 전 미리 작성해 볼것

  • 질문을 미리 문어체로 한번 작성해보기
    • 상대방이 알아듣게 명료하게 질문하는 데 큰 도움이 된다.
  • 추상적으로 얘기하는 것을 방지하기 위해 질문에 해당하는 코드, 링크 등 활용하기
  • 만약 대안이 있을 수 있는 선택의 질문이라면, 생각했던 방안을 함께 제안하기
  • 만약 문제가 애플리케이션의 도메인 혹은 이전 구현사항과 관련된 것 같으면 그냥 바로 물어보는 것이 빠르다
    • 절대 구글에 안나오는 회사 특유의 상황이기 때문

 

나만 안되는 🥲 문제를 맞이했을 때 : 예외 디버깅 등

예를 들면 구현하다가 알 수 없는 오류를 만났을 때. 구글링으로 해결을 못했거나 어떤 것이 문제(에러)인지 막막할 때에 바로 질문을 해야하나 고민했던 적이 있습니다. 바쁜 팀원에게 어이없는 오류로 질문을 해도 될까 엄청 망설였거든요.

 

하지만 혼자 해결하느라 시간을 버리는 것보다는 아래 방법들을 사용해서 노력한 질문들을 하기 위해 노력하고 있습니다.

 

  • 🔥 에러를 재현할 수 있도록 하기
    • 재현할 수 있도록 상황을 상세히 기록해두기
    • "어? 갑자기 돼네?" 의 상황 방지
  • 문제를 해결하기 위해 시도했던 것 알리기
  • 절대 반나절을 넘기지 말고 물어보기! 시간 낭비 금물

 

 

루틴이 주는 안정감

약 2달 동안 많이 발전한 것이 있다면 바로 루틴을 세우고 지키는 것입니다.

사실 취준 기간보다 더 알차게 루틴을 만들고 지켰습니다. 엄청 거창한 루틴은 없고요. 몇시에 기상하고 몇시에 집을 나서는 지, 영양제는 챙겨 먹는지, 책은 30분정도 읽기. 이런 것들이에요. 안 지켜지는 날이 더 많은 루틴도 있습니다 😂

쓴 기록으로 내가 오늘 어떤 하루를 보냈는지 눈으로 보고 반성하기도하고, 뿌듯해하기도 합니다.

 

 

쓰고 기록하는 것이 나의 존재감을 안정적으로 만드는 효과가 있더라고요.

내가 보낸 하루가 영 헛되지 않았다고 위로받기도 하고. 내가 못한 것들이 너무 나를 괴롭히지 않게 딱 그만큼만 보이니까요.

좀 험난한 하루를 보냈더라도 다시 돌아갈 일상이 있다는 것이 묘하게 안정감을 주기도 했습니다.

올해 초 정신적으로 도움을 아주 많이 받았기 때문에 앞으로도 한동안 잘 지켜보려고 합니다.

 

지금 저는 취업 준비 모임에서 함께하는 엑셀시트에 루틴 달성 여부를 정리하고, (유사한 마이루틴 어플)

iOS 단축어를 이용해 간단한 아침 루틴과 뽀모도로 기록 시스템을 갖추어 사용하고 있는데요. 이 방법도 매달 조금씩 바꿔가며 적용시키고 있습니다.

 

 

다른 언어를 배워 본다는 것 : Golang

지난 WWGo 에 참여한 이후로 Golang에 관심이 급 생겨서 틈틈히 책 'Go 언어로 배우는 웹 애플리케이션 개발'을 읽고 있습니다.

Go로 굳이 웹 애플리케이션을? 이라고 생각하신다면 ㅎㅎ 제가 웹 애플리케이션에 가장 익숙하기 때문에 이렇게 시작하는 것이 가장 편안한 길이라고 생각했어요.

 

아직 직접 프로젝트를 구현해보지는 않고 이론 부분을 읽고 있는데 Java나 Kotlin 과 비슷하거나 다른 부분이 있어서 비교해보는 것이 흥미롭습니다. 아직 지식이 짧아 정확히 어떻다 얘기하기는 좀 어렵지만 새로운 언어를 배워보는 것은 알고있던 언어에 대해 더 잘 이해하게 되는 길이라는 생각이 많이 들더라고요.

 

예를 들자면, Go는 매우 실용적으로 구현하기 위한 언어라서 Java의 객체지향과는 달리 객체지향의 일부분만 차용해서 사용한다든가. Kotlin Koroutine과 Go의 Goroutine과 Java Virtual thread의 공통점과 차이점이라든가? 무엇때문에 이 언어가 등장했는지 알게되면 깨지는 고정관념이 있더라고요. 반면에 생기는 단점들도 있고요.

 

// 별거 아니지만, go를 좋아하게 된 이유 중 하나는 쓰고나면 귀여워보여서입니다;

package main

import "fmt"

func main() {

    var a [5]int
    fmt.Println("emp:", a)

    a[4] = 100
    fmt.Println("set:", a)
    fmt.Println("get:", a[4])

    fmt.Println("len:", len(a))

    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("dcl:", b)

    var twoD [2][3]int
    for i := 0; i < 2; i++ {
        for j := 0; j < 3; j++ {
            twoD[i][j] = i + j
        }
    }
    fmt.Println("2d: ", twoD)
}

 

그래서 생긴 욕심이 있어요. 무언가 만들 때 개발자로서 언어에 구애받지 않아야겠다는 것이에요.

언어에 상관없이 가장 문제해결에 필요한 언어를 사용할 수 있었으면 좋겠어요.

그 시작점으로 올해 Go로 작은 애플리케이션을 하나 만들어보고 싶습니다.

주 언어에 대한 전문성을 버리지 않는 선에서 사이드 언어를 배운다는 것은 신선한 자극이 되어 주는 것 같아요.

 

 

지속가능한 토이프로젝트를 위하여

새로 입사한 회사에 적응하다보니 토이프로젝트나 개인 공부 시간이 확 줄어버려서 어색한 한해를 보내고 있습니다.

특히 부트캠프처럼 목적지를 정해놓고 전속력으로 달리는 듯한 공부에서 이제 지친 일상 속 새로운 자극과 자아실현이 되어줄 😆 목적으로 토이프로젝트를 운용하고 공부하려고 하니 이 리듬의 전환이 생각보다 쉽지 않은 것 같습니다.

특히 매일 꾸준히 업무 외 코드를 짜는 것이 가장 어려운 것 같아요.

 

아직 2월이 다 끝나도록 못했지만, 이전 했던 프로젝트 리팩토링을 앞으로 마저 하고,

더불어 스터디 운영을 위한 플랫폼을 계속해서 팀원들과 같이 구축해나가보려고 합니다.

 

묵은 코드를 조금 더 청소해보겠어요 ✊

 

기본 기능은 다 구현했으나, 아직 리팩토링과 고칠 것들이 많이 남았습니다 🥲

 

 

아쉬웠던 점과 3월에 해보고 싶은 것들...

회사에서는

전반적으로 1~2월은 새로운 환경에 적응하느라 나답지 않았던 순간도 너무 많았고, 눈치도 보고 조급하고 (상황에) 반응하는 순간들이 많았다는 생각이 들더라고요. 나름 진득하다는 평도 듣는 성격인데... 😂 그럴 때마다 약간의 자괴감이 몰려와서 괴로웠어요.

 

3월까지는 아직 수습 기간입니다.

그 기간동안에는 나에 대한 신뢰감을 더더 쌓아가는 것이 목적이에요. (무조건 수용하지 않고 약간 고집도 부리기 ⭐️)

좀 더 현명하게 일하고 의사소통하는 방법을 고민하고 시도해볼 생각이에요.

꾸준히 부족한 점과 강점을 피드백 받고, 신입으로서 할 수 있는 피드백을 주며 팀에 자산을 남기고 싶어요.

 

더불어 팀의 문화를 더 좋게 하기 위한 방법은 무엇이 있을까 고민해보고 싶어요.

내가 일하는 곳이 나에게 더 편안하고 적합한 곳이었으면 좋겠어요. 일이 재미있으면 더 좋고요.

개인의 장점이 팀의 장점으로 이어질 수 있는 것들이 무엇이 있을까요? 반대로 저의 단점이 팀 안에서 보완되었으면 좋겠어요.

 

 

개발자로서는

일에 적응하는 것 외에 따로 특별히 한 것이 없다는 생각을 했는데, 그 이유는 아마 시작한 것은 많은데 끝낸 것은 별로 없어서 그런가봐요.

(특히 책은 읽기 시작을 많이했는데 끝을 내지 못한게 마구 쌓여있어요 ㅎㅎㅎㅎ)

 

3월부터는 새로운 것을 시작하기 보다는, 시작했던 것을 잘 마무리하는 데에 힘쓰고 싶어요.

열어만뒀던 책을 순서대로 다 읽고 해당 소감을 간단하게나마 남기려고요.

소감의 깊이가 깊지 않더라도 글로 남김으로써 얻은 것의 유효기간이 더 늘어나는 것 같아요.

 

Kotlin과 Coroutine에 더 친숙해지도록 배움을 이어나가려고해요.

1순위는 회사 스택에 많이 투자할 것! 다른 언어는 사이드로서의 성격을 반드시 지킬 것.

 

토이프로젝트를 통해 회사 밖에서의 욕망을 잘 풀 것!

그리고 조금씩 다른 개발자들과 만나봐도 좋을 것 같다는 생각이 들었어요. 다른 사람들에게서 자극을 쉽게 받는 편이라 👀

 

 

개인적으로

하루종일 노트북과 스마트 기기만 끼고 살아서 저의 목/어깨와 눈에 많이 미안해졌어요ㅠㅠ

출퇴근시간이 전체적으로 늦어서 저녁 식사 시간도 많이 망가졌고요.

최근에는 컨디션이 너무 많이 안좋아져서 감기를 달고 살기도 했어요.

 

다시 좋아하는 취미들을 되찾으며 😎 스트레스 컨트롤에 힘쓰기로..

날이 풀리니 자전거도 더 많이 타고, 문화생활을 하고 소비도 하고!

원래 회사 밖의 나의 취향이 좀 단단해야 어딜 가든 밸런스가 맞춰지니까요.

 

  • 저녁 식사 습관을 다시 다잡아야하는게 급선무 ㅠㅠ 적나라하게 저녁을 기록하고 반성하기
  • 간만에 비개발 책을 같이 읽어보려고 합니다. 가벼운 소설책이요!
  • 미뤄두었던 치과치료를 3월에 다시 시작했습니다. 다들 정기검진과 스케일링 잊지말고 하시길...!

 

 

여기까지입니다.

이 긴 글을 누가 읽으려나 싶지만 ㅎㅎ 하고싶은 말과 다짐을 마구 쏟아내니 속은 시원합니다. 나중에 제가 읽고서 이랬던 적이 있겠지 하겠죠 ㅋㅋㅋ

 

부디 모두 건강하게 따듯한 봄날 맞이하시길 바랍니다 🌸