❓ 비전공자가 혼자 공부하는 팁을 알려주세요. 💡 구현해야 될 작업을 프로그래밍 방식으로 생각하는 것에 익숙해지는 것, 언어나 환경에 익숙해지는 것, 배운 내용을 잊지 않게 정리하는 것을 목표로
❓ 비전공자가 혼자 공부하는 팁을 알려주세요. 💡 구현해야 될 작업을 프로그래밍 방식으로 생각하는 것에 익숙해지는 것, 언어나 환경에 익숙해지는 것, 배운 내용을 잊지 않게 정리하는 것을 목표로 공부하면 좋을 것 같습니다. --- 상황을 읽어보니, 마치 제가 처음 취업했을 때와 비슷한 상황인 것 같아서... 공감도 가고 응원해드리고 싶네요. 질문에 대한 답변부터 드리자면, 공부는 다양한 방식으로 할 수 있는데 그 결과물을 다른 사람들에게 공유하는 방식으로 마무리되면 좋을 것 같습니다. 우선 질문자 님께서는 실무 자체에 대해서도 어려움을 겪고 계신 것 같습니다. 적어주신 상황에서 유추해봤을 때, 비전공자라 프로그래밍 자체에 대한 경험도 많지 않고, 언어 별 특성이나 문법이 아직 헷갈리는 케이스라고 판단했습니다. 다만 현재는 취업을 한 상태라고 하셨기 때문에, 따라서 질문자 님의 일차적인 공부의 목표는 `시간 내 기능 구현` 이 되어야 한다고 생각합니다. 그래서 저는 질문자 님의 경우에는 우선 업무 자체에 익숙해지기 위한 공부가 필요하다고 생각합니다. 현재 상황에서 너무 추상적이거나 이론적인 것을 공부한다면 마치 뜬구름을 잡는 이야기처럼 느껴질 수도 있기 때문입니다. 그 방법을 세 가지로 생각해봤습니다. 첫 번째는 `구현해야 될 작업을 프로그래밍 방식으로 생각하는 것에 익숙해지기` 입니다. 프로그래밍이라는 것은 기획서에 적힌 구현 사항을 코드라는 도구로 다시 재작성한 것에 불과합니다. 기획서에 구현된 내용을 그대로 구현할 수 있는 기술을 갖고 있어야 하지만, 때로는 기획서만 보고도 미리 고려되지 않은 예외 상황들을 파악할 수 있어야 합니다. 이를 위해서는 직접 프로젝트를 기획해볼 수 있는 사이드 프로젝트를 시도해보는 것을 추천드립니다. 두 번째는 `언어나 환경에 익숙해지기` 입니다. JSP와 JS를 주로 사용한다고 하셨기 때문에 Java와 JavaScript 문법에 익숙해지는 것이 필요합니다. 이를 위해서는 책이나 강의를 듣는 것이 가장 쉽고 무난합니다. 또한 참여하고 있는 프로젝트 전체의 아키텍처를 파악하고, 내가 어떤 부분을 담당하고 있는지를 파악하기 위해서는 회사 내 다른 프로젝트의 리포지토리를 살펴보면서 현재 회사 내에서 어떤 방식으로 코드를 쓰고 있는지를 참고할 수도 있습니다. 세 번째는 `회사 업무를 하면서 배운 내용을 글로 정리하기` 입니다. 업무를 하고 나면 분명히 잘 모르는데 일단 코드를 가져다 쓰거나 비효율적인 방식으로 코드를 작성한 부분이 있을 것입니다. 이러한 부분들을 추가로 개선해볼 여지가 있는지를 스스로 혹은 코드 리뷰를 통해 고민해보고 이것을 글로 정리하면 좋을 것 같습니다. 간단하게는 오늘 배운 내용을 매일매일 일기처럼 쓸 수도 있고(흔히 이야기하는 TIL), 특정 개념을 처음부터 끝까지 정리해보면서 그 개념을 익힐 수 있을 것 같습니다. 공부를 혼자 하는 것도 좋지만, 개인적으로 이러한 의지를 끝까지 이어나가기 위해서는 비슷한 처지에 있는 사람과 함께 공부를 하는 것이 좋았습니다. 공부한 내용을 서로에게 공유하면서 의지가 약해지는 것을 방지하고, 모르는 내용은 서로 알아가면서 각자에게 더 긍정적인 영향을 줄 수 있거든요. 다만 중간에 그만둔다거나 하면 오히려 혼자 하는것만 못하기 때문에(...) 개발자 커뮤니티에서 공부 의지가 뛰어난 동료를 찾아보시는 것을 추천드립니다.