우아한테크코스 5기에 지원하게 되었다.
웹 백엔드로 지원했고, 전체 지원자가 약 3300명 정도 인 것 같은데 거의 절반이 백엔드 지원자인 것 같다.
많은 사람들과 함께 하는 만큼 얻는 것도 많지 않을까, 조심스럽게 기대해본다🙂
참고로 이번 기수부터 프리코스 전에 코딩테스트를 보지 않는다.
그래서 '서류 - 프리코스 - 코딩테스트 - 최종 발표' 로 교육생을 선발 한다.
자세한 내용은 우아한테크코스 에서 확인 가능하다.
프리코스 1주차 미션을 받았다.
먼저 주어진 문제를 분석하고 구현 요구 사항을 정리해보았다.
해결 과정을 글로 작성하거나 그림을 그리면서 문제를 분석해보았고, 구현해야할 사항들을 리스트로 작성해보았다.
리스트에 적은 사항들을 구현해 나가면서 추가로 작성해야할 기능이 있으면 또 다시 정리하고 구현했다.
이후에는 더 반복되는 코드가 없는지 확인하고 더 깔끔하게 작성할 수 있는 방법이 없는지 찾아보고 수정했다.
추가 테스트 케이스를 통해 생각하지 못한 예외 사항은 없는지 확인하고 수정하는 과정을 가졌다.
과제를 진행하면서 가장 어려웠던 점은 변수명과 메서드명을 의미를 잘 전달하면서 가독성 있게 짓는 것이었다. 의미를 최대한 전달할 수 있도록 노력하고, 모호한 표현을 사용하지 않도록 신경썼다.
주석 작성을 고민하면서 검색해보니 변수명, 메서드명을 가독성을 고려하며 의미있게 작성하면 불필요한 주석을 줄일 수 있고 코드만으로도 리뷰어가 이해할 수 있기에 중요하다는 것을 보아 더 신경썼던 것 같다.
코드를 효율적으로 작성하는 것도 매우 어려웠다. 최대한 불필요한 반복문과 제어문을 줄이고 싶었고, 반복되는 코드는 메서드로 분리하여 재사용하고자 노력했다. 하지만 아직 많이 부족한 실력이라 그렇게 효율적인 코드를 작성하진 못했던 것 같다.
그리고 클린 코드를 작성하는 것이 매우 어려웠는데, 더 좋은 코드를 작성하려고 노력하고 자료들을 찾아보는 과정이 정말 좋았던 것 같다. 개선할 수 있는 방향들을 알아가고 코드를 수정하는 과정이 즐거웠다.
예외 사항을 확인하고 처리하는 부분도 미흡했으나, 다른 분들이 여러 테스트 케이스를 공유해주셔서 생각하지 못했던 예외 사항들에 대해서도 고민할 수 있었다. 공유 문화와 소통 문화가 매우 중요함을 배울 수 있었던 것 같다.
마지막으로 커밋 컨벤션에 대해 많이 알게 되었고, 연습할 수 있었던 좋은 시간이었던 것 같다.
더 효율적이고 깔끔한 코드를 작성하려고 노력하고, 커밋 컨벤션과 좋은 PR 메세지 등에 대해 알아보고 개선해나가는 과정에서 묘한 희열감을 느꼈던 것 같다.
그 동안 코드를 작성할 때는 기능을 구현하는 것에만 신경써서 몰랐는데 코드의 가독성과 효율성을 높이는 일이 이렇게 즐거운 일인 것을 알게 되었다.
클린 코드, 커밋 컨벤션 등에 대해 고민해볼 수 있는 좋은 시간이었다.
뿐만 아니라 같은 문제를 해결하기 위한 다양한 관점들을 볼 수 있었고, 다른 분들의 좋은 코드를 보면서 많이 배운 것 같다.
최종까지 가지 못하더라도 하루하루가 정말 의미 있는 시간이 될 것 같다.
클린 코드에 대해서 더 공부하고 싶다. 작성한 코드들이 아직 많이 부족한 것 같다..
다른 사람이 볼 때 이해하기 쉽고 깔끔한 구조를 가진 코드를 작성하는 방법과 효율성을 높일 수 있는 방법들에 대해 공부하고자 한다.
기본적인 자료 구조에 대해 알고 있다고 생각했는데 오만했던 것 같다.
개념은 알고 있어도 세세한 특성이나 메서드들을 잘 모르는 것 같다고 느꼈다. 무엇을 하든 기본이 가장 중요하기 때문에 문법에 대한 기본을 다지는 시간이 필요할 것 같다.
작성한 코드에 대해, 그리고 앞으로 진행할 일에 대한 명세를 잘 작성할 수 있는 능력을 기르고 싶다. 코드를 잘 작성하는 것도 중요하지만 구현하고자 하는 기능이나 서비스, 작성한 코드에 대한 설명, 풀리퀘스트와 이슈 그리고 커밋 메세지 작성까지, 협업 시 의사소통을 보다 원활하게 할 수 있도록 이에 대해 알아가고자 한다.
다방면에서 많은 것을 깨닫고, 고민하고, 배울 수 있었던 시간이었다.
부족함이 많지만 앞으로 남은 과제들을 해결하는 과정을 통해 천천히 채워나가고자 한다!❤️🔥
동기부여 - 질문 잘 하는 법
질문을 잘하는 개발자
원시 타입을 포장해야 하는 이유
일급 컬렉션을 사용하는 이유
How to Sort a HashMap by Value in Java?
Java HashSet 합집합, 차집합, 교집합, 부분집합
좋은 PR 작성하기
Git - 커밋 메시지 컨벤션
[개발서적] 클린 코드(Clean Code) 핵심 요약 및 정리
잘보고갑니다!