어느덧 2022년이 지나가고 입사한지도 3개월이 지났습니다. 지나가는 시간들을 잊지 않기 위해서 회고를 남겨봅니다. 특히 잠시 시간을 가지면서 맞게 가고 있나 생각하는건 언제나 중요한 것 같아요.
😅 저는 개발자가 처음인데요
홀로 프로젝트 시작
저는 작은 스타트업 회사에 취업했습니다. 제가 회사에 취업할 때 고민한 것들은 이런 것입니다.
- 만드는 제품이 재밌어 보이는지
- 회사 위치는 어디인지 (출-퇴근의 압박 싫음..)
- 대표가 개발에 관심이 있는지
온보딩이 끝난 후 저에게는, 아주 큰 프로젝트가 맡겨졌습니다. 회사에서 아주 중요한 프로젝트였죠.
저의 임무는 이 프로젝트가 실현가능한 것인지 연구하는 것
이었습니다. 그 프로젝트는 6개월은 족히 걸렸습니다.
뭐가 문제인지 모르겠음
시니어가 계시지만 한 분 밖에 안 계시고 아-주 바쁘셨습니다.
저는 혼자서 이 프로젝트를 진행해야 했었습니다. 혼자서 3개월 동안 삽질한 결과 조잡하지만 무엇인가 만들었습니다. 다만, 에러가 뻥뻥 터지는 채였죠. 에러는 또 다른 에러들을 만들어내고, 이제는 어디서 어떻게 에러가 나는지도 가늠하기 힘든 수준이었습니다. 어렵고 힘든 것들 많았지만, 가장 힘든 것은 내가 하는 것이 맞는가
에 대한 고찰이 계속 들었던 것입니다.
시니어님의 구-원
결국 저와 팀원은 시니어님을 찾아가기로 마음 먹었습니다. 에러가 뻥뻥 터지는 프로젝트를 들고 말이지요. 이 것을 어떻게 리팩토링 해야하는지, 어떻게 해야 좋은 코드를 짤 수 있는지 의견을 여쭈었습니다. 돌아오는 답변은 예상 외였습니다.
🗣 : 자바스크립트로는 힘들 것 같은데요? 제가 붙어도 시간 안에는 안 될 것 같아요. 리액트로 다시 하는게 어때요?
정신이 아득해지고 나의 3개월은 어디갔는지 찾고 싶은 마음이 들었습니다. 이제라도 알았으니 다행이지.. 라는 생각이 들었지만, 이 것을 어떻게 대표님과 얘기해볼까 생각이 들었어요. 어쨋든 정해진 기한 안에 불가능할 것이기 때문이지요. 시니어님이 대표님과 대화를 잘 해주셔서 상황은 일단락되었습니다.
💼 회사 다니면서 알았다
안 되면 안 된다고 공개해라
무엇이 문제인지 모르겠다는 생각이 여러번 들었습니다. 그 것은 징조였지요. 프로젝트를 하다가 스스로를 의심하는 것 말입니다. ‘이게 맞나? 이렇게 하면 일단 되겠지?’ 라는 생각이 든다면 일단 멈추어야 한다는 것을 알았습니다.
바로 대표님한테 뭔가 이상하다는 것을 알리고, PM님 한테도 알리고, 시니어님한테도 알려야 합니다. 마치 확성기
처럼요. 안 되는 것을 빠르게 얘기해서 도움을 구해야 합니다. 빨리 말해야 빠르게 다른 대안을 구해주실테니 말입니다.
사이드 프로젝트랑 프로덕트는 몹시 다름
실 사용자가 있는 사이드 프로젝트 3개 정도 해봤음에도 불구하고 실제 프로덕트는 정말 달랐습니다. 실제 사용자가 있다고 해도 사이드 프로젝트에서의 기술 선정은 결국 취업이 잘 되거나, 공부해보고 싶었던 것이 됩니다.
프로덕트는 개발자 중심이 아닙니다. 더 이상 팀에 개발자만 있는 것이 아니라, 대표님, PM, CS, 디자인 등 다양한 사람이 있습니다. 팀원마다 서로에게 바라는 것이 모두 다릅니다. 디자이너님은 원하는 디자인으로 잘 뽑히기를 원합니다. 대표님은 시간 잘 맞춰서 개발이 나오기를 원하죠
만들어진 프로덕트는 결국 사용자의 몫입니다. 개발하기가 편하고 안 편하고는 중요하지 않습니다.
개발이 힘들어서 사용자가 더 편할 수 있다면 개발이 불편해야 하더군요. 기술을 선정하기 위해서는 시간에 맞추어 사용자 친화적인 프로덕트를 이 기술로 만들 수 있다는 확신이 있어야 합니다. CTO가 기술을 심사숙고해서 고르는데 얼마나 많은 노력을 투자할 지 상상도 해봤습니다.
시니어님을 자주 찾아가자
시니어님이 너무 바빠보인다고 물어보기를 두려워해서는 안 됩니다.시니어가 너-무 바쁘다? 시니어가 더 필요한 상황인거지 주니어가 신경쓸 일이 아닙니다.
오히려 주니어가 독단적으로 일을 계획하고 처리하는 것아 시니어를 더 바쁘게 만드는 일입니다. ‘잘 모르겠다, 무엇인가 이상하다, 이게 맞나?’ 라는 생각이 들면 옆에서 기다려서라도 정확한 해답을 얻어야 합니다.
그러면 시니어님이 아무리 바쁘더라도 조금 시간을 내어서 방향을 잘 정해주실 겁니다 주니어는 한 줄의 코드를 짜는 것보다 한 마디의 대화를 더 나누는 것이 중요한 것 같아요.
주니어가 많다는 것
이번에 주니어가 많이 들어와서 어수선하고 개발을 어떻게 진행해야 하나 아직 체계가 잡히지 않은 부분이 있습니다. 다만, 주니어의 장점은 명확합니다. 신입이어서 열정이 불타오른다는 것이지요.
다양한 기술에 대한 공부를 원하고, 더 근본적인 지식을 얻는 데에 최선을 다합니다.
월요일마다 시간을 내어서 개발 동영상을 보고, 사이드 프로젝트 스터디를 진행하자는 얘기도 합니다. 사내 게시판, 점심 뭐 먹을지 알려주는 웹 등 다양한 아이디어가 나왔습니다.
주니어의 열정으로 회사 분위기가 변하는 일이 앞으로 있었으면 좋겠어요!
🧑🏻💻 앞으로의 마음가짐
사용하는 기술의 장-단점은 알자
회사에서 맡는 프로젝트에 따라 다양한 기술을 접할 일들이 많아질 것 같습니다. 앞으로 이 것은 확실히 할 것 같아요. 바로 기술의 장-단점
을 알아두는 것입니다. 이 것은 아래와 같은 장점이 있다고 생각해요.
- 새로 나온 기술과 비교해서 어떤 기술이 더 나은지 생각할 수 있음
- 새로운 프로젝트를 맡았을 때, 어떤 기술이 좋은지 추천 가능
- 기술의 단점을 생각해서 발전시킬 방법을 찾게됨 → 오픈 소스에 관심!
우리 모두는 언젠가 CTO가 된다
지금은 주니어지만 언제까지나 주니어는 아닐 것입니다. 연차가 쌓이고 쌓여 언젠가는 CTO라는 역할을 맡을 수도 있겠죠. 회사마다 CTO의 역할은 다르지만, 공통적으로 CTO는 회사에서 사용할 기술에 대해 목소리를 낸다고 생각합니다.
기술자의 최고참이니까요. 프로덕트를 만들어본 경험으로 많은 기술을 다루어 보았겠죠. 효율적으로 프로덕트를 만들어낼 수 있을지 노하우가 있을 것입니다.
우리 모두 언젠가는 CTO가 되겠죠.
좋은 CTO가 되려면 마주치는 기술들이 어떤 장-단점이 있는지 잘 생각해봐야 하지 않나 싶습니다. 기술이 어떻게 구현이 되었는지 자세히 알지는 못할 수 있습니다. (물론 하면 좋죠) 기술의 장점을 끄집어내어 프로덕트를 만드는 것이 개발자의 역할이라 생각합니다.
그런데 현실은 주니어
하지만 시니어고 CTO고는 아직 먼나라 이야기일 뿐입니다. 당장 저는 주니어로서 출근을 하고 있지요. 입사할 때의 당돌함은 많이 사라졌지만, 팀을 믿어야 한다는 생각이 더 커졌습니다. 회사에서 차지하는 영향력이 아직은 부족함을 인정하고, 아무 것도 모른다는 겸손한 마음으로 공부를 해나가야 할 것 같아요.
미지막으로 명언 하나 남기고 글을 마칩니다ㅎ
“한 사람이 팀에 지대한 역할을 할 수 있지만, 한 사람으로 팀을 만들 수는 없습니다.”
🗣 카림 압둘 자바 (NBA Legend)
'Think' 카테고리의 다른 글
1년차 프론트엔드 개발자의, 회사에서 살아남기 (0) | 2024.07.20 |
---|---|
나의 요즘 생각 일지(프론트엔드 개발자) (0) | 2024.07.20 |
행복하게 사는 개발자가 되자~ (0) | 2024.07.20 |
42Seoul을 떠나며 (장점, 단점, 회고) (0) | 2024.07.20 |
블로그 글에 책임을 지자 (0) | 2024.07.20 |