개발자
안녕하세요. 내년 군 입대하는 백엔드(Java/Spring) 지망 1학년입니다. (2학년 '빅데이터'전공 예정) 소프트웨어학부 커리큘럼: 1학년- Java, 이산구조, 선형대수 2학년- C, C++, (자료구조, 논리설계 및 실험, 컴퓨터구조, 알고리즘) 저의 질문은 다음과 같습니다. 1. '백엔드' 지망시 (자료구조, 알고리즘, 운영체제, 네트워크, DB 등) 많은 CS과목 중 어느 것을 어느 순서로 집중적으로 공부해야 할까요? 또한 추천하시는 책이 있을까요? 2. 군 복무 중 틈틈이 영단어 공부할 생각인데, 개인시간 때는 CS과목과 '스프링 부트3 자바 백엔드 개발'책 중 어느 것을 먼저 공부할지 고민입니다. (현재 Java언어만 알고, CS와 Spring 지식은 없는 상태입니다.) 3. 1학년 때 배운 내용(Java, HTML, JavaScript, 비교과 활동)과 이후 새로 알게된 것들이나 문제 해결 경험을 정리하려는데 어느 블로그 플렛폼이 좋을까요? ex) velg, github, notion, tistory 등 4. 군대에서 공부한 내용도 추천해주신 블로그 플렛폼에 정리할 생각입니다. 물론 스스로 공부 목적도 있지만 미흡한 내용일지라도 이렇게 기록을 남기는 것이 향후 취업에 큰 메리트가 있을까요? 5. '빅데이터 학과' 심화 수업(데이터 사이언스 기초, DB기초, DB시스템, 데이터 시각화, 데이터 마이닝, 머신러닝, 클라우드 컴퓨팅, 빅데이터 개론) '데이터 사이언스'관련 과목도 있는데 '백엔드' 지망시 저 수업을 전부 들을 필요가 있을까요? 6. 학교 복수 전공 필수라 콘텐츠IT(VR/AR, 게임) 스마트IOT(통신/보안, 임베디드) 데이터테크(데이터 사이언스) 이것들 중 어느 것을 할지 고민입니다. '벡엔드'진로에 있어 각각 무슨 장점이 있을까요? 각각 관련 기업으로 취업할 때 도움이 되겠지만, 그나마 DB관련해 배우는 '데이터 테크'가 나을지 고민입니다. '데이터 사이언티스트'진로도 생각했지만 신입 기준이 석사 or 경력이고, 데이터 분석을 할 정도의 수학에 자신이 없습니다. 7. '데이터 사이언스'가 목표인 4학년 형께서 개발자할꺼면 복수전공은 '데이터테크' 추천하시던데 어떻게 생각하시나요? 8. 제 최종 목표는 '만화 관련 커뮤니티 정보사이트 제작 및 운영'하는 것인데 이에 조금이라도 도움이될 활동은 무엇이 있을까요? 마지막으로, 자대 '진로취업 경력개발 로드맵 경진대회'에 참가해 선생님께서 말씀해 주신 내용을 '인터뷰'칸에 개시하려고 하는데 괜찮으실까요? 답변 감사합니다.
답변 1
인기 답변
1. 학부 내 커리큘럼을 따라가세요. 학년 순서대로 과목의 순서를 짜 놓은 이유가 분명 있으니까요. 크게 중요한 건 아닐 수도 있지만 당장 인사이트가 없는 상황에서는 누군가가 정해 준 커리큘럼을 따르는 게 도움이 될 거에요. 2. CS 지식이 최우선입니다. 언어나 프레임워크는 그저 도구일 뿐이에요. 실무에서 정작 스프링을 쓰지 않고 장고나 익스프레스를 쓸 수도 있는것이고 백엔드 개발자라고 해서 프론트엔드 업무를 전혀 하지 않는것은 아닙니다. 실제로 프론트엔드에 대한 지식이 있다면 백엔드 개발할 때 많은 것들을 고려하고 개발할 수 있어요. 예를 들면 게시판에 페이징을 구현할 때 어떤 형태로 데이터를 줘야 프론트엔드가 빠르게 개발 될 지, 또는 프론트엔드에서 어떻게 컴포넌트 간에 상호작용을 하는 지 이해해 본 경험이 있다면 좋은 동료로써 퍼포먼스를 낼 수 있어요. (만약 해당 경험이 없다면 API 하나로 모든 걸 퉁치려고 하는 불상사를 일으킬 수 있습니다. 생각보다 페이지 하나를 로드하는 데 보내는 요청들이 많다는 건 크롬 개발자 도구를 보시면 알 수 있습니다.) 간단한 웹이나 백오피스 수준은 풀스택으로 개발 할 수 있는 게 좋아요. 충분히 할만하니 도전해보세요. 3. 아무거나 상관없습니다. 단, 기술블로그로써 포트폴리오를 만들고 싶다면 깃허브 블로그를 추천합니다. 아무리 템플릿을 사용해서 올렸다 하더라도 직접 호스팅해서 운영하는것과 플랫폼 쓰는 건 다릅니다. 저는 Next.js, Tailwind CSS 템플릿으로 구현 된 블로그를 운영중인데, 리액트와 넥스트의 기본기가 있다면 좋은 공부가 될 수 있는 경험이라 생각했어요. 4. 블로그 그 자체가 포트폴리오로써 역할을 할 정도의 컨텐츠는 현실적으로 학부 초반에 나오긴 힘들지만, 정보를 공유하고 피드백 받으며 생기는 인사이트에서 얻는 점이 크기 때문에 권장합니다. 단, 저학년 때 취업을 너무 생각하진 않았음 좋겠어요. 너무 그런 복잡한것들을 생각하지 말고 온전히 지식을 깊게 공부하려는 목적으로 운영하다가 추후 프로젝트에 대한 글들을 작성해보세요. 5. 들어서 손해볼 것은 절대 없습니다. 학부때는 취업을 생각해서 커리큘럼을 짜기보단 넓고 다양하게 맛을 보며 인사이트를 쌓는다 생각해주세요. 단, 현실적으로 시간과 에너지의 한계는 존재하니 트레이드오프는 해야 할 지도 모르죠. 6. 저라면 오히려 스마트IOT 를 선택할 것 같습니다. DBA나 데이터엔지니어, 사이언티스트를 할 게 아닌이상 백엔드 개발자라면 당장의 최우선은 인프라와 통신이라고 생각해요. 생각보다 운영 단계의 인사이트가 부족해서 애를 먹는 경우가 생깁니다. 데이터베이스가 중요하지 않다는 의미는 아니고 백엔드면 당연히 쿼리 잘 짜야하고 데이터베이스 설계도 할 줄 알아야죠. 단, DBA의 도움을 받을 수도 있는 문제고 데이터 모델링 이상의 빅데이터 분석 부터는 백엔드 개발의 업무보다 더 큰 커버리지에 속하지 않을까요? 배워서 나쁠 건 절대 없고 당연히 권장드리지만, 오히려 인프라와 통신을 제대로 구축해보는 게 백엔드 개발자라는 틀만 보면 훨씬 도움이 되지 않을까 싶네요. 모니터링도 할 줄 알면 좋죠. 7. 실무자의 입장에서 봤을 땐 데이터테크가 상당히 도움이 되고 매력적으로 보이지만, 백엔드 개발자 라는 틀만 놓고 보면 권장드리고 싶지 않습니다. 저도 학부 땐 그런 분야가 좋았지만, 데이터 분석 혹은 통계보단 직접 소프트웨어를 개발하는 게 더 좋아서 백엔드 개발을 공부한 케이스입니다. 물론 알면 좋고 언젠간 데이터 분야의 일을 할 수도 있겠죠. 백엔드라고 일이 한 분야에만 정해진 건 아니고 AI 서비스 개발에 참여한다면 해당 분야의 인사이트가 도움이 되겠죠. 백엔드 개발자가 하고싶다면, 딱 거기까지만 생각하고 운영체제와 통신에 대해 공부하시는 것을 추천합니다. 8. 전공공부를 깊게 하시고 작은 프로젝트라도(게시판 수준이라도 상관없습니다.) 직접 배포를 해보시면서 경험을 쌓으세요. 그리고 운영 단계에서 모니터링 및 데이터 분석을 해 보면 좋지요. 당장 해볼만 한 건 결국 근본에 집중하는 것입니다. 알고리즘 문제풀이를 많이 해두세요. 나중에 서비스를 운영하게 되실 때 트래픽이 많이 몰리면 코딩 만으로는 해결이 불가능한 상황이 생기지만, 당장은 소프트웨어가 느리면 코드를 봐야 할 테니까요. 편하게 공유하셔도 좋습니다만, 제 답변이 공유하실 만큼 대단한 답변인 지는 모르겠네요 ㅎㅎ
익명
작성자
2023년 11월 18일
늦게 답장드려 죄송합니다...! 데이터테크 복수전공하려고 했는데, 스마트IOT도 한번 고려해 봐야겠네요 ㅎ 그동안 공부하면서 선생님 말씀 수 차례 읽어 보았습니다! 정말 좋은 글 감사하며, 진로 공부에 큰 도움이 되었습니다. ^^
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!