오랜만의 게시글로 인사드리네요! 플루토Dev 입니다.
수습기간을 무사히 살아남고 정직원이 된 지금 어떻게 해야 개발팀에 기여할 수 있을까? 라는 생각을 주로 하고있습니다.
학교에서 과제를위해, 학점을 위해 협력했던 관계가 아닌 회사에서의 협력을 하면서 느꼈던 감정들과 배웠던 자세 등을 추후의 게시글로 정리 해 볼 예정입니다.
오늘 다룰 주제는 "신입 개발자로서, 새로운 걸 배워서 적용할 때 어떻게 해야할까?" 입니다.
업무를 보면서 자신 스스로가 느껴질 정도로 시간이나 효율의 Loss가 너무 심하다고 생각을 많이 합니다.
(정말 줄이고 싶은건데 마음만 급한 요즘입니다 ㅠ)
어떻게 해야 이런 손실을 줄일수 있을까?
최근에 이런 일이 있었습니다.
도커를 이용해서 RobotFramework 자동화 테스트를 포팅하고 개선해 나가는 과정중에 테스트가 실행되는 회사 홈페이지가 다국어를 지원하기 시작하면서 크롬 드라이버의 언어설정을 해야하는 일이 생겼습니다.
구글링으로 시작해서 코드 예시를 보고 "아 이렇게이렇게 하면 될 것 같다!" 라는 생각에 코드를 작성을 하고 예상한 대로 동작하는지 실행을 해 보았을때 실패 하기를 여러 번....
어디가 문제여서 원하는 기댓값이 나오지 않는 것인지 정확히 판단하지 못했던 필자는
결국 도커의 시스템 레벨까지 내려가서 문제를 살펴보게 됩니다 (문제는 전혀 다른 곳에서 발견하였습니다 ㅜㅜ)
이렇 듯 확인해야할 레이어가 너무 넓었던 상황에 주말 포함 3일에 시간을 고스란히 삽질에 헌납하게 됩니다...덕분에 도커 명령어와 쉘 스크립트 작성 및 리눅스 관련 명령어는 마음껏 배울 수 있었습니다만 너무 값비싸게(?) 배워 속이 많이 상했습니다
그래서 다시 회사에 출근해야 할 평일이 되고 리드분께 가서 문제를 해결하지 못했다 말하게 됩니다.
6개월 정도 거의 매일 느끼는 부분이지만
개인적으로 이 순간의 감정과 느껴지는 것들이 정말 느끼고 싶지 않았습니다.
결국 개발 리드분께서 해결에 나서셨는데 한 시간 남짓 이리저리 알아보시더니 "되는데요..?" 라는 한마디 ㅎㅎ
리드 분께서 팁 같이 노하우를 알려 주셨었는데 이게 오늘의 주제의 핵심이자 제가 두고두고 명심해야할 부분입니다.
"모르는 걸 만들땐 최대한 작게 테스트하는 습관을 들여라."
리드 분께서 문제 해결해셨던걸 설명해 주셨는데 파이썬 코드로 기능의 가장 핵심이 되는 부분만 10줄 정도의 코드 양으로 테스트 해서
그걸 기반으로 구현을 해 나가는 방식으로 문제를 해결해 나가셨습니다.
그리고 거의 짜보지 않으셨던 robotframework 코드를 제가 예시로 참고해서 봤던 코드의 조각을 그대로 가져와서 동작하는지 먼저 확인하는 과정을 확실히 거치고 다음 단계로 넘어갈 생각을 하셨다는게 큰 깨달음이었습니다.
저같은 경우에는 "아 대충 이렇게 짜여져있구나... 이렇게 따면 되겠네." 라고 생각하고 비슷하게 따라치는 수준이었을 것입니다.
핵심은 "이 코드가 정확하게 예상한대로 동작하는가?" 의 확실한 답을 얻고 그 다음 스텝으로 나아가는 것 입니다. 그 단위가 최대한 작아야한다! 라는게 리드 개발자분의 말씀의 포인트 인것 같습니다.
적당히 짜 보았다고 "이렇게 하면 되겠지" 라는 생각으로 업무를 보다가 문제해결을 해야할 상황이 되면 어디까지가 내가 확인해야할 부분이고 고쳐야 할 부분인지조차 감을 잡지 못하게 되고, 결국엔 내가 작업한 전체의 부분을 확인해야 하는 상황이 벌어지게 됩니다.
그렇게 되면 너무 넓은 스펙트럼에 압도 되고... 혼자서는 해결할 수 없는 지경에 다다르게 됩니다. (내가 어디를 수정했는지 조차 가물가물해지게 됩니다.)
어떻게 그 부분이 문제일것 같다 라는 생각을 했을까?
어떻게 그렇게 문제를 해결할 생각을 했을까? 사고과정의 흐름이 어떻게 된걸까?
이런 부분의 답을 앞으로 개발자 생활을 하면서 열심히 나름에 답을 찾아야 겠지요.
개발자라는게 그래도 이렇게 어려운 부분이 있기 때문에 매력또한 있다고 생각합니다.
속도 상하고 다시는 이런 실수를 하고싶지 않아 글로 작성해보았는데, 징징거리는 글이 된것만 같아 죄송하다는 말을 전하고 싶습니다.
읽어주셔서 감사합니다! 오늘도 좋은하루 되시길 바랍니다.
'생각정리' 카테고리의 다른 글
[사내 서비스 개발 회고록] 소셜 미디어 스케줄러 개발 상세 (0) | 2024.01.07 |
---|---|
[생각정리] 최대한 빠른 실패 (0) | 2023.02.06 |
[생각정리] 내 코드 지키기 (0) | 2023.01.25 |
[생각정리] 실리콘밸리 인턴십 수료 1년 후 회고. (0) | 2022.03.13 |
대학교 6년간의 회고. (0) | 2021.12.24 |