개발자
제가 얼마전 백엔드 분야에 관심이 생기기 시작해서 혼자서 시작해보려고 하는데 프레임워크를 어떤 것을 해야 할 지 고민중입니다. 스프링과 장고 중에 고민하고 있는데 스프링은 학교 수업에서 자바를 수강해서 자바 언어 자체에는 완전하지는 않지만 조금 익숙한 상태이고 파이썬은 한번도 사용한 적이 없습니다. 이러한 상황에서는 어떤 프레임워크를 선택하고 공부를 하는것이 좋을까요? 또한 백엔드를 입문하는 단계에서 어떻게 해야 할 지 조언해주시면 감사하겠습니다!!
답변 7
인기 답변
제가 대학생때 했던 고민과 같네요:) 저도 학부시절 동안 프론트엔드와 네이티브를 경험해보고 백엔드로 진로를 결정했었는데, 그 과정에서 그럼 언어와, 이에 따라 달라지는 프레임워크는 어떤 장단점으로 구분해서 바라보고 어느 걸 선택해야 더 좋은 결과를 얻을까 고민했었어요! 결론부터 말하면 “하고싶은 걸로”입니다 ㅎ 저는 취업을 위해 코딩테스트를 준비하면서 파이썬에 익숙해져서 장고로 공부를 시작했고, 지금은 스프링을 사용해서 일하고 있어요. 지금 생각해보면 이렇게 달라진 이유는 숲을 볼 능력이 없어서 그랬던 것 같아요. 나무에만 초집중을 했던 거죠..ㅎㅎ 백엔드 엔지니어라는 것을 스스로 어떻게 정의하고 계신가요? 보통 프론트엔드와 대조하면서 “반대의 일”을 하는 정도로만 아는 경우가 있습니다. 프론트엔드 개발자도 마찬가지겠지만, 백엔드 개발자는 “현실의 문제 해결을 위한 모든 것”을 합니다. 단순히 CRUD 동작을 하는 Api를 서빙하는 일로 끝나지 않고 그 안에서 더 빠르게, 더 안전하게, 더 가용성있게 구현할 방법을 떠올립니다. 때문에 아키텍처와 디자인 패턴 및 알고리즘 등이 사용되고 학부때는 경험이 없던(할거라고 생각도 못했던) 메시지 큐를 배워서 도입하기도 하고, 알려진 SSO 인증 구현 방식을 뜯어보며 어떻게 사내 서비스에 적용할지 고민하기도 하죠. 이런 무수히 많은 나무들을 겪다보면 어느새 숲이 보입니다. 그리고 프레임워크, 그리고 언어라는 것은 개발자 입장에서 도구일 뿐이라는 걸 알게됩니다. 결국엔 내가 글을 쓰기로 했는데 연필로 쓸까 볼펜으로 쓸까 고민하는 것에 불과해요. 우선, 익숙한 것으로 글을 쓰세요. “일단 시작하라”는 말은 IT업계에서 특히 어울리는 표현이에요. 컴퓨터 하나만 있으면 어디서든 시작할 수 있는 업계에서 사소한 고민은 사치입니다. ㅎㅎ 스프링을 더 많이 쓴다던가, 파이썬이 다양하게 쓰인다던가, 이런 조언은 무의미합니다. 우리는 문제해결을 하는 사람들이고 그 도구는 상황에 맞는 적절한 것을 선택합니다. 어느 하나를 정해두고 일을 시작해도 언젠가 내가 선택한 것이 레거시가 될 때, 다시 새로운 공부를 시작하게 될 겁니다. 개발에는 끝이 없고 만병통치약과 같은 하나의 완벽한 해답은 없습니다 :)
인기 답변
어떤공부를 하시던 두려움을 가지지마세요.. 편안하게.. 지금당장이 아닌 앞날을 위한거면 천천히 조금씩 알아가면 되는거죠.. 백엔드라고하셨지만.. 프론트도 무시못하기에.. 두루두루 알고 계시면 좋을것 같아요.. 저는 django 추천드리구요.. 웹부터 딥러닝까지 많이 쓰일거 같아 추천합니다. 시대가 변하면 언어도 변하더라구요.. 그리고 국내보단 국제적인게.. ㅎ 개인적인 생각이니 참고만 하세요.
둘다 좋은 언어 좋은 프레임워크지만~ 취업 생각 있으면 안전하게 그냥 스프링 가세요 그래서 이런 말도 있잖아요 자바공화국이란말이 괜히 나오는말이 아니에요~ 아무튼 참고 해보시고 좋은결과 있으시길..
확실히 대한민국에서 취업을 하려면 스프링이 베스트긴 합니다! 저도 장고로 백엔드 공부했고 현재는 스프링 사용해서 일하고 있네요! 근데 둘 중 하나를 잘 공부하시면 다른걸 공부할 때 훨씬 쉽습니다!
저는 장고로 백엔드 공부 시작했고, 현재는 직장에선 스프링 사용 중입니다. 저는 백엔드를 더 깊이 이해하기에 더 좋은 재료는 스프링이라고 생각해요. 장고는 태생부터 빠르게 웹애플리케이션을 빌드하기 위한 도구였고, (물론 지금은 많이 발전하긴 했지만) 스프링은 대규모 엔터프라이즈 급 애플리케이션을 만드는 도구이기 때문에 안정성과 확장성을 위해 많은걸 준비해놓은 프레임워크에요. 공식문서나 커뮤니티 파워도 스프링이 탄탄합니다. 스프링이 좋은 점을 많이 쓰긴 했지만 하나만 공부하는 것보단 여러 도구를 경험해보는게 더 좋은 것 같아요. 그리고 위에 분들이 말씀하신 것처럼 처음 시작하시는거니까 두려움없이 가벼운 마음으로 아무거나 골라도 됩니다ㅎㅎ 장고나 스프링이나 어차피 다 도구고, 도구를 다루는 실력이 중요하니까요
저같은 경우는 스프링을 먼저 공부하고, 장고를 공부했어요. 어떤 강의에서 어려운 언어를 먼저하면, 그만큼 다른 쉬운 언어를 사용하면 더 쉽게 이해가 된다고 하더라구요! 근데 솔직히 선택하라고 하면, 첫번째 분께서 답변 남겨주셨듯이 “자기가 원하는 대로” 하라고 권해드리고 싶네요 :)
언어는 다른 분들이 좋은 답변 주신 것 같고... 프레임워크는 막말로 껍데기이기 때문에, 프레임워크가 뭘 감싸고 있는지 그 목적을 이해하는게 더 중요한 것 같아요. 스프링의 ioc니 di니 aop니 하는게 왜 좋은지를 알려면 원래 개발이 왜 불편한지가 이해가 되어야 하고, 또 그 배경이 되는 웹기술을 이해해야 스프링이 왜 이렇게 추상화 했는지가 이해가 될 겁니다. 어떤 프레임워크를 공부하든, 어떤 코드를 작성하든 그 코드의 궁극적인 목적과 아키텍처 상에서의 역할을 이해해야 한다고 생각합니다. 저도 자바/스프링이 주력이지만, 요새는 웹기술의 이해라는 측면에서 스프링이 더 낫다고 말하기도 뭐하네요, 스프링부트 나온 이후로 추상화 depth가 더 깊어진 듯.. 만약 먼저 배운 언어가 선택의 장애물이라면, 이렇게 말씀드리면 어떨까 싶네요. 어짜피 개발자로 사실거면 하나의 언어만 배워서 끝나지 않습니다. 폴리글랏도 이제는 너무 당연해서 옛말인 것 같아요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!