All :L
[우아한테크코스] 프리코스 중간 회고록 본문
벌써 프리코스의 반이 지나갔다. 시간이 진짜 빠른 것 같은 느낌?
절반을 완주했다는 의미에서 중간 회고록을 작성하고 넘어가고자 한다.
지원서에 작성한 목표를 얼마나 달성하고 있다고 생각하나요? 그 이유는 무엇인가요?
작성한 목표를 일정에 맞춰 대부분 달성하고 있다고 생각합니다. 지원서 작성 당시 각 주차 별로 학습 목표를 설정했지만 단순히 "객체지향 개념 학습"과 같은 광범위한 목표만 세웠습니다. 이러한 부분은 목표를 달성하기 위한 과정에서 해이해질 수 있다고 생각했습니다. 따라서 목표를 구체적으로 세분화하여 진행할 필요성을 느꼈습니다. 이를 바탕으로 각 주차 별로 공부해야 하는 날짜를 지정했습니다. 아래와 같이 세부적인 주제로 목표를 세분화하였고 현재까지도 이를 잘 지켜가며 학습을 지속하고 있습니다.
Java 학습 | ||
1주차 : 자바 기초와 객체지향 기본 이해 | 2주차: 객체지향 심화 | 3주차: 자바 응용과 예외 처리 |
|
|
|
『이것이 취업을 위한 컴퓨터 과학이다』 학습 | |||
1주차: DataStructure | 2주차: DataStructure & Network |
3주차: Network | 4주차: Database |
|
|
|
|
또한, 가장 중요하게 생각했던 목표는 기록이었습니다. 프리코스를 끝까지 완주하는 과정에 있었던 모든 일을 기록해 오래 기억할 수 있도록 하는 것이 중요하다고 생각했습니다. 이러한 목표를 달성하기 위해 노션과 블로그를 활용해 개발 과정과 개인 공부 과정을 기록하고 있습니다. 이를 통해 하루하루 작성한 목표를 지속적으로 점검하고 달성 상황을 확인하면서 프리코스의 방향성을 확실히 잡고 나아가고 있습니다.
우테코 프리코스 | Notion
Made with Notion, the all-in-one connected workspace with publishing capabilities.
translucent-mitten-47f.notion.site
지원서에 작성한 목표를 변경해야 한다고 생각하시나요? 그렇다면 그 이유와 어떤 목표로 변경하고 싶으신가요?
지원서에 작성한 목표를 일부 변경해야 할 필요가 있다고 생각했습니다. 아직 미션을 분석하고 구조를 파악해 세분화 된 메소드로 하나의 프로그램을 완성하는 단계부터 시간이 오래 걸렸습니다. 따라서, 미션을 진행하면서 클린 코드까지 신경을 쓰기에는 다소 어렵다고 생각했습니다. 코드의 클린한 구조는 추후 프리코스가 종료된 후 코드를 다시 복기하면서 리팩토링하고자 합니다.
따라서, 현재는 클린 코드 서적을 분석하는 것이 아닌 앞으로의 프로젝트에 필요한 Java와 CS 지식을 보다 탄탄히 다지는 것에 집중하고자 했습니다. 이렇게 함으로써, 앞으로의 미션에서 객체 지향 언어인 Java를 더 효율적으로 사용하고 프로젝트 개발에 필요한 CS 지식을 학습하고자 합니다. 특히, CS에서 중요한 자료 구조와 네트워크, 데이터베이스 같은 개념을 이해하고 적용하는 데 집중하여 프로젝트의 본질적인 부분을 완성도 높게 마무리할 수 있도록 하고자 합니다.
프리코스를 진행하면서 눈에 띄는 변화나 깨달은 점이 있나요?
프리코스를 2주 차까지 진행하며 크게 변화한 점은 두 가지가 있습니다.
첫째, 객체 지향 프로그래밍(OOP)에 대한 이해가 한층 깊어졌습니다. 이전에는 OOP의 기본 개념인 캡슐화와 상속, 다형성을 이론적으로만 알고 있었습니다. 이번 프리코스 미션을 통해 단순히 개념적으로 알고 있던 OPP 개념들을 이번 프리코스를 통해 실제로 적용해 보았습니다. 클래스를 설계하고 메서드를 정의하는 과정에서 기능에 따라 책임을 분리하고 어떻게 하면 재사용성을 높일 수 있는지를 학습했습니다. 이러한 경험을 이론적인 지식을 가지고 있을 때보다 실제로 미션을 진행하며 클래스와 메서드 설계해보며 보다 체계적으로 생각할 수 있게 되었습니다. 따라서, 앞으로의 미션에서도 코드의 유지보수성과 확장성을 높이는 데 큰 도움이 될 것이라 생각합니다.
둘째, 테스트 도구인 JUnit을 활용한 테스트 주도 개발(TDD)의 중요성을 깨달았습니다. 처음에는 테스트 코드 작성을 번거롭게 느꼈습니다. 막연히 제대로 동작되겠지? 코드를 작성하면서 수정하면 되겠지?라는 생각을 하고 있었던 것 같습니다. 하지만, 이번 기회를 통해 테스트 도구를 활용한 TDD 방식을 경험해 보면서 이러한 방법이 코드의 안정성과 품질을 향상시킨다는 것을 체감했습니다. 테스트를 통해 발견한 문제들은 코드 작성 조기에 해결하거나 예외 처리 함으로써 코드의 품질을 높이고 안정적으로 구동할 수 있었습니다.
이러한 경험은 단순히 기술적인 스킬을 넘어서 문제를 해결하는 사고방식과 코드에 대한 이해도를 더욱 키우는 계기가 되었습니다. 남은 프리코스 기간에도 이러한 방법들을 사용하며 더 나은 코드를 만들어나가고 싶습니다.