개발 공부 순서에 대한 고민

6월 7일조회 223

안녕하세요 현재 국내 중견 클라우드 기업에서 근무중인 개발자입니다. 개발자라곤 하나 기존의 솔루션을 커스터마이징 하는 수준의 개발이기 때문에 코드 작성을 많이 하는 개발자는 아닙니다. 저는 컴공 출신도 아니고 6개월의 국비 지원과정만 수료한 상태에서 일을 시작했습니다. 수료 당시 프로젝트로는 스프링 프레임워크와 자바로 웹사이트 제작만 한 번 해보았고 입사 후엔 솔루션 개발자가 만든 자바스크립트 라이브러리만 사용하여 정석적인 코딩에 많이 약한 것 같습니다. 그런데 제가 원하는 분야는코드를 직접 짜고 서비스를 개발하는 백엔드 개발쪽이어서 현재와 괴리가 있어 고민이 되는 상황입니다. 이직 준비를 위해 파이썬을 다시 공부하면서 백준 문제를 통해 알고리즘 지식을 쌓고 코딩 테스트 공부를 진행하는데 이렇게 공부하는것이 맞는지 의문이 들어 올려봅니다. 기본적인 cs지식도 없어 코딩 테스트 공부만 하면 안될 것 같아, 자바스크립트의 node.js 그리고 리액트를 책을 통해 병행 독학 해보려 하는데 이렇게 루트를 타는게 맞을까요? 아니몀 좀더 기본적인 os공부 등을 병행하는것이 맞을까요? 현재 이직 생각과 제 낮은 커리어와 지식때문에 많은 고민이 되네요…

질문을 추천하시나요?
profile picture
익명님의 질문

답변 2

ㄱㅎㅁ님의 프로필 사진

백엔드 개발을 원하시면, 무난한 spring쪽을 좀더 공부하는게 맞지 않을까 싶습니다. react 는 프론트엔드쪽 프레임워크라 해당 루트는 그렇게 필요가 없어보이고(흥미라면 모를까), javascript가 흥미가 있다면 nodejs를 하시는게 좋아보이긴 합니다만, 그래도 java쪽이 더 나아보이네요. os만을 공부하는것보다는 전반적인 CS를 두루두루 공부해야할꺼 같습니다. 코테만을 위한 phython 공부보단, java로 풀어서 통과하는게 더 어필이 되지않을까 싶기도 하네요.

profile picture

익명

작성자

6월 8일

앗 조언 감사합니다 ㅎㅎ 파이썬을 공부하고 있어서 코테는 파이썬으오, 스프링과 자바는 따로 공부하는것도 괜찮을까요? 아니면 아예 자바로 처음부터 하는게 나을까요?

ㄱㅎㅁ님의 프로필 사진

ㄱㅎㅁ

지오시스 백엔드 개발자6월 8일

java 개발자를 뽑는데 python으로도 문제를 내는 회사는 통과하실수 있을꺼 같지만, java로만 풀게 할때 파이썬으로 공부했던 내용을 java로 풀어서 작성이 가능하시면 python으로만 푸셔도 될거 같습니다.

커리어리 AI 봇님의 프로필 사진

안녕하세요! 지금처럼 개발 역량을 키우고 싶다는 목표와 그에 따른 학습 계획을 세우는 것은 아주 중요한 첫걸음입니다. 백엔드 개발자가 되기 위한 학습 계획을 세우는 것은 여러 가지 요소를 고려해야 합니다. 이는 언어 선택, 프레임워크, 데이터베이스, 네트워킹, 시스템 디자인 등을 포함할 수 있습니다. 현재 파이썬을 공부하고 있는 것과 알고리즘을 공부하는 것은 좋은 시작이라고 생각합니다. 그러나 이렇게 공부하는 것이 맞는지에 대한 질문에 대한 답은 개인의 학습 스타일과 목표에 따라 달라질 수 있습니다. 제 개인적인 의견으로는, 아래와 같은 순서로 학습을 진행하는 것을 추천드립니다. 1. 기본적인 프로그래밍 개념 이해: 조건문, 반복문, 자료형, 자료 구조, 함수, 클래스 등 기본적인 프로그래밍 개념을 파이썬이나 자바스크립트 등을 통해 이해하십시오. 2. 알고리즘 및 자료구조: 알고리즘은 문제 해결 능력을 향상시키고 기술 인터뷰를 준비하는 데 필수적입니다. 또한 이는 기본적인 컴퓨터 과학 지식을 이해하는 데 도움이 됩니다. 3. 웹 개발 기본 지식: HTTP, HTML/CSS/JavaScript, REST 등의 기본적인 웹 개발 지식을 습득합니다. 이는 프론트엔드와 백엔드가 어떻게 소통하는지 이해하는 데 중요합니다. 4. 백엔드 프레임워크: 선택한 언어에 대한 백엔드 프레임워크 (Node.js, Django, Flask 등)에 대해 학습합니다. 이를 통해 웹 애플리케이션을 개발하는 방법을 배울 수 있습니다. 5. 데이터베이스: 관계형 및 비관계형 데이터베이스에 대한 이해는 필수적입니다. SQL을 학습하고 PostgreSQL, MySQL, MongoDB 등의 데이터베이스를 사용하는 방법을 배웁니다. 6. 기본적인 OS, Network 지식: 동시성, 메모리 관리, 프로세스 vs 스레드, TCP/IP, HTTP 등에 대한 기본적인 이해가 필요합니다. 7. 시스템 디자인: 이는 대규모 시스템을 설계하고 이해하는 데 필요한 핵심 원칙을 학습하는 것입니다. 8. DevOps/CICD: 현대의 개발 환경에서는 Jenkins, Docker, Kubernetes 등의 도구를 사용하여 코드를 효과적으로 배포하고 관리하는 것이 중요합니다. 위의 순서는 단지 제안일 뿐이며, 각 단계를 병행하거나 순서를 조정할 수 있습니다. 중요한 것은 시스템적이고 꾸준한 학습입니다. 또한, 실제 프로젝트에 적용하면서 배운 것을 실습하는 것이 중요합니다. 개인 프로젝트를 수행하거나 오픈 소스 프로젝트에 기여하면서 실제 문제를 해결하는 경험을 쌓는 것이 아주 중요합니다. 마지막으로, 학습은 여행과 같습니다. 때로는 힘들고 어려울 수 있지만, 그 과정에서 배우는 것이 많습니다. 학습을 즐기고, 매일 조금씩 성장하는 것에 초점을 맞추세요. 행운을 빕니다!

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

기술, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

이메일로 가입하기