안녕하세요? 슈크림빵빵빵입니다.
지난 글에서는 국비 수료와 취업까지의 경험을 공유해보았습니다.
이번 글에서는 신입 개발자로서 3개월 간 근무했던 경험을 정리하고
이를 공유함으로써 다른 분들께 작은 도움이 되길 바라며 글을 적게 되었습니다.
이번에도 추가적인 궁금증이 있으실 경우 ztzy1907@gmail.com 으로 문의주시면
제가 아는 데까지 답변 드릴 수 있도록 하겠습니다.
------------------------------------------------------------------------------------------------------------------------------
어떻게 지내왔는지 먼저 말씀드리자면,
저는 지난 2020년 11월에 입사하여 이제 막 3개월 수습기간을 마쳤습니다.
첫 1개월간은 교육과 평가기간이었습니다.
회사의 솔루션과 우리 회사의 비즈니스 영역의 도메인 지식에 대한 교육이 있었습니다.
주어진 주제에 대해 문서를 만들어 제출하는 과제도 있었고
요구사항을 구현하고 발표하고 코드리뷰를 갖는 시간도 있었습니다.
1개월의 교육기간을 마치고 팀에 배정되어 근무를 시작했습니다.
정말 감사하게도 제가 희망하던 백엔드 개발을 할 수 있었습니다.
사수분께 요구사항을 전달받고, 가이드라인을 받고, 소스를 분석하고
진행하다 막히는 부분마다 사수분과 미팅을 진행하여
현재 어느진도까지 파악이 됐고 어디에서 어려움이 있는지 여쭤보아 다시 진행하는 식이었습니다.
IntelliJ, Spring Boot, Gradle, yml, Postman, SVN, Eureka, Batch, Redis 등등
아예 사용해보지 않았거나 들어본 적도 없는 도구와 개념들을 공부해야 했습니다.
아직도 공부할수록 공부해야하는 게 너무 많다는 걸 더 많이 깨달을 뿐입니다 하하..ㅋㅋ
그리고 아주 즐겁습니다. 제가 원했던 것이기 때문입니다.
------------------------------------------------------------------------------------------------------------------------------
앞으로 신입 개발자분들이 되실 분들께 공유하고 싶은
제가 미리 알았으면 좋았을걸 싶은 내용들을 말씀드리자면,
첫번째로, 디버깅 입니다.
어떻게 지금까지 디버깅 기능을 모르고 개발을 해온거지???? 하는 게 지금의 심정입니다.
뭐 개발이라고 해봐야 국비 기간 프로젝트 두 개와 혼자 했던 미니프로젝트 하나 정도이지만..
그때까지 디버깅을 한 번도 써보지 않았습..니다..;;;;
크롬 개발자도구에서 Flag를 꽂아 확인하거나 debugger;를 활용하거나
이클립스, 인텔리제이에서 Debugging 으로 실행하고 breakpoint와 Expression, variables를 활용하거나
한번도 해보지 않았었습니다..
파일명으로 검색, 소스코드로 검색 등도 마찬가지입니다.
지금까지 한 프로젝트들이 사이즈가 작고 A to Z 모두 파악한 상태에서 만들다 보니 그랬을 수도 있겠지만..
지금 생각해보면 어떻게 이걸 모르고 지금까지 개발해온건가 싶습니다.. 그래서 첫째로 디버깅을 골랐습니다.
국비에서부터 디버깅을 꼭 생활화해보세요.
두번째는 인텔리제이입니다.
위에서 연결되는데 디버깅에서도 이클립스 보다 훨씬 강력하고 편합니다.
데이터베이스 툴도 인텔리제이 내장 DataGrip을 사용하고 있습니다.
SSH도 인텔리제이의 내장 connection 기능을 사용하고... SFTP remote browse마저도 ㅋㅋ 그렇습니다.
처음에 단축키 적응이 좀 힘들었는데 이제는 아예 이클립스 단축키를
인텔리제이 단축키로 변경시켜서 쓰고 있습니다.
제가 수료한 학원에서는 인텔리제이 계정을 수강기간동안 사용할 수 있게 라이센스를 지원해줬습니다.
혹시 사용 가능하다면 꼭 인텔리제이에 적응해보시길 추천드립니다.
세번째는 운동입니다.
살기 위해 해야 한다는 어느 선배님의 말씀이 정말 맞다는걸 몸으로 느꼈습니다...
물론 사람에 따라 필요성을 느끼지 못하는 분들도 계실 수 있을 것 같습니다.
저는 퇴근하고 나서 점점 더 아무것도 못하고 뻗어서 잠만자다가 출근하는 제 자신을 보며
도저히 안되겠다 싶어서.. 정말 하기 싫은 운동을 시작했습니다.
그런데.. 퇴근하고 운동하려니 헬스장에 사람이 너무 많기도 하고..
집에 가고 싶은 유혹이 너무 커서 점심시간에 운동을 하기 시작한지 이제 2주가 됐습니다.
이동시간, 환복과 샤워시간을 제하면 실 운동시간은 30분 가량 나오는데
운동 끝나고 샤워하고 복귀할때면 정말 기분이 좋습니다.
컨디션도 점차 올라오는 게 느껴집니다.
네번째는 아침 공부입니다.
아침은 저녁에 집에 가서는 공부가 안되서 선택했습니다.
출근시간 보다 2시간 일찍 출근하면 일단 출근길이 편합니다.
그리고 퇴근 후 집에 도착한 상황보다는 회사에 일찍 출근한 상황이
공부하기에 훨씬 유혹이 덜합니다.
사실 아침에 일찍 출근한다 해도 그 시간을 잘 쓰려면 그것도 집중력이 필요하긴 합니다.
그래도 "저녁에 집에가서" 라는 선택지보다는 나은 것 같다는 생각으로 아침을 선택했습니다.
운동과 아침 공부는 학원 다닐때도 했다면 생산성이 분명 더 나았을 거라는 생각이 듭니다.
------------------------------------------------------------------------------------------------------------------------------
다음으로는 저의 질문하는 팁을 공유해보고자 합니다.
학원에서도 그렇지만 특히 취업 이후에 더 필요한 능력이 바로 질문하는 방법입니다.
사실 질문하는 방법은 인생 내내 중요합니다.
질문부터 제대로 해야 제대로된 답변이 가능하니까요.
제가 절대 불변의 진리를 나눌 순 없지만 그래도 제 나름의 원칙을 공유해봅니다.
첫째, 시간은 금이다.
물론 여기선 다른 사람의 시간을 말합니다.
다른 사람은 강사님이 되실 수도 있고, 같이 수업을 듣는 친구가 될 수도 있고
취업 후엔 사수분이 되겠지요. 그들의 시간은 매우매우매우 소중합니다.
특히 당연하게도 업무중인 사수분께 질문을 드리게 될텐데
업무가 중간에 끊어지는 건 아주 큰 리소스 낭비(?) 로 이어지는 이슈이기 때문에
상대방이 아주 소중한 자원을 나에게 나눠주시는 거다 라는 인식이 기저에 필요하다고 생각합니다.
둘째, 요구사항을 명확히 한다.
먼저 요구사항이 무엇인지 ( 내가 하고 싶은 게 무엇인지 ) 를 명확하게 정리해야 합니다.
여기서 많은 분들이 TMT가 되어버리십니다. 절대 그래선 안됩니다.
최대 두 줄을 넘기지 않도록 문장으로 적을 수 있어야 한다고 생각합니다.
만약 두 줄을 안 넘길 수 없다면, 지금 너무 큰 덩어리를 한 번에 해결하려고 시도하고 있을
가능성이 있습니다. 잘게 쪼개야 합니다.
셋째, 나의 해결책을 정리한다.
무턱대고 요구사항이 A 인데요, 어떻게 해야 할까요?
또는 요구사항은 이러이러한데... 잘모르겠어요.. 라고 한다면
그리 좋지 않은 피드백을 받을 확률이 높습니다.
그대신 나의 생각, 나의 솔루션을 요약합니다.
요구사항이 A 여서, B로 접근을 해봤는데 C에서 어려움을 겪고 있습니다.
혹시 저의 B라는 접근 방법은 괜찮은지, 괜찮다면 C는 어떤 식으로 대응을 해봐야할지 궁금합니다.
라고 질문한다면 구체적인 피드백을 받을 확률이 비교적 높다고 하겠습니다.
만약 커뮤니티에 질문 글을 올린다고 예를 들어본다면
어떻게 하는 게 좋을까요?
해야 할까요 말아야 할까요?
이런 어미로 끝나는 질문은 질문 자체가 완전하지 않아 구체적인 피드백이 어렵습니다.
사실 저의 경우에는 이런 질문은 정말 지혜를 구하는 질문이라기보다는
마음은 정해져있고 넋두리를 하고 싶거나 내 길이 옳다고 피드백을 원하는 글일 확률이 높다 생각합니다.
만약 더 자세한 피드백을 원한다면
이러이러한 상황이어서 저러저러하게 해보려고 합니다.
혹시 더 좋은 방법이 있거나 제가 고려해야할 게 있을까요?
라고 질문하는 게 더 좋은 방법일 거라고 생각합니다.
암튼 핵심은.
나의 고민의 결과가 있어야 한다는 겁니다.
제대로된 답변이 나올 수 없는 불완전한 질문은
경우에 따라 상대를 불쾌하게 할 수도 있습니다 ㅋㅋㅋ...
넷째, 내가 원하는 게 뭔지 명확히 한다.
A 요구사항에 대해 B로 접근하고 있는데 이렇게 진행해도 괜찮을까요?
라는 질문은 상당한 시간의 삽질을 막아줄 좋은 질문이기도 하지만
사수에게 나의 개발방향을 질문의 형식을 빌어 컨펌 받는. 자신에게 좋은 질문이기도 합니다 ㅋㅋ
그리고 저 질문에는 나의 요구가 분명히 명시되어 있습니다.
> 저의 개발 방향이 맞는지 확인부탁드립니다.
입니다.
혹은
A 요구사항에 대해 B라는 이슈가 예상되는데, 이를 해결할 수 있는 방법을 잘 모르겠습니다.
혹시 어떤 키워드로 검색을 해봐야할까요?
라는 질문이라면 위에서 언급한 나의 해결책이 없는 것처럼 보이는 질문이지만
아예 어디서 정보를 찾아야할지도 모르는 경우에는 예외이기 때문에
또한 분명한 요구사항이 있기 때문에 할 수 있는 질문이라고 생각합니다.
> B 이슈 해결을 위해 필요한 내용을 찾을 수 있는 키워드를 알려달라.
만약 혹시 이후로 이어지는 문장이 없다면 조금은 답답한 질문이 되었을 겁니다.
질문의 끝맺음은 결국 내가 원하는 게 무엇인지 말하는 것입니다.
꼭 질문 전에 미리 준비해야 합니다.
다섯째, 타이밍.
기본이고 당연한 거지만 누락하기엔 중요해서 적어봅니다.
질문을 해도 되는 타이밍과 아닌 타이밍이 있을 것이고,
또 질문을 해도 되는 타이밍이긴 하지만 이 질문은 해도 괜찮지만 저 질문은 좀 아닌 것 같은
그런 경우도 있을 수 있습니다.
타이밍을 고르는 기준은 당연히 상대방입니다.
상대방의 업무에 영향을 최소화하면서도 나의 업무를 진행할 수 있게.
내가 할 수 있는 최대한을 다 해보고 나서도 해결이 안됐을 때
질문을 미리 잘 준비해서
상대방의 눈치를 살핀 뒤 질문을 ㄱㄱ합시다.
요약하자면
내가 할 수 있는 걸 다 해보고,
그래도 안 되면 뭘 해야 해서 어떻게 해보고 있는데 어디서 막히는지 그래서 어떻게 해달라는건지
머릿속에 미리 잘 정돈된 상태에서 질문을 하자! 입니다.
질문 팁이랍시고 주제넘게 잔소리를 늘어놓은 것 같아 민망하지만..
민망함 보다 공유하고픈 마음이 더 커서 주저리 적어봤습니다.
누군가에게 도움이 될 수 있다면 하는 희망을 가져봅니다 하하..ㅋ
------------------------------------------------------------------------------------------------------------------------------
부족함이 많은 글이라고 생각합니다.
코끼리 발가락 정도 만져본 사람의 글이라 생각하고 참고만 하시면 될 것 같습니다.
국비 기간과 취준 기간에는 현업에 대해 궁금한 게 좀 있었던 것 같은데
지금 생각하려니 무엇이었는지 정확히 잘 기억이 안 나네요 ㅠㅠ
저도 정말 많은 도움을 선배님들께 받은 만큼 제가 아는 만큼은 최대한 답변드릴테니
혹시 궁금한 거 있으시면 메일이나 댓글 부탁드립니다.
모두 건강하시고 즐거운 주말 되세요!
감사합니다!