23.08.04 11:20 작성
·
6.9K
·
수정됨
36
안녕하세요.
인프랩의 CTO인 향로입니다.
저는 개인 블로그와 유튜브 채널을 통해서 제 생각 혹은 다른 개발자분들의 멘토링을 진행하곤 했는데요.
최근에 원티드 CTO이신 황리건님의 글을 보고, 저도 인프런 커뮤니티를 활용해서 이런 고민상담에 답변해드리면 좋을것 같다는 생각을 하게 되었습니다.
공개적인 공간에서 여러 사람들과 고민을 나누는 것 자체가 질문한 본인에게도, 그 질문과 답변을 본 다른 분들에게도 도움을 많이 주더라고요 ㅎㅎ
SI, 포털, O2O 스타트업, 에듀테크 스타트업 등 회사들을 거쳐오면서 엔지니어 생활을 해왔는데요.
개발자로서의 취업에 대한 고민이나, 대기업 -> 스타트업 합류에 대한 고민, 어떻게 학습하고 성장해야하는지, 어떻게 커리어를 쌓아야하는지 등등 개인적인 고민들이 있으시면 이 글의 댓글로 남겨주시면 제가 댓글로 답변 드리도록 하겠습니다 :)
답변 32
6
2023. 08. 04. 12:24
질문 감사합니다 리건님! ㅎㅎ
처음 선택할때 몇가지 기준들이 있었는데요.
새로 만들지는 않더라도 어느정도 직접 수정할 수 있는 부분이 열려있으면 좋겠다. (GA, Adsense, 커스텀한 댓글, 커스텀 UI 등 가능하도록)
통계 등 대시보드가 잘 되었으면 좋겠다.
SEO가 잘되었으면 좋겠다.
모바일앱이 있었으면 좋겠다.
등의 조건들의 교집합이 당시에는 티스토리밖에 없었어요.
계속 쓰면서 불편함이 일부 존재하긴했는데,
티스토리 오픈 API가 지원되어서 이를 통해 자동화나 사용성 개선이 가능했고,
통계 대시보드와 모바일앱이 계속 개선되기도 하더라고요 ㅎㅎ
제가 무언가 액션을 하지 않아도 글쓰기 플랫폼이 계속 되다보니
글쓰기에만 집중할 수 있는 환경을 만들어줘서, 지금까지 계속 쓰게 된 것 같아요 ㅋㅋ
물론 나중에 그동안 블로그 플랫폼 사용 경험들을 모아서 제가 원하는 블로그 플랫폼을 만들고 싶다는 생각은 계속 하고 있습니다 ㅎㅎ
5
안녕하세요 취업을 준비하고 있는 취업준비생입니다 :D
이번주 개발바닥 영상의 댓글에서도 동일한 질문을 하였는데 향로님이 직접 답변주시는 귀한 자리가 생겨서 여기에 한 번 더 질문을 드립니다!
향로님과 호돌맨님께서 여러 영상을 통해 신입 개발자에게 강조하시는 역량이 어려운 추상화된 개념 (DDD, MSA, k8s 등등) 보다 언어 자체에 대한 심도있는 이해, SQL, 객체지향적 설계, 구현 능력 등이라고 저는 이해를 했는데요.
신입 개발자로서 취업을 준비할 때 어느 정도의 역량을 준비해야할 지는 참 막막한 것 같습니다. 신입이라는 핑계로 '이 정도까지만 해도 되겠지' 라는 타협이라기보단 '어느 것에 집중을 하는 것이 지금 내가 할 수 있는 올바른 방향일지' 에 대한 고민이랄까요.
향로님 및 호돌맨님께서 생각하시는 그 방향에 대해 다른 시니어 개발자 분들, 그리고 신입을 채용할 계획이 있는 회사의 개발자들 분들이 얼마나 공감할 지 향로님의 생각이 궁금합니다.
한 가지 더 궁금한 걸 질문드리자면 신입 개발자가 어필할 수 있는 역량(?)에 대해서도 향로님의 생각을 말씀해주시면 감사하겠습니다 :D
2023. 08. 18. 19:21
안녕하세요 JUNN님 :)
질문 남겨주셔서 감사합니다.
Q. 향로님 및 호돌맨님께서 생각하시는 그 방향에 대해 다른 시니어 개발자 분들, 그리고 신입을 채용할 계획이 있는 회사의 개발자들 분들이 얼마나 공감할 지 향로님의 생각이 궁금합니다.
A. 음 이건 확실하게 답변을 드리기는 어려운 부분 같아요 :)
모든 시니어들의 생각을 물어본적이 없기 때문이고요.
반대로 저나 호돌맨이 방송에서 하는 이야기들은 딱 저희들만의 생각이라기 보다는, 저희와 이야기하는 다른 시니어분들도 언급하신 부분들이 포함되어있어서 이게 딱 저희만의 생각이라고 하기도 어렵기 때문입니다.
아마도 이 부분은 누구도 확실한 답변을 할 수 없지 않을까 싶습니다 :)
신입분들이라면 각자가 경험한 면접 경험,
채용을 하실 시니어분들이라면 그간 뽑아본 신입 개발자들의 유형에 따라 각자가 생각하는바는 같을 수도 있고, 다를 수도 있을것 같습니다. :)
Q. 신입 개발자가 어필할 수 있는 역량(?)에 대해서도 향로님의 생각
A. 음 방송에서 여러번 이야기했지만, 저는 신입분들이 추상화된 기술에 대해 찍먹해봤냐에 대해서는 가산점을 크게 주지 않습니다.
그리고 가능하면 직접 서버에 배포를 하고, 서비스를 작게라도 운영해본 경험에 대해 많은 가산점을 줍니다.
localhost:8080 에서만 작동하는 프로젝트 보다는 실제로 도메인이 있고 접속 가능한 서비스를 운영 해봤느냐 안해봤느냐가 서버(백엔드) 혹은 프론트엔드 개발자로서 운영 서비스에 대한 이해도가 확 차이가 나던 걸 경험했어서요.
대표적인 사례로 아래 두분의 Github Repository를 참고해보시면 좋을것 같습니다.
- https://github.com/bmm522/quiz-studio
- https://github.com/hongjk7777/score-manager
4
안녕하세요. 저는 리걸테크 기업에서 프론트엔드 개발자로 활동중인 3년차 개발자 이우진 이라고 합니다.
최근에 인공지능 대학원을 준비하고 있습니다. 결심하게 된 이유는 회사에서 자연어 처리 분야로 다중분류 예측 모델을 만들어 API로 개발해내면서 인공지능을 가지고 해결할 수 있는 문제가 정말 많다고 느꼈습니다. 코드로 해결할 수 없는 부분들을 인공지능으로 해결할 수 있으면서 동시에 프론트엔드도 할 줄 아는 개발자이면서 필요할 땐 인공지능을 직접 만들어 소프트웨어와 융합시킬 줄 아는 인재로 성장하고 동시에 이 기회에 석사 학위도 취득하고 싶어서 대학원을 준비하고 있습니다. 정말 고맙게도 회사에서는 대학원과 직장을 병행할 수 있는 근무 시간으로 조율해주겠다고 말씀도 주셔서 대학원도 안정적으로 다닐 수 있습니다.
그런데 나중에 다른 회사에 지원할 기회가 생겨 지원했을 때 인사팀과 실무팀이 저의 이력서를 보고 이 사람은 프론트엔드를 잘하는건지, 인공지능을 잘하는건지 의아해 할 것 같고 얕은 지식으로 둘 다 한다라는 느낌을 줘서 오히려 감점이 될까봐 두렵기도 합니다.
향로님께서 그런 이력서를 보셨을 때는 어떻게 생각하실 것 같나요? 제가 너무 걱정하는 걸까요?
그리고... 향로님... 인프런에서 인프콘 추가 티켓 이벤트 계획 없으신가요?... 너무 가고싶습니다.................... 믿겨지지 않습니다..... 인프콘 행사를 못간다니.... 추가 이벤트.......... 없나요?....
2023. 08. 05. 20:17
안녕하세요 우진님 :)
질문 감사합니다.
정말 아쉽게도 인프콘 추가 티켓 계획은 없습니다 ㅠㅠ....
내년엔 더 큰 규모가 되기 위해 노력해보겠습니다...!
저는 우진님이 인공지능 개발자로 지원서를 내느냐 프론트엔드 개발자로 지원하느냐에 따라 다를 것 같다고 봐요.
인공지능 개발자로 지원하신다면 당연히 대학원만으로는 부족하고 더 많은 경험을 이력서에 쌓으셔야할 것 같고요.
여태 해오신 경험이 있는 프론트엔드 개발자로 지원하신다면 인공지능 대학원 재학중인 것은 전혀 패널티는 아니라고 봐요.
그게 패널티로 먹힌다면 그건 현재 우진님의 프론트엔드 역량이 그 연차에 비해 부족할때인것같아요.
3년차, 4년차에 이정도 경험 혹은 실력밖에 되지 않는다고? 라는 생각을 면접관이 하게 되면 그때서야 "대학원때문에 그러신가?" 라고 이유를 추측하실것 같아요.
백엔드가 데브옵스 혹은 프론트엔드를 공부하는 경우처럼 다른 분야의 공부를 하는 경우는 많습니다.
그렇지만 다른 분야를 공부한 것이 내 커리어에 방해가 되는 경우는 주 분야의 실력이 그 연차 대비해서 부족할때입니다.
주 분야의 실력이 뛰어나면, 다른 분야를 공부했다는 것은 오히려 "이 사람은 프론트엔드를 잘하는데 여가시간에 이렇게 다른 분야도 공부하는 사람이구나" 로 생각하게 되죠.
반대로 주 분야의 실력이 부족하면, "자기 분야도 못하는데, 왜 굳이 다른 분야까지 하시는거지?" 라고 생각할 수 밖에 없을것같아요.
그래서 저는 우진님이 오히려 인공지능 대학원을 다니면서 어떻게 하면 프론트엔드 개발 역량도 함께 향상 시킬 수 있을것인가를 더 고민해야하는 게 아닐까 싶어요 :)
정리하면, 인공지능 대학원을 다니는 것은 전혀 패널티가 아니며,
오히려 내 주력 분야인 프론트엔드 역량이 충분하다면 다른 분야로의 공부는 오히려 장점이 될 수 있다고 말씀드리고 싶습니다 :)
4
2023. 08. 04. 15:07
좋은 스타트업 취업을 목표로 한다는 것 너무 좋습니다 :) 응원합니다!
그 회사의 사업이나 규모등 객관적인 지표를 볼 때는 아래 2가지 서비스를 활용합니다.
그 외에 다른 정보들은 다음과 같은 서비스들에서 제공합니다.
링크드인 (여기서는 해당 스타트업 대표님들의 프로필과 올리신 글들을 보러 갑니다)
물론, 저는 인프랩에 합류할때 위와 같은 서비스들을 활용하진 않았습니다 ㅎㅎ
제가 결국 인프랩이 운영하는 인프런 서비스의 지공자였으며, 학생이여서 고객이였거든요 ㅎㅎ
그리고 대표님과의 인연이 2018년도부터 있었기 때문에 어떤 회사이고 어떤 팀인지 알고 있었기 때문에 작은 스타트업이였지만 다른 회사들의 조건들을 두고 선택할 수 있었던것 같아요 :)
4
2023. 08. 04. 14:16
어떤 기술들의 변화나 새로운 분야로 뛰어들때 느끼는 학습양의 방대함에 압도되는 것은 커리어 내내 있는것 같아요.
저도 당연히 가지고 있는 부분이고요.
다만, 이게 처음 겪는 경험이냐 아니냐의 차이가 있는것 같아요.
저는 아무래도 그런 압도되는 상황에서 어떻게든 작게라도 한걸음씩 나아가면 결국 더 괜찮은 사람이 된다는걸 몇번 경험하다보니 이제는 그런 걸 조금 즐기는 상황인것 같아요.
익숙해지기 전까지는 다음과 같은 생각들을 했던것같아요.
지금은 잘 기억도 안나지만, 어떤 기자님이 공식 석상에서 많은 기자들이 모여있는 곳에서 유명하신분께 민감한 질문을 하는 것이 항상 부담스러웠다고 해요.
하지만, 기자라면 그런 경험이 꼭 필요하잖아요?
그래서 공식석상에서 질문하기전에 "긴장되어서 가슴이 뛸때가 기회다" (정확한 문장이 기억이 안나는데 대충 이런 느낌으로 기억하고있습니다) 라고 항상 생각했다고 합니다.
저 역시도 부정적인 감정이 들때마다 항상 이런 생각을 했었어요.
"이런 긴장,부담,걱정이 드는 것 보니 이게 기회인가보다" 라고요.
그리고 냉정하게 생각해봤을때도 압도되어서 아무것도 안하는 것보다는 그래도 하는 것이 훨씬 낫고, 소극적인 전진이라도 가만히 있는 것 보다는 그래도 앞으로 나아가는 것이라고 생각합니다.
시간이 지나면 부정적인 감정보다는
제가 수행했던 결과물들만 남아서, 꾸역꾸역 실행에 옮겼던것 같습니다 :)
3
안녕하세요 향로 님! 블로그, 개발바닥, 커뮤니티 등에서 향로님 이야기 들으면서 도움 많이 받고 있는 주니어 개발자 입니다.
비 전공 출신 국비 학원으로 시작해 안드로이드 SI 기업으로 취업해보니 BE 가 적성에 맞아서 한창 공부하는단계인데요, BE 이직 준비도 할 겸 항상 목표하던 서비스 운영을 하나 해보려고 합니다.
기획도 어느 정도 마쳤고 개발 준비를 하는 과정에서 FE 쪽 기술이 부족해 FE 는 친구들 도움을 받아 개발을 하려고 하는데요.
향로 님이 말씀하신 1인 개발
경험(혼자 기획, 설계 개발, 배포까지)에 대한 중요성을 보고 혼자 프로젝트를 진행할까 고민을 하고 있습니다.
향로 님은
BE 직무 신입/주니어 개발자 포트폴리오에 말씀하신 1인 개발/운영
프로젝트에서 FE 관련 코드의 퀄리티가 부족해도 좋게 평가를 하시는 편인가요?
수준이 비슷한 두 명의 지원자 포트폴리오에서 1인 개발/운영
경험을 가진 지원자와 일반적인 사이드 프로젝트만 경험한 지원자의 평가 차이를 많이 두시는 편인가요?
2023. 08. 21. 18:45
재르재르쟁쟁님 안녕하세요 :)
질문 남겨주셔서 감사합니다.
2개 질문에 답해드리자면
Q) BE 직무 신입/주니어 개발자 포트폴리오에 말씀하신 1인 개발/운영
프로젝트에서 FE 관련 코드의 퀄리티가 부족해도 좋게 평가를 하시는 편인가요?
A) 지원자의 직무가 BE라면 FE 코드는 평가 대상에 포함시키지 않습니다.
반대로 FE 개발자로 지원했다면 BE 코드는 평가 대상에 포함시키지 않습니다.
그래서 전혀 다른 직무의 코드가 좋고, 나쁜 것이 평가 요소에 포함되지 않아, 해당 직무가 작업한 코드와 그 주변의 작업에 대해서 집중적으로 검증합니다.
Q) 수준이 비슷한 두 명의 지원자 포트폴리오에서 1인 개발/운영
경험을 가진 지원자와 일반적인 사이드 프로젝트만 경험한 지원자의 평가 차이를 많이 두시는 편인가요?
A) 실제 서비스를 운영해서,
사용자가 사용하다가 발생한 오류를 어떻게 본인이 인지하게 할 것인가
오류가 났을때 문제 원인을 정확하게 확인하기 위해 로그를 어떻게 남길 것인가
SQL 인잭션등 해킹성 시도가 계속 들어오는 것을 막기 위해 어떻게 방어할 것인가
갑자기 서버가 죽었는데 그게 무엇때문인지 확인하기 위해 어떤 작업들이 필요한지
등등 서비스 운영하다 보면 필요한 정말 많은 지식들이 필요합니다.
이건 단순히 코드를 이쁘게 작성하는 것과는 완전히 격이 다른 역량이라고 저는 보고 있습니다.
localhost:8080 밖에 보여줄 것이 없는 지원자보다는
코드가 아무리 더러워도 직접 서비스를 운영해본 사람에 대해서 더 좋은 분이라고 저는 생각합니다 :)
3
안녕하세요 솔루션 SI 회사에서 재직중인 3년차 개발자입니다. 현재 주 업무는 구축 및 인터페이스 연동 개발로 다양한 개발 경험과 깊이 있는 개발을 하고싶어 서비스 기업으로 이직을 원하고있습니다. 그러나 지금 당장 이직을 하기는 어려운 실력이라고 느껴 늦었지만 기초부터 다시 공부를 하고 있습니다.
현재 자바 기초부터 자료구조, 알고리즘, 시간복잡도 등 CS 지식에 대해 공부를 진행중이고, 이후 스프링으로 프로젝트를 진행하면서 코딩테스트 준비를 하려고합니다.
프로젝트는 게시판 형태로 소셜 로그인, 인증 방식 등 간단하지만 간단하지 않게 진행해보려고합니다.
이렇게 준비하려고 하는데 혹시 더 필요하거나, 이런 방향이 좋은 방향을 가는건지, 그리고 이 이후에는 어떤 공부를 이어나가야할지 알고싶습니다.
비전공자에 적지 않은 나이여서 하루하루가 중요한 시기라고 생각하는데 제가 좋은 방향으로 가는건지 고민이 많습니다.. 늦게 시작한 만큼 다른사람들보다 더 많이 노력했어야하는데 지금까지 허비한거같지만 지금이라도 바로잡으려 노력하고 있지만 올바른 방향으로 나아가는게 맞는건지 걱정이 큽니다..
한가지 더 궁굼한게 있는데, 지금까지 많지 않은 경험을 하였지만 몇번의 프로젝트를 하고 좋은 서비스를 운영하는 기업에서 일하고싶다는 목표가 생겼습니다. 제가 말하는 좋은 서비스 기업이란 규모는 중요하지 않고, 서비스 규모에 맞는 아키텍처를 가지고 하드코딩이나 주먹구구식으로 만들지 않은 서비스를 운영하는 기업입니다. 혹시 면접때 좋은 서비스를 운영하는 기업인지 확인할 수 있는 방법이 있을까요?
2023. 08. 19. 12:32
안녕하세요 hyo11 님.
질문 남겨주셔서 감사합니다. :)
개인적으로는 그냥 무작정 공부만 하는 것은 의미가 없다고 생각합니다.
계속해서 이력서를 제출하면서 면접을 보러 다니고, 면접에서 받은 질문들을 기반으로 공부하는 것이 훨씬 더 좋다고 생각합니다.
이와 관련해서 과거에 쓴 글이 있어서 이 글을 한번쯤 읽어보시길 추천드립니다.
말씀하신 자료구조, 알고리즘 등의 CS와 코딩 테스트 준비, 프로젝트 준비 등등을 하시고 나서 이력서를 제출하시면 너무 늦습니다.
그리고 알고리즘 테스트를 입사 과제로 보는 회사와 실전과 같은 프로젝트 구현 과제를 주는 회사들은 서로 다릅니다.
가시고 싶으신 회사가 어느 형태의 과제를 내는지를 보고 선택하는 것도 좋다고 봅니다 :)
가능하면, 자격증시험이나 수능시험 보듯이 숙제하듯이 공부하시는 형태는 좋지 않다고 봅니다.
개발 그 자체에 재미를 느끼셨으면 좋겠습니다 :)
그래서 직접 서버에 만드신 프로젝트를 배포하고 사용해보는 경험을 꼭 해보셨으면 합니다.
다른 분들의 이력서를 보셔도 어떤걸 준비해야할지 도움이 되실것 같습니다 :)
괜찮은 회사인지 확인하는 방법은 예전에 유튜브 영상으로 공유한적이 있어서 함께 공유합니다 :)
3
저는 현재 게임회사에서 웹서비스 2년차 백엔드 개발자로 일하고 있습니다
대학교랑 병행하여 회사를 다니고 있는 상태인데 아직 군 문제가 해결되지 않은 상태입니다
현재 직장을 1년 더 다니다 3년차를 달고 군 입대를 할 예정인데 이 부분에서 걱정이 많습니다
경력을 가지고 군 입대 후 전역 시에 2년 정도의 공백기가 생깁니다
공백기 뿐만 아니라 군대 환경을 고려했을 때 공부하기도 마땅하지 않은 점을 잘 알고 있어서 이후에 제가 전역했을 때 제 경력들을 하나도 살리지 못하고 뉴비의 입장에서 재취준을 해야되는 부분에 대해 걱정이 많습니다
동욱님 입장에서는 지원자가 3년차의 경력을 가지고 있더라도 군입대로 인한 2년의 공백기를 가지고 있다면 크게 메리트 없다고 느끼실까요?
아무래도 군대에서 개발 관련 부분이 제약되는 사항이 많고 전역 후 넉넉히 6개월 ~ 1년정도 잡고 다시 공부를 시작한다고 가정해도 3년차의 퍼포먼스를 내기는 역시나 힘들다고 느껴서 걱정이 참 많습니다
2023. 08. 04. 14:58
음 저는 사실 경력이 몇년차인데 공백이 있으면 감점요소로 본다 이런것은 전혀 없습니다.
공백 여부와 관계 없이 실력이 3년차에 걸맞는 분이냐가 중요하고, 3년차에 맞게 과제를 제출했느냐, 면접의 답변이 그정도 수준이냐가 중요했습니다.
이건 제 주변 다른 시니어분들도 거의 비슷하세요 ㅎㅎ
그래서 제 생각엔 "내 3년의 경력을 사람들이 인정해주지 않을것 같다"는 걱정보다는
"어떻게 해야 복귀 후, 3년차에 걸맞는 실력을 갖출수 있을까" 가 좀 더 유의미한 고민이 될 것 같아요 :)
그 어떤 회사의 면접관도 경력기간과 공백기간으로 지원자를 평가하진 않을거에요.
"어떤 경력과 공백이 있는건 알겠는데, 그래서 현재 실력이 어떤데?" 가 최우선 고려사항일거라고 생각합니다 :)
3
2023. 08. 04. 14:39
특정 언어를 자꾸 올려치기 하는 것 같아서 조심스러운데요 ^^;;;
언어나 프레임워크의 완성도와 별개로 한국 + 경력 1년 + 취업이라는 관점에서 제 경험 기반으로 이야기 드릴게요!
파이썬을 쓰는 회사가 확실히 적어진것 같긴 합니다.
다만, 파이썬 경력이 1년이 있으신데 바로 다른 언어로 환승하는 것 보다는 진짜 좋은 파이썬 회사가 없는지 먼저 고민해볼 것 같은데요.
저는 특정 기술을 사용하는 좋은 회사를 찾을때 가장 먼저 해보는 것이 해당 기술의 가장 유명한 컨퍼런스의 후원사 목록을 확인하는 것인데요.
예를 들어 파이썬 진영에는 파이콘이라는 대형 컨퍼런스가 있습니다.
올해 컨퍼런스 후원사 목록을 보면 다음과 같이 좋은 기업들을 알 수 있습니다.
페이히어, 레블업, 요기요, 크림등 좋은 회사들이 있기 때문에 이들을 한번 시도해볼 것 같아요.
파이썬 외에 한국에서는 백엔드가 크게 JVM (자바, 코틀린) 과 Node 쪽으로 나눠져있는것 같아요.
시리즈 C 이상의 기업들은 JVM으로
시리즈 B 이하의 스타트업들은 Node로
물론 시리즈 A, B에서도 JVM을 쓰는 회사들이 존재하며
시리즈 C 이상에서도 Node를 쓰는 회사들도 존재 합니다.
다만, 그 수가 상대적으로 비교했을때 위와 같은 양상을 보이는것 같아요.
제 주변을 보면 각 진영마다의 어려움이 존재했던 것 같아요.
JVM 은 큰 회사들이 많지만 그만큼 지원자들도 너무 많아 경쟁률이 치열하며, JVM 기반의 작은 스타트업들은 숫자가 적어서 주니어때 경력을 쌓을만한 회사들이 적다는 고민을 많이들 하시구요.
Node 쪽은 스타트업들이 많으니 이직이나 처음 취업의 난이도가 상대적으로 JVM 보다는 조금 더 수월하게 하셨던것 같아요.
다만, 흔히 말하는 네카라쿠배등의 회사들에 지원하기가 어렵고 (JVM 경력 몇년이상 등의 조건이 있는 공고들이 많다보니) 이런 큰 회사들에 지원하면 상대적으로 서류 탈락율이 높았던 것 같아요.
이게 올바른 것이냐 아니냐와는 별개로 제 주변 지인들, 멘토링 해주던 분들만 봤을때입니다.
또, 커뮤니티와 자료들이 부족해서 Java 나 C#쪽 자료들을 레퍼런스 삼아 공부하고, 스프링 개발자분들의 스터디에 참여해서 어려움을 겪기도 하시더라구요.
그래서 어디를 가든 그만큼의 어려움이 있는것 같아요.
저는 개인적으로는 다시 신입이 되어서 리셋해서 새롭게 시작하기 보다는 2년차 백엔드 개발자로서 실무 경험을 쌓는게 더 좋다고 봐요.
파이썬 기반의 백엔드 개발을 더 잘하기 위해 노력하다보면 다른 백엔드 기술 스택과 마찬가지로 좋은 경험을 쌓을 수 있을거라고 봅니다.
저 역시도 JVM으로 경력 내내 사용해오다가, 인프랩을 오면서 Node로 전환을 진행했고,
이때 JVM에서 더 잘하기 위해 노력했던 것들이 Node로 전환하는 내내 도움이 많이 되더라구요 ㅎㅎ
다른 언어와 프레임워크에서 진행되는 컨퍼런스가 있으면 참석하시는 것을 추천드립니다.
해당 컨퍼런스에 가서 다른 생태계에서는 문제를 어떻게 해결하는지 등을 보시고, 이걸 파이썬에서는 어떻게 풀었지로 연결해보면 좋은 경험이 될 것 같아요 :)
파이썬, 장고와 같이 애플리케이션 코드만 작성하는게 백엔드의 역할이라고 보진 않습니다.
네트워크, 리눅스 서버, SQL 튜닝 & 데이터모델링, 시스템 아키텍처 등등 다양한 경험이 백엔드에겐 필요하다고 봅니다.
좋은 장고 개발자가 되기 위한 노력 보다는
좋은 백엔드 개발자, 더 나아가서는 좋은 프로그래머가 되기 위한 노력이 정답이지 않을까 싶습니다 :)
3
2023. 08. 04. 12:39
저는 1~2년정도는 그렇게 다른 분야를 경험해보는 것도 좋다고 생각합니다 :)
물론 1~2년 혹은 그것보다 짧은 시간만에 너무 안맞으시면 다시 FE를 전문적으로 해보시면 되구요.
가능하면 데브옵스 영역까지도 해보시면 더 좋을것 같구요.
아시다시피 과거에는 프론트엔드 개발이라는게 없었는데요.
그러다보니 저는 신입 ~ 3년차까지는 프론트엔드 JS 코드 작업을 계속 해왔습니다.
웹 퍼블리셔분들이 작업해주신 마크업을 가지고 (지금은 다 잊혀진..) Backbone.js, Handlebar.js, Grunt (+Gulp) 를 활용해서 IE7 까지 적용 가능한 JS 코드를 작업해서 사용자 서비스에 배포하는 일을 주니어 경력 내내 해왔습니다.
그리고 이렇게 해왔던 프론트엔드 개발 경험이 이후 경력 내내 많은 도움을 주었습니다.
프론트엔드 개발자분들과 협업을 할때나
내부 도구를 만들어야할때 직접 프론트 영역까지 최신 프레임워크로 구현한다던가
CTO로 프론트엔드 개발자분들과 소통을 해야할때 등등
많은 부분에서 저에게 도움을 주었습니다.
그 당시에는 그게 문제라고 생각하지 않았고, 실제로 웹 개발자라면 당연히 해야한다고 생각했는데요.
요즘은 이 부분이 완전히 분리되다보니 오히려 FE <-> BE <-> Infra 영역에 대한 이해도가 너무 낮은 상태로 업무를 진행하게 되는 문제가 발생하지 않나 싶습니다 :)
최근에 트위터에서 본 문장 중에 딱 와닿는게 있었는데요.
"헤맨 만큼 내 땅이 된다"
이것저것 해보시는게 스페셜리스트가 되지 못하는게 아닐까 걱정하실 수 있겠지만,
나의 학습 방법, 학습 루틴을 테스트해볼 수 있는 좋은 기회로 생각하고, 여러 다양한 경험치를 쌓을 수 있는 시간으로 생각을 해보시면 어떨까요?
아참 그리고 CTO 분들중에 백엔드 베이스가 많은 부분은 저도 좀 궁금한 부분인데요.
전체 CTO분들을 모시고 통계를 뽑은게 아니라서, 실제로 그런것인지 아닌지 먼저 확인이 필요할것같아요.
다만, 실제로 말씀하신것처럼 백엔드 출신의 CTO가 더 많다고 가정하고 생각을 해보면 다음과 같은 이유 때문이지 않을까 싶어요.
FE <-> BE <-> DevOps 로 협업을 하는 것이 일반적인 IT 기업의 구조인데, 여기서 백엔드 분들이 서로 다른 영역에 계신분들 사이에서 일을 하다보니 상대적으로 다른 파트에 대한 이해도가 조금 더 높지 않을까 하는 것이 있구요.
회사의 핵심 비즈니스에 가까울수록 C레벨이 될 수 있다고 생각하는데요.
만약 우리 팀의 핵심 비즈니스가 메신저라고 하면 앱 개발 분들이 CTO가 될 확률이 높고,
Web UI Kit 혹은 사용자의 사용성에 관한 것이 메인 비즈니스라고 한다면 웹 프론트엔드 개발자분들이 CTO가 될 확률이 높을것 같아요.
백엔드는 아무래도 데이터에 대한 가장 가까운 조직이다보니, 데이터가 회사 비즈니스의 핵심이라면 (포털, 컨텐츠, 커머스 등이 다 데이터가 중요한 곳인것같구요) 백엔드 분들이 CTO가 될 확률이 높지 않을까 추측해봅니다.
어디까지나 제 추측이고요 ㅎㅎ
이건 너무 재밌는 주제라서 나중에 유튜브에서도 한번 호돌맨과 이야기 나눠보겠습니다 :)
지나가다... 마침 프론트엔드 개발자에서 CTO로 가는 커리어패스를 가상으로 만들어봤는데 혹시 참고가 되실까 해서 공유드려봅니다. https://www.wanted.co.kr/community/post/9913
저는 원래 클라이언트 사이드의 기술을 주로 해왔어서, 주변에 프론트엔드 개발하다가 CTO 하시는 분들도 조금 있는 편인데요. 백그라운드에 따라 장단점이 있는 것 같아요. 자신의 장점을 살리는 커리어를 만들어 가시면 좋겠고요.
프론트엔드 또는 앱 관련 경력이 많은 분들의 장점은 유저와 제품 중심으로 생각하는 역량이 뛰어나고 디자이너 협업에도 뛰어난 것 같아요. 제 개인적인 생각이지만 기술적 과제 해결보다도 사업적 성과를 내는데 더 유리한 것 같아요. 다만, 백엔드 경험이 없으면 종합적으로 판단하기가 어려운 한계도 있기 때문에 이 부분은 기회가 있을 때 경험을 쌓아두시면 좋구요.
지금 프론트엔드 개발을 하시는데 백엔드 개발자로 경험을 쌓을 기회가 있다면 향후 커리어에 분명 도움이 되실거라고 생각합니다. CTO가 되는 길이 한가지만 있는 것은 아니니 내가 잘 하는 역량을 살려나가시면 언제든 기회가 있을 거에요.
2023. 08. 04. 14:47
좋은 추가 답변 감사합니다 리건님 :)
답변해주신 리건님도, (전) 무신사의 CTO이신 조연님도 다 클라이언트 개발자분들이셨어서 백엔드 출신의 CTO가 많다 아니다보다는 어떤 사람이 우리 회사의 CTO가 되는 것이 사업적/제품적/기술적으로 좋을 것인가에 대해 많은 회사들이 고민 하고 결정하는 것 같아요 :)
2
2023. 08. 21. 18:38
안녕하세요 falsystack 님 ㅠ
정말 죄송하게도 아직 일정이 명확하게 나오진 않았습니다.
제가 참... 배치책을 계속 써야하는데 계속 집필 활동을 못하고 있었네요.
최대한 빠르게 작업하도록 하겠습니다 ㅠ
2
안녕하세요, 이렇게 질문 드릴 수 있는 기회가 있어 너무 좋네요. 감사합니다!
커리어와 관련된 고민이 평소부터 있어왔는데, 의견을 여쭤보고 싶습니다. 저는 서비스 대기업에서 서버 개발자로 일하고 있으며 경력은 3년 미만입니다. 대용량 트래픽 환경에서 일하고 있지만, 스프링 같은 프레임워크를 이용해서 DB와 커넥션하며 비즈니스 로직을 처리하는 일과는 거리가 멉니다. 언어도 JVM 계열이 아닙니다.
아무래도 서버 개발자라고 하면 대부분 '자바 + 스프링으로 비즈니스 로직'을 생각하실텐데요, 저처럼 그렇지 않은 '서버'를 개발하는 사람도 있습니다 ㅠ.ㅠ
우선은 현재 주어진 환경에서 이렇게 일을 하고 있지만, 저도 자바 + 스프링을 이용한 주요 비즈니스 로직을 개발하는 서버 개발자로 일하고 싶습니다. 제 환경에서 JVM 계열로 넘어가는 커리어가 많이 어려운 길일지.. 어떻게 생각하시는지 궁금합니다.
개인적으로는 부족한 부분을 채우기 위해 DB, JVM, 스프링 공부, 단위 테스트 공부를 퇴근 후에 꾸준히 하고 있습니다. 회사에서도 필요한 일이 있으면 스프링으로 서버들을 만들어서 제공하고 있으며, 스프링 자체는 꽤 오래 사용해와서 거부감이 없으며 빠르게 작성할 수 있습니다.
같은 회사에 스프링이나 JVM 컴포넌트들을 살펴보면 어떻게 돌아가는지 이해할 수 있고, 직업 변경의 기회만 주어진다면 바로 해볼 수 있을 것 같은 느낌이 들 정도로... 스프링에는 거부감이 없습니다. 다만 DB의 튜닝은 실제로 해본 적이 거의 없어서, 요즘은 DB와 관련된 공부를 많이 하고는 있습니다. 그렇지만 원래 DB 환경을 다루지 않다보니 실제 SQL 쿼리 개선을 해본 적은 없습니다 ㅠ.ㅠ..
또한 향로님이 하신 것처럼 좀 더 심화된 공부를 위해서 공부한 내용들을 실험해보면서 배운 것들을 잘 정리하려고 하고 있습니다. 예를 들면 JPA의 @GeneratedValue 생성 전략에 따른 Insert 성능 비교 및 해결 방법 같은 것들? 이 될 수 있을 것 같습니다.
평소에 하는 업무 환경은 대규모 클러스터화 된 서버에서 비동기 로직을 이용한 작업을 많이 하고 있고, 쿠버네티스 환경에도 익숙한 편입니다. 카프카나 레디스에도 다른 백엔드 개발자 분들에 비해서는 익숙한 편이고, 모니터링 시스템 같은 것들도 인프라 팀이 없어서 뚝딱뚝딱 구축할 수 있는 수준입니다.
정리하면 이렇습니다.
자바 스프링 개발자는 아니지만, 대용량 트래픽과 클라우드 환경에서 일하고 있으며
자바 스프링 개발자쪽으로 경력으로도 넘어가고 싶어 따로 DB나 스프링을 끊임없이 공부하고 있으며
스프링에는 익숙한 편이나, 스프링으로 구성된 서버로 대용량 트래픽을 겪어보지 못했으며
DB는 익숙하지 않아 끊임없이 공부하고 있습니다.
이런 상황일 때, 자바 스프링 기반의 비즈니스 로직 서버 개발자가 되려고 한다면 어떤 노력이 더 필요할지, 현실적으로 어렵다고 생각하시는지 궁금합니다.
항상 좋은 영상과 글 적어주셔서 감사합니다.
2023. 08. 28. 22:03
안녕하세요 코린코린님
질문 남겨주셔서 감사합니다. :)
이미 서비스 대기업에 다니시면서 "대규모 클러스터화된 서버에서 비동기 로직을 이용한 작업, 쿠버네티스 환경, 카프카, 레디스" 등에 익숙하시다면 그것만으로도 좋은 커리어라고 생각합니다.
물론 단순히 이직할 수 있는 회사의 범위로만 본다면 "스프링 + RDBMS" 조합에 대한 경험을 필요로 하는 곳이 많기 때문에 이러한 경험이 필요하다고 볼 수 있겠습니다.
다만, 그런 경험이 없다고 해서 코린코린님의 경험이 부족하다고 보긴 힘들 것 같습니다.
내가 접한 기술과 환경에 대해 내가 얼마나 깊게 이해하고 있고, 내 것으로 만든 것이 확실하다면 그것 자체가 새로운 회사로 이직할때의 강점이라고 생각합니다.
스프링 + RDBMS라는 코린코린님께 생소한 환경에 대한 것도 빠르게 본인 것으로 만들 수 있음을 알 수 있기 때문입니다.
저라면, 일단 현재 회사내 팀 이동을 통해 지금 원하시는 경험을 쌓을 것 같습니다 :)
그리고 회사내에서 경험을 쌓으면서 내가 부족한 것들이 무엇인지 좀 더 디테일하게 체크하면서 공부를 할것 같습니다 :)
예시로 드신 "JPA의 @GeneratedValue 생성 전략에 따른 Insert 성능 비교 및 해결 방법" 등은 생각보다 실제 RDBMS를 활용하는 회사에서 문제로 인식하기엔 어려움이 있습니다.
물론 저 지식이 필요없진 않습니다만,
이미 대부분의 테이블이 생성되어있고, 그 안에서 PK 선언 방법이 정리가 끝난 상태에서는 신규 테이블을 만들때 외에는 사용하기는 어렵습니다.
더군다나 대부분의 회사에서 데이터베이스의 성능 문제는 조회/인덱스 문제입니다.
RealMySQL 책의 실행계획, 인덱스 등의 챕터와 데이터 모델링 챕터등을 보시는게 훨씬 더 필요한 지식이 아닐까 싶습니다 :)
특히 RDBMS를 공부하실때 JPA, ORM에 의존한 공부를 하시면 안되며 SQL, 스키마, 실행계획, 인덱스 등 애플리케이션을 제외하고 공부하는 것도 필요합니다.
물론 이것도 제가 설명하신 것들을 기반으로 한 추측입니다 ^^;
그래서 가능하면 실제로 RDBMS를 사용하는 경험할 수 있는 팀으로 이동해서 실제 업무에 필요한 데이터베이스 지식이 무엇인지 체감하면서 공부하시는 것을 추천드립니다 :)
2
안녕하세요 향로님 저는 프론트엔드로 개발을 시작해 경력을 쌓아가고 있는 약 1년차 개발자 전찬우라고합니다.
처음 개발 시작할때는 프론트엔드, 백엔드, 인프라 모든게 관심이 많았지만, 어쩌다보니 프론트엔드에 재미를 붙였고 그렇게 첫 회사에 프론트엔드로 개발을 해왔습니다. 그런데 자꾸만 저는 프론트엔드보다는 백엔드나 인프라에 계속 관심이 생겨 한곳을 깊게 파지 못하고 많은 걸 시도하게 되는 것 같습니다. 그래서 현재 회사에서도 동료 분이 백엔드로 차라리 늦지 않았으니 이직을 권유를 하더라구요. 다른 한편으로는 프론트엔드로 길진 않지만 일해왔는데 백엔드로 바꾸는게 맞는지 고민이 되는 등 저 스스로 정체성을 못잡아 갈팡질팡하게됩니다.
향로님은 이런 경우에 어떻게 하는편이 좋다고 생각하시나요? 빠르게 하나를 정해서 그 스택을 파는게 좋을까요?
그리고 마지막으로 향로님과 인프런 정말 많이 응원하고 있습니다! 좋은 서비스 만들어주셔서 정말 감사합니다!
2023. 08. 28. 21:02
effx 님 안녕하세요.
질문 남겨주셔서 감사합니다 :)
저는 연차가 쌓이면서 딱 한분야만 하는 경우는 정말 큰 대기업에 있을때만 그랬던것 같아요.
스타트업에 있으면서는 확실히 여러 영역을 다 다루고 있게 되어서 T 형태의 지식이 쌓였던것 같습니다 :)
요즘의 프론트엔드 개발도 데브옵스 영역에 대해 점점더 공부가 많이 필요로 하고 있습니다.
그래서 프론트엔드 커리어를 쌓으면서도 다른 영역을 공부하는 것이 커리어에 방해가 된다고 생각하진 않습니다.
아래에서도 몇번 언급했던 배휘동님의 프론트엔드 커리어 로드맵을 살펴보면 다음과 같이 여러 트랙의 프론트엔드 개발자가 있습니다 :)
만약 제가 그런 상황이라면 저는 벨로퍼트님처럼 사이드 프로젝트로 하나의 서비스를 혼자서 다 만들어보는 경험을 쌓을것 같습니다.
벨로퍼트님이 라프텔, 리디등에서 근무하실때 FE 개발자로 일하셨지만,
사이드 프로젝트로 velog, veltrends 등을 만드실때는 풀스택으로 전체를 구현하셨던 것이 말씀하시는 커리어의 가장 이상적인 형태가 아닐까 싶습니다 :)
그리고 그렇게 하나의 서비스 전체를 만들어보면서 진짜 내가 백엔드, 데브옵스에 관심이 있는건지, 프론트엔드를 하다보니 잠깐 흥미가 있었던 것인지 구분 해보는 시간으로 가질 것 같아요 :)
인프런과 저를 응원해주셔서 감사합니다 :)
더욱 좋은 서비스로 보답하겠습니다 ^^;
2
안녕하세요 향로님!
저는 스타트업에서 백엔드 개발자로 일하고 있습니다.
이번에 고민이 생긴 것은 여기에서 일을 하다가 Airflow와 크롤링 일을 하고, 시계열 그래프를 그리고 데이터를 통한 인사이트를 주는 일을 하다 보니 데이터 엔지니어에 관심이 생겼습니다.
하지만 데이터 엔지니어의 JD를 보면 대부분 대규모 데이터들을 관리하는 하둡, 스파크 등의 기술들을 사용하고 있고, 대부분의 경력직 3년, 5년을 채용하다 보니 어떻게 하면 데이터 엔지니어 직무 변경에 성공적으로 준비할 수 있을지 알고 싶습니다!!
바쁘신 와중에 이렇게 문답해주셔서 감사합니다 ㅎㅎ
2023. 08. 21. 19:22
안녕하세요 양지님 :)
질문 남겨주셔서 감사합니다.
데이터 엔지니어 직무에 대한 구인은 제가 봐도 거의 없다고 느껴집니다.
특히 제 주변을 보면 소규모 스타트업은 데이터 분석가와 엔지니어를 별도로 구분해서 채용하지 않습니다.
풀스택 개발자를 채용하듯이 (모든 분야를 다 잘하는 것을 바라는게 아니라, 소규모로도 하나의 완성된 서비스를 만들 수 있는 정도를 바라는 것)
데이터 직무에 대해서도 상세하게 나눠서 채용하지 않고, 데이터 파트로 채용을 해서 분석/엔지니어링을 다 하길 바라고 있습니다.
제가 데이터 영역에 대해서는 전문가가 아니라서 조심스럽지만,
주변의 사례를 본다면 지금 같이 경력직만 채용 하고, 신입 엔지니어 채용이 없다는 가정 하에서는 다음과 같은 고민을 할 것 같습니다.
현재 회사에서 하시는 "Airflow와 크롤링 일을 하고, 시계열 그래프를 그리고 데이터를 통한 인사이트" 를 계속 하면서 회사가 좀 더 커지면 데이터 엔지니어 파트 신설을 요청 할 것 같습니다.
저는 어떤 직무냐 아니냐는 크게 중요하다고 보지 않습니다.
(건강보험 서류에 백엔드개발자라고 출력되는 것도 아니니깐요)
사내에서 어떤 역할을 했느냐 가 중요하고, 그걸 했기 때문에 타 회사 이직시 충분히 경력으로 인정 받을 수 있다고 생각합니다.
특히나 회사를 다니고 있으니, 회사가 망하지 않는 이상은 계속해서 일을 하시면서 주니어 채용 공고가 나올때까지 연습할 시간을 벌 수 있다고 생각 되구요 :)
가능하면 회사를 나와서 준비하지는 마세요.
그리고 어떤 직무의 타이틀을 얻어야만 경력이 쌓인다고 생각하진 말아주세요.
본인이 어떤 역할을 했느냐가 중요하며, 그리고 이 업을 더 잘하기 위해 어떤 노력을 계속 해왔는지가 훨씬 더 중요하다고 생각합니다 :)
그렇게 시간을 보내시다보면 원하시는 회사들의 채용공고가 올때까지 계속해서 성장하면서 기다릴 수 있다고 봅니다.
2
안녕하세요 비전공자로 스타트업 입사 6개월차에 들어가는 프론트엔드 개발자입니다.
현재는 프로젝트 하나를 마치고 새로운 프로젝트에 돌입하며 공부해나가는 부분이 많지만 회사 내 프론트엔드는 저뿐이라 나의 현재 위치에 대한 고민이 많습니다. 개발에 대해 실무를 하면서 더 재미를 느끼며 적성에 맞다고 생각하면 행복하지만 그래서 더 개발자로서 성장하고 싶은 욕심이 생깁니다. 현재 회사는 개발팀 규모가 작고 프론트엔드는 저뿐이라 여러 개발자분들과 다양한 코드를 접하고 프로젝트 과정을 경험하고 싶습니다. 그러기 위해서는 제가 그런 회사에 입사할 수 있는 자격이 필요하겠지요^^
2-3년차에 현실적으로 이직을 바라본다면 실무 혹은 개인공부에서 경험하거나 갖추어야할 기술에 대해 궁금합니다. 또한 파이썬, 노드 등 흥미가 생기고 있어 이를 병행해 공부하는 것이 좋을지 프론트엔드로서의 성장에 집중하는 것이 좋을지 현실적인 답변도 궁금합니다. (파이썬이냐 노드냐 도 더불어 고민이네요)
추가로 먼저 질문해주신 분들의 향로님 댓글을 보며 "척박한 실전 환경에서 얼마나 개선해보려고 노력했느냐" 부분을 중점을 본다고 하셨는데 로직이나 코드구조 등을 짜거나 프-백 데이터 구조를 회의하고 정리한 문서는 공유하기 힘든데 구두나 간단한 설명으로 적어두어도 되는지 궁금합니다. 블로그에 공부하면서 배운 개념보다 문제해결과정, 코드 수정 과정을 중점으로 내용을 늦게나마 정리해보려 하는데 이 방향성으로 가도 괜찮을까요? (공부 내용은 노션에 따로 정리하고 있습니다.)
묵묵히 해나가면 되지만 고민이 많아지는 것은 어쩔 수 없는 것 같습니다. 궁금한 것이 많아 질문 폭탄이 되었네요 ㅎㅎ 🙂
2023. 08. 21. 19:10
안녕하세요 finedev님
질문 남겨주셔서 감사합니다 :)
제가 2~3년차 프론트엔드 개발자로 이직을 해본 적이 없기 때문에 정확한 답변은 아닐 수 있습니다.
이점 양해 부탁드리겠습니다 :)
Q) 파이썬, 노드를 공부하는 것 vs 프론트엔드 성장 집중
저는 전문분야에 대한 공부가 충분한 상태가 아니라면 전문 분야에 대한 공부를 먼저 할 것 같습니다 :)
이제 6개월차 밖에 되지 않으셨는데 백엔드를 공부하는 것은 2~3년차가 되었을때 전문성이 전혀 쌓여있지 않을것 같습니다.
가능하면 프론트엔드 분야에 대한 공부를 계속 하시는 것을 추천드립니다.
만약 내가 직접 하나의 서비스를 운영해보고 싶다는 생각이시라면
프론트엔드 외적인 부분은 최소화할 수 있도록 Node.js로 하시는 게 좋을것 같습니다.
Q) 프론트엔드 2~3년차에게 기대하는 수준
A) 이건 제가 존경하는 개발자이신 배휘동님께서 블로그에 이미 정리해둔 글이 있어서 해당 글로 대체하겠습니다 :)
Q) 문제해결과정, 코드 수정 과정을 중점으로 내용을 늦게나마 정리해보려 하는데 이 방향성으로 가도 괜찮을까요?
A) 어떤 문제를 어떤 과정으로 수정했는지의 구체적인 예시가 없어서 제가 그런 방향으로 가도 되는지에 대해서는 확답을 하기가 어렵습니다 ^^;
사람마다 가진 경험이 다르기도 하고, 그걸 녹여내는 문장력도 큰 차이가 있기 때문입니다.
다만, 제가 다른 회사에서 탐낼만한 좋은 서비스를 개발하고 있는 상황이 아니라면,
저는 말씀하신 방법을 제가 가진 문장력으로 잘 녹여낼 것 같습니다.
ps)
finedev님의 현재 역량이나 가지신 경험등을 전혀 모르는 상태에서 답변을 하는 것이라 아무래도 제한이 있다고 봅니다 :)
위에서 언급한 존경하는 프론트엔드 엔지니어이신 배휘동님께서는 인프런 내에서 멘토링을 하고 계십니다.
배휘동님과의 멘토링을 통해 성장에 대한 여러가지 고민들을 나눠보시는 것을 강력 추천드립니다 :)
2
안녕하세요 4년차 백엔드 개발자입니다. 저는 SI 회사를 2년 조금 넘게 다니며 구체적인 파트 구분 없이 프론트, 백엔드업무를 조금씩 맡아서 하다가 스타트업으로 이직하여 백엔드 개발을 1년 조금 넘게 하고 지금은 퇴사를 하였습니다.
그동안 일을 하면서 주어진 요구사항에 맞게 기능 개발은 어느정도 할 수 있지만 더 나은 방식, 기본 기반 지식, 전반적으로 어떻게 돌아가는지 전체적인 아키텍처 구조 등을 깊이 있게 알지 못한다는 생각을 많이 했습니다. 그래서 회사를 다닐때도 사내 스터디 등을 통해서 공부를 해보았지만 유지되기가 쉽지 않았고 개인적인 사정으로 퇴사를 한 지금은 혼자 공부를 해나가는데 조금 어려움이 있는 것 같습니다.
혹시 4년차 백엔드 개발자에게 어느 정도를 기대하고 있는지, 이런 부분은 기본으로 알았으면 좋겠다 하는 것이 있을지, 어떤 방식으로 공부를 이어 나가면 좋을지, 추천하실만한 강의나 책이 있을지 여쭤봅니다. (여쭤보면서도 사실 회사마다 상황마다 기대 정도나 요구사항은 천차만별이란걸 알지만… 그래도 혹시나 생각하시는 것들이 있을까 하여 문의드립니다. ㅠ)
감사합니다.
2023. 08. 21. 18:31
안녕하세요 Sony Bae 님
질문 남겨주셔서 감사합니다 :)
음 저는 4년차가 대략 이정도는 해야한다라는 보편적인 기준을 갖고 있진 않습니다.
어떤 회사에 입사했냐에 따라 얻을 수 있는 경험이 다르기 때문에,
그 사람을 판단하는데 있어서 객관적인 기준을 가지기란 어렵고,
그 환경내에서 할 수 있는한 최선을 다 하신것인지를 좀 더 보려고 하는 편인데요
기술적 취향이 맞는 회사에 가셔서 아무런 노력을 하지 않은 분과
기술적 취향이 맞지 않는 회사에 갔지만 정말 노력을 많이 하신 분 사이에서
전자인 분이 어떤 특정 기술에 대해서는 좀 더 숙련도(전문성은 아닙니다) 가 높긴 하겠지만,
전자가 더 좋은 개발자 라고 저는 생각하지 않기 때문입니다.
다만, 질문 주신 요지에 대해서는 아마도 "남들이 좋다고 생각하는 IT 서비스 기업에서 원하는 4~5년차에게 필요한 역량" 이 무엇인지 궁금해하실것 같고,
그런 회사들의 기술 스택이나 아키텍처가 어느정도 보편화 되어있기 때문에 그것에 대해서는 이야기해줄 수 있지 않겠냐라고 저는 해석을 했습니다 :)
아니라면 편하게 말씀주세요! ㅎㅎ
예전에 제가 쓴 글 중에서 자바, C#으로 된 좋은 컨텐츠들을 한번 정리한 적이 있습니다.
이 안에 있는 컨텐츠들을 보시면 좋습니다.
이중에서도 특히 추천드리고 싶은 것들을 남깁니다.
자바, 스프링, SQL 등으로 기능 구현은 어떻게든 해낼 수 있는 분이라는 가정하에
스프링 기본은
스프링 부트를 직접 만들어가는 과정을 담은
이 외에 클린코드, OOP, SQL 등을 배우기 위해 아래 내용들을 추천합니다.
Real MySQL 혹은 SQL 레벨업
특히 백명석님의 클린 코더스는 저나, 제 주변 지인들도 모두 2회이상 전체영상을 시청할 정도로 강추 합니다.
물론 이외에도 JPA와 같은 ORM도 당연히 공부하셔야하고, 클라우드 환경에 대한 이해도 필요합니다.
테스트코드 역시 절대 빠질 수 없는 요소입니다.
다만, 만약 이걸 전체를 다 하기가 어렵다면, 그리고 같이 공부할 동료나 내가 제대로 공부한 것이 맞는지 확인이 필요하다면 코드리뷰가 지원되는 유료 강좌를 수강하시는 것을 추천합니다.
NextStep의 강의들은 모두 코드리뷰가 지원되고,
TDD, 클린코드, OOP 등을 배우는데 좋은 커리큘럼을 가지고 있으니 자금이 있으시다면 들어보시길 추천드립니다.
2
안녕하세요. 만 3년차를 향해 걷는 중인 주니어 개발자입니다.
첫 시작을 si 프리랜서로 시작해서 그런 것인지는 잘 모르겠으나 깊이가 부족한 느낌이 계속 드는 중입니다.
대량의 데이터에 대한 핸들링 경험이 있다거나, 어떤 큰 프로젝트를 운영하고, 다른 개발자 간 리팩토링을 통해 코드를 최적화 하는 등... 다른 개발자 분들은 착실하게 걸어나가고 있는 길을 처 혼자 걷지 못하는 것 같습니다.
현재는 중소기업에 정규직으로 입사하여 사내 자체 유통 프로그램을 만드는 일을 기획부터 참가하고 있습니다.
큰 프로젝트는 아니고 우선 작게 시작해서 점차 넓혀가자 말씀하시는데, 이 길이 저에게 도움이 될 수 있을지 모르겠습니다...
모든 일은 무조건 도움이 된다. 안 되는 것 같아 보여도 알아채지 못하는 동안 도움이 되고 있는 중이다.. 라는 말을 자주 접했고, 저도 그렇다고 생각하지만 이게 당장의 경험 및 실력 향상에 있어 도움이 될지..
현재 사수가 없는 상황입니다. 모든 것을 제가 혼자 헤쳐나가야 하는 것이나 마찬가지 인데 시니어 개발자의 도움 없이 하나의 프로젝트를 시작해서 마감하는 업무를 제가 잘 해낼 수 있을 지에 대한 걱정도 큽니다...
이러다가 일을 잘못 배우고 잘못된 길에서 벗어나지 못하면 어떻게 되는 거지 하는 생각을 하루에 수십 번씩 하는 중입니다.
제가 어떤 마인드를 가지고, 어떤 공부를 해나가야 이러한 상황 속에서도 제 실력과 경험을 겸비할 수 있을 지에 대한 조언을 듣고 싶습니다.
2023. 08. 19. 12:14
안녕하세요 :)
질문 남겨주셔서 감사합니다.
저는 보통 걱정이 많아질때면 가장 먼저 하는 것이 A 를 선택했을때와 B를 선택했을때를 각각 사실 기반으로 비교를 합니다.
지금 익명님의 걱정은 저도 충분히 공감되기 때문에 제가 그 상황이라고 생각하고 비교를 해보면 다음과 같겠습니다.
지금 회사에 계속 남아 있는 경우
사실
연차/경력이 쌓임
시니어의 조언이나 리뷰를 받을 수 없음
B2C 서비스 개발 경험을 쌓을 수 없음
사내 자체 유통 프로그램 개발 경험을 쌓을 수 있음
안정적으로 매월 급여가 들어옴
아직 발생하지 않은 일
잘못된 학습으로 커리어가 꼬임
지금 회사를 퇴사하고 이직을 위한 공부하는 경우
사실
연차/경력이 쌓이지 않음
시니어의 조언이나 리뷰를 받을 수 없음
B2C 서비스 개발 경험을 쌓을 수 없음
개인적인 공부할 시간을 확보 할 수 있음
급여가 더이상 들어오지 않음
아직 발생하지 않은 일
개인 시간의 공부로 올바른 성장을 할 수 있음
사실 말씀하신 걱정 중에서는 퇴사후 혼자 공부해도 쌓을 수 없는 것들이라고 생각합니다.
시니어의 좋은 조언을 받지 못하는 점이나, 대용량 트래픽 등 잘나가는 서비스 회사에서 얻을 수 있는 경험등이 이에 해당한다고 봅니다.
정확한 내부 사정과 개인 사정을 알 수 없기 때문에 남겨주신 질문만으로 비교를 하였습니다 :)
한번 객관적으로 회사를 계속 다니는 것과 퇴사 후 개인공부를 하는 것 사이의 사실, 장/단점 등을 나열해서 비교해보시고 적절한 선택을 해보시는 것을 추천드립니다 :)
2
2023. 08. 18. 19:29
안녕하세요 김재환님
질문 남겨주셔서 감사합니다. :)
사실 제 기준에서는 프로그래밍 경험이 전무한게 아니라면 C++, MFC, 자료구조, 네트워크 등에서 자료구조, 네트워크 등은 프로그래머라면 어느정도 알고 있어야할 기반지식중 하나라서 굳이 일정에 포함시키지 않을것 같고,
C++ 은 JS에 대한 공부를 충분히 하셨다면 배우시는 데 큰 문제가 없다고 봅니다.
그리고 MFC만이 아마 조금 다르게 느껴지실 수 있을것같은데요.
그럼 3개월이면 저는 충분하지 않을까 싶습니다 :)
단순한 예로 프로그래밍을 처음하는 입문자를 대상으로 한 부트캠프에서도 프로젝트 기간을 제외하고 교육 기간으로만 하면 3개월을 넘는 경우가 거의 없는 것을 생각해보면 비슷하지 않을까 싶습니다 :)
다만, 이 기간 내에 훈련이 되냐 안되냐는 중요한 문제는 아닌것 같습니다 :)
많은 회사들이 그런 온보딩 기간을 주지 않는 곳들이 더 많기 때문인데요.
3개월이라는 신입 온보딩 기간은 생각보다 회사에서 많은 시간을 투자하는 것으로 저는 판단됩니다 :)
그렇다면 3개월안에 어떻게든 이 과제를 달성하기 위해 집중하는 것만 고려할것 같습니다 :)
2
안녕하세요 si에서 만 2년을 한달 앞두고 있는 개발자입니다.
현재 이직 준비 중에 있으나 최근들어 고민이 생깁니다. 공금융에서 2번, 금융에서 현재 프로젝트 진행 중이라는 경력이 있지만 자격증 같은 스펙은 전무합니다. 이런 상황에서 서비스 기업이나 큰 기업으로의 이직을(신입으로 준비 중입니다) 계속 준비하는게 맞는지.. 비슷한 규모의 기업으로 경력으로 이직을 준비하는게 맞을지 고민이 됩니다. 대기업으로의 이직을 계속 준비하는게 맞는지.. 맞다면 코테나 기술 공부 외에 기사나 영어 성적이라도 더 준비해야할지..
그냥 이대로 노력하는게 맞나 하는 생각이 들어 여쭤봅니다 감사합니다
2023. 08. 18. 19:23
안녕하세요 재미있는 산호님 :)
지금 어떤 노력들을 하고 계신지 잘 모르겠어서 이대로 계속 해도 되는지에 대한 고민을 이야기하셔도 답변드리기가 어려운것 같습니다 ^^;;
다만, SI 계열의 대기업을 노리시는게 아니라면 자격증과 영어는 준비하지 않으셔도 될 것 같습니다 :)
스타트업이나 서비스 회사들은 그 둘을 전혀 보지 않아서요
2
안녕하세요. 만 3년차 솔루션업체에서 일하고 있는 개발자입니다. 한 회사에 3년 이상 다니는 중이라 새로 들어오시는 경력직 분들에게 항상 듣는 소리가 경험이 부족하다는 소리를 들었습니다.
그래서 이직을 하고는 싶지만 제가 3년차에 맞는 실력을 갖고 있는지 의문을 가져서 망설이게 됩니다. 신입 면접 질문 보면 저도 모르는게 많다보니 신입도 알아야되는걸 내가 모르는게 맞는건가? 라는 의문도 들기도 합니다.
모르는걸 알게 되면 공부하면 되지 않느냐 라고 생각이 드실수도 있습니다. 그런 부분은 항상 공부하며 습득하지만 그 이외에 제가 미처 찾아보지 못한 것에 대한 무지의 두려움이 큰 것 같습니다.
설계 능력도 사실 회사에서 설계를 하지 않고 유지보수만 대부분 하다보니 설계같은 것도 갈피를 못잡는것도 사실입니다. 그래서 사이드 프로젝트를 해도 마무리를 못지은것도 많구요. 코드도 코드리뷰같은 문화가 아직까지는 없어서 제 코드에 대한 피드백도 없어서 무엇을 잘못 짰는지도 모르고요.
부딪혀봐야 벽이 얼마나 높은지 알 수 있다지만, 막상 벽이 구름 너머로 솟은걸 알게 된다면 의지가 꺾이지 않을까 하는 생각이 듭니다.
2023. 08. 09. 16:34
안녕하세요 jeong-min yoon 님
질문 감사합니다. :)
전체적으로 내용이 길어서, 어떤 것이 고민인지 제가 찾기가 조금 어렵긴한데요.
제 생각에는 "이직을 하고는 싶지만 제가 3년차에 맞는 실력을 갖고 있는지 의문을 가져서 망설이게 되고, 노력에 대한 의지도 꺾이지 않을까" 하는 것으로 보이는데 맞으실까요?
(제 생각에는)이런 부분에 대한 고민이 있으신 것 같아서 한번 제 생각을 나눠볼게요 ㅎㅎ
노력해야할 것이 너무나 많으면 그 양에 압도되는 것은 사람인이상 누구나 그럴 수 있다고 생각합니다 :)
다만, 그렇게 압도 되고 나서 "그 이후에 어떤 행동을 취하느냐" 는 사람마다 다른 것 같아요.
누군가는 압도되어 아무것도 못할 것이고,
누군가는 그럼에도 불구하고 한발자국씩 전진하는 사람이 있을거에요.
결국 움직이지 않으면 그 어떤 것도 내 지식이 되진 않을테니깐요.
프로그래밍 세계에는 분할 정복 이라는 개념이 존재합니다.
아주 거대한 양도 작은 것 부터 시작하시면 결국 다 해결되실거라고 생각합니다 :)
그리고 혼자서 공부하시면서 코드리뷰나 좋은 코드에 대한 피드백에 대한 아쉬움은 저는 다음과 같이 해결했습니다.
(저도 SI나 시니어가 없는 회사등을 다니면서 코드리뷰 등에 대한 갈망이 높았던 시절이 있었어서요 ㅎㅎ)
인프런의 멘토링을 통해 포트폴리오, 학습방법, 이력서에 대한 피드백을 받으시거나
등등 신뢰할만한 사람들을 통해 피드백을 받아보시는 것을 추천드립니다. :)
좋은 개발 문화를 가진 회사로의 이직은 항상 어려움이 많고, 해야할 일이 많은 것을 저도 100% 공감합니다.
저 역시도 커리어 전환하기 위해 많은 시간을 쏟았었구요.
돌이켜보면 그런 시간으로 인해서 커리어 전환이 된 것도 좋았지만,
몰랐던 것들을 하나둘씩 알게되는 순간, 과거 보다 조금 더 성장하고 있음을 느끼는 그 과정 자체가 저에겐 가장 큰 보상이였던 것 같아요 :)
이 많은 노력과 시간을 쏟아야만 얻을 수 있는 보상에 집중하시기 보다는
그 과정 자체를 즐기시는 것을 더욱 추천드립니다 :)
1
2023. 08. 28. 21:06
경력직 이직을 원하시는지, 중고신입으로서의 이직을 원하시는지에 따라 다를것 같습니다 :)
보통은 만 2년이 되어야만 경력직으로 생각하는 경우가 많지만, 회사 별로 3년이상, 5년이상 등을 채용 공고 조건에 넣고 있는 경우도 있습니다.
그래서 어느정도 경력이 있어야 이직이 가능한지는 알 수 없으며,
채용공고를 낸 회사가 기대하는 역량을 쌓았느냐가 더 중요한것 같습니다.
경력이 있다고 해서 그게 실력을 나타내는 지표는 아니라는걸 요즘은 정말 많은 회사에서 인지하고 있어서요 :)
1
안녕하세요 향로님! 우선 좋은 자리 마련해주셔서 감사드립니다.
저는 IT 계열이 아닌 스타트업의 소규모 개발팀에서 풀스택으로 3년째 업무를 보고 있습니다. 팀의 규모와 IT 계열이 아니라는 점에서 자의반 타의반으로 풀스택 업무를 보고 있는데요. 넓은 경험을 할 수 있기 때문에 만족스럽게 일을 하고는 있지만, 막상 채용 공고를 살펴보면 시장에서 풀스택 개발자를 원한다는 느낌은 많이 들지 않더라고요. 그래서 이직을 하는 순간에는 저의 경쟁력이 떨어질까 걱정이 되기도 하고, 결국 FE, BE 중 하나를 선택하여 더 날카로움을 가져야하나 싶은 생각도 듭니다.
이에 시장에서 풀스택 개발자에 대한 관점이나 수요가 궁금하기도 하고 기타 다른 조언이 있으시다면 말씀 부탁드리겠습니다. 감사합니다 :)
1
안녕하세요?
저는 현재 학부 3학년 컴퓨터 전공하고 있는 학생입니다. 개발바닥에서 이력서 포함 조언 주시는 내용 자주 찾아 듣고 있는데요, 신입 백엔드 개발자에게 있어 기본기가 참 중요하겠구나라는 생각을 많이 하게 됩니다. 방송에서 말씀하신 내용 포함 제가 신입 백엔드로서 기본기를 기르기 위해서 하고 있는 공부는
[현재 하고 있는 공부]
1. Java 언어 실력 - 말씀해주신 모던 Java In action, 이펙티브 자바 같은 서적을 보면서 공부하고 있고, 리팩토링을 하고 있는중입니다.
2. sql - 학교에서 배우는 db 수업 포함 sql 쿼리에 대한 공부를 많이 하려합니다.
3. http - 프로젝트를 하면서도 그렇고, 웹 개발자로서 http에 대한 지식이 많이 필요하다라는 걸 느꼈습니다. [http 완벽가이드] 책을 시간 날때 정독하고 있습니다.
4. 프로젝트 - 같은 학부생들과 진행중입니다.
1) Spring + Jpa 기반으로 하는 프로젝트를 진행하면서, 제가 스스로 고민했던 내용, 고민을 해결하기 위해 공부한 내용, 어떻게 해결했는지(리팩토링)를 블로그에 기록하면서 공부중입니다.
2) 프레임워크가 워낙 내용이 많기 때문에 영한님 spring, jpa 기본 강의를 우선 들으면서, 프로젝트에서 강의 이외에 적용해야하는 내용을 찾아 bottom-up 방식을 통해 채워나가는 작업 노력중입니다.
3) 테스트 코드 작성하는 방법 , aws 기본적인 내용까지는 (배포 자동화등) 공부하려 하고 있습니다.
5. 학교 전공공부 - db, 네트워크, 운영체제, 자료구조, 알고리즘과 같은 중요한 cs과목은 학교 수업을 들으면서 공부하는 중입니다.
[더 진행하고 싶은 공부]
1. 클린코드, 리팩토링 같은 서적 - 코드를 짜면서 제 스스로 코드의 가독성을 포함해, 더 좋고 클린한 코드를 짜기엔 현재 너무 부족하다라는 생각이 많이 들어서, java, spring 등 기본 지식이 쌓이면 공부해볼 생각입니다.
2. Spring Security - 제가 인가/인증 작업을 프로젝트에서 담당하고 있었고, 현재는 Spring Security를 사용하지 않고, 코드를 구현해놨는데, 여러가지 한계를 많이 느껴 해당 프레임워크를 더 공부하려고 합니다.
3. Redis - 역시 프로젝트를 하는 동안 인메모리 db의 필요성을 많이 느껴 공부해보려합니다.
4. Elastic Search - 프로젝트에서 필요성을 느끼진 않았지만, 학교 수업에서 잠깐 접해본 적이 있고, 스스로도 공부를 해봤지만, 아직 적용을 못해서 더 공부하고 싶은 생각이 있습니다.
[사실 더 진행하고 싶은 공부]를 제 나름대로 최소화한 것인데, 우선 [현재 하고 있는 공부]의 진행 상황을 보고 가능하면 진행해보려합니다.
기본기가 중요하다고 느끼지만 동시에 주위에 신입으로 지원하는 지원자분들의 기술 스택(msa, tdd등) 및 프로젝트, 인턴 경험을 보면 위축이 되기도 합니다.
하지만, 신입에게 필요한 실력 및 기본기를 좀 더 깊이 공부하면서 집중해보려합니다.
말씀드린, [현재 하고 있는 공부], [사실 더 진행하고 싶은 공부] 관련해서 조언 해주시면 너무 감사합니다. 또 추가적으로 이런 공부를 집중적으로 했으면 좋겠 싶으신 내용들 말씀해주시면 너무 감사하겠습니다!
2023. 08. 28. 21:40
안녕하세요 MJKim 님 :)
질문 남겨주셔서 감사합니다.
저는 요즘의 신입 소프트웨어 엔지니어 지망생분들이 어떤 공부가 필요한지를 여쭤보실때마다 항상 이야기드리는 것은, 하나의 서비스를 온전히 다 만들어서 실제 운영까지 해보는 것을 이야기 드립니다.
어느 카테고리의 회사 취업을 목표로 하느냐에 따라 다르겠지만,
일반 웹/앱서비스의 소프트웨어 엔지니어는 고객의 불편함을 해결하는 제품을 만들어내는 것이 제 1역할이라고 저는 생각합니다.
소프트웨어 엔지니어는 학술가 혹은 연구원이 아니라고 생각합니다.
"내가 원하는 무엇을 만들기 위해서는 어떤 기술이 필요하다. 그렇기 때문에 그 기술을 공부하겠다" 로 접근해야만 저는 올바른 공부가 된다고 생각합니다 :)
학교에서 시험 공부하듯이 어떤 기술을 공부하는 것은 결국 학문 그 이상이 되지는 못하는 것 같습니다.
특히나 백엔드 개발자는 사용자가 없는 환경에서 단순히 공부만으로는 본인의 역량이 되지 못하는 부분이 굉장히 많습니다.
아래 서비스들은 모두 다 개인 혹은 2인의 팀이 만들어낸 제품입니다.
저는 MJKim 님도 내가 느낀 어떤 불펴함 혹은 최소한 나 라도 쓸 서비스를 하나 만들어가면서 그때그때 필요한 것들을 공부해서 하나의 웹 서비스를 구축하고 실제 24시간 운영하기 위해서는 어떤 것들이 필요한지 몸으로 직접 느끼면서 채워나가시는 것이 가장 필요한 공부이고 좋은 학습방법이 아닐까 생각합니다 :)
1
안녕하세요 현재 신입 개발자를 위해 노력하고있는 3학년 학부생입니다. 서비스 기업 백엔드를 목표로 공부하고 있습니다.
질문은 "어떻게 기본기를 어필할 수 있을까?" 입니다.
서비스 신입을 준비하다보니 코테 + CS는 기본이라고 생각해 열심히 공부중인데 기본기를 탄탄하게 하는 것 자체가 오래 걸리고 쉽지 않다고 생각합니다.
남들과 경쟁력이 있을만큼 기본기를 준비하고자하니 남들은 프로젝트에서 아키텍처쪽까지 공부하고 있는데 저만 단순히 깊게 준비해서 내가 기본기를 보여줄 수 있는 면접까지 갈 수 있을까? 라는 의문이 듭니다.
제가 공부하는 방법이 잘못됐다고는 전혀생각하지 않지만 이러한 장점을 어떻게 서류에서 어필할 수 있을까? 라는 의문이 듭니다.. 요새 이력서 서류보면 성능개선, 자동Ci / CD 구축 등과 같은 서류보다 경쟁력이 떨어질 것 같아 두려운 마음이 조금 드는것 같습니다.
그리고 기본기 준비로 OS를 직접 만들어보는 경험을 해보려고 하는데 너무 과한 투자인지 기본기의 방향성은 어떻게 잡아야 하는지도 추가적으로 첨언해주시면 감사드리겠습니다
ex) 자바 인 액션, 이펙티브 자바 등의 공부도 필요하다고 생각하지만 os자작을 먼저할지 순서에 대해서 고민이 꽤 있습니다..
2023. 08. 28. 21:29
안녕하세요 rlamw2000님
질문 남겨주셔서 감사합니다 :)
지향하시는 회사의 유형이 어디냐에 따라 다를것 같아요.
백엔드 개발팀의 규모가 20명 이하인 대부분의 스타트업에서 생각하는 기본기는 내가 사용하고 싶은 제품을 직접 만들어본 경험을 이야기하는 경우가 더 많은 것 같습니다.
알고리즘, 자료구조 등을 공부하는 이유가 취업때문인지,
내가 더 좋은 소프트웨어를 만들기 위해 필요한 지식이라 공부하는 것인지 구분하는 것은 굉장히 중요하다고 생각합니다.
그리고 스타트업의 소프트웨어 엔지니어는 학습, 연구만을 하는 연구원이 아니라, 결국 제품을 만들어낼 수 있는 사람이어야 한다고 생각합니다 :)
본인이 불편하다고 느낀 점을 해결하기 위해 소프트웨어 기술을 활용해보신 적이 있으실까요?
주변인들의 불편함을 해결하기 위해 소프트웨어를 만들어보신적이 있으실까요?
어떤 제품을 만들어서 본인의 불편함을 해결하셨나요?
저는 소프트웨어 엔지니어가 되겠다는 것은 이런 점에 대해서 먼저 고민하는게 필요하다고 생각합니다 :)
CS공부를 많이 하고, 그걸 증명만 할 수 있다면 스타트업에서 생각하는 좋은 소프트웨어 엔지니어가 된다고 생각하진 않습니다.
소프트웨어를 학문적으로만 접근하지는 않으셨으면 좋겠습니다 :)
그리고 이건 마지막에 언급하신 이펙티브 자바를 공부할까 말까에 대한 것도 같은 의미입니다.
물론 스타트업 등이 아닌 네이버, 카카오 등의 빅테크에서는 좀 더 장기간의 안목을 갖고 신입 개발자를 평가합니다 :)
저는 대학생 신분이라면 당장의 취업 준비 보다는 OS를 만들어 보는 것도 좋은 방법이라고 생각합니다.
다만, 그 경험이 취업에 유리하냐라고 한다면 그건 아닐 확률이 높을 것이며
개발자로서 길게 본다면 당연히 도움이 될 수 있다로 생각을 정리할 수 있을것 같습니다.
네이버에서 진행한 백엔드 개발자를 꿈꾸는 학생개발자에게 를 읽어보시면 도움이 많이 되실것 같습니다 :)
위 링크와 더불어서 글을 작성해주신 정상혁님께서 댓글로 남겨주신 내용도 함께 첨부하니 같이 읽어보시면 좋을것 같아요 :)
어떤 역량을 가져야 신입 개발자로 뽑힐수 있느냐는 질문을 받아서 여기에 댓글로 제 생각을 정리해봅니다.
신입기준으로는 당장 쓸 구체적인 응용기술을 아는 것도 당연히 선택을 받는데 도움이 됩니다.
실무자들이 면접을 볼때 같이 나눌수 있는 이야기가 많아지기 때문입니다.
특히 신입이라도 당장 와서 일할수 있는 사람을 찾는 조직에서는 실무기술을 가급적 많이 아는 사람을 선호할듯합니다.
그런데 실무 기술을 써본 경험이 있어도 그 기술에 대해 자세히 설명할수 없다면 오히려 경험 안했다고 이야기하는 것보다 더 부정적인 영향을 미칠수 있습니다.
예를 들면 Java로 DB를 쓰는 개발을 해봤다고했는데 그게 MyBatis를 썼는지 JPA를 썼는지도 모르는 경우입니다.
반면 잠깐 써보고 아직 깊이 모르는 기술이라도 구체적인 이야기를 체계적으로 할 수 있다면 더 긍적적인 요인이 됩니다.
예를 들어 MyBatis를 처음 썼는데 어떤 상황이 어려웠고, 알고보니 MyBatis의 어떤 특성 때문이였고, 이를 어떻게 해결했는지 등에 대한 구체적인 이야기를 하는 사람이면, '이 사람은 쓰는 기술에 대해서 제대로 파악을 하려고 했구나'를 느낄수 있습니다.
그런 사람이면 MyBatis를 당장 안 쓰고 JPA를 쓰는 프로젝트에라도 바로 적응할수 있겠구나 하는 느낌을 줍니다.
신입 개발자를 채용할때는 현재 할 수 있는 일이 얼마나 되는지를 넘어서 앞으로 얼마나 발전가능성이 있는지에 더 중점을 둬야된다고 생각합니다.
면접관 입장에서는 자신이 잘 아는 기술을 단편적으로 물어보는것에 그치지 않고 사람이 가진 학습 능력, 학습 의지 등을 파악해야하는데, 당연히 쉬운 일은 아닙니다.
지원자 입장에서는 성장가능성을 표현할수 있는 방법은 여러가지일 것 같습니다.
위와 같이 실무에서 쓰는 이미 잘 알고 있고, 그걸 학습해온 과정을 잘 설명하는 것도 하나의 방법입니다.
학교에서 한 팀 프로젝트라도 남 다르게 한 면이 있다면 실무기술을 잘 몰라도 충분히 앞으로 성장 가능성을 보여줄수 있다고 생각합니다.
코딩 테스트에서 문제를 센스있게 파악한다던지, 유창하고 거침없이 코딩을 할 수 있는것도 자신을 잘 드러낼수 있는 방법입니다.
글을 쓰다보니 '신입개발자로 지원할 때는 자신이 앞으로 빠른 속도로 발전할수 있다는 가능성을 보여주는 것이 중요한데 실무에서 쓰는 기술을 일부 아는 것은 그 방법 중의 하나이다. 그러나 유일한 방법은 아니다.' 정도로 제 생각은 정리가 되네요.
글을 쓰다보니 몇년전의 어느 인턴 지원자의 면접이 기억납니다.
Linux 커널에 관심이 많은 학생이였는데, 사실 제가 인턴의 업무로 염두에 두었던 분야는 그쪽은 아니였습니다.
코딩 테스트도 제가 계획한 둔 인턴 과제에서는 쓰지 않을 C++로 하기도했습니다.
당시에 엄격한 기준으로 채점을 하는 시스템을 이용해서 코딩 테스트를 했는데, 그 시스템의 판정으로는 그 학생은 문제를 통과하지 못했습니다.
그렇지만 거의 답에 근접한 방식으로 코딩을 했고, 무엇보다 유창하고 거침없이 코딩을 하는 모습이 인상적이였습니다.
하나의 방법이 잘 안되자 그 다음 생각나는 아이디어를 바로 빠르게 타이핑해나갔습니다.
저는 그 학생을 합격시키고, 연관된 업무가 있을만한 다른 프로젝트 쪽에 추천을 드렸습니다.
인턴을 거쳐서 그 학생은 최종 입사를 했습니다.
그런데 처음 그 신입사원이 했던 분야는 그 학생이 깊게 팠던 Linux 커널등과 관련된 분야는 아니였습니다.
Java웹개발과 JavaScript와 Angular.js로 FE개발까지 했던것으로 알고 있습니다.
그때의 인턴은 몇년이 지나서 Linux 커널에 코드 기여를하고 Deview 2018에 "대형 컨테이너 클러스터에서의 고가용성" 라는 발표를 하기도했습니다.
그 발표를 두고 어떤 분들은 DEVIEW 2018의 최고의 발표라고도 말씀을 하셨듯습니다.
신입 개발자가 당장 실무에서 쓰는 기술을 알아야하는 채용이 되는 것은 아니라는 예로 위의 사례를 봐주셨으면 합니다.
그리고 그 인재가 가진 역량이 당장은 아니더라도 장기적으로 발휘될 것이라는 믿음으로 신입사원을 바라보기도합니다.
1
안녕하세요. 이번에 스타트업으로 합류한 신입 데이터엔지니어 입니다.
소규모 스타트업으로 합류하면서 느낀바, 조직 규모가 작은 만큼 개개인의 이펙트가 크게 느껴진다는것을 알게되었습니다. 그러나, 기대되는 이펙트에 비해서 제 실력이 너무나 부족한것 같아서 고민입니다. 모르는 내용을 여쭤볼수 있는 사수분은 계시지만, 사수분께 주어진 일이 많으니 괜히 질문하기 눈치보일때도 많습니다.
정말 소규모의 스타트업에서 주니어한테 바라는 역할은 무엇인지, 어떻게 성장했으면 좋겠는지, 어떻게 커리어 쌓아야하는지 조언을 듣고 싶습니다. 감사합니다.
2023. 08. 28. 20:52
안녕하세요 쫑긋님
질문 남겨주셔서 감사합니다 :)
저는 신입 팀원 (꼭 프로그래머가 아니더라도 모든 직군의 공통으로) 에게 가장 기대하는 점은
"팀의 상황을 읽고 내가 할 수 있는 일이 뭔지 고민하는 자세" 입니다.
신입 개발자로서 어떻게 성장해야할지 고민하는 것도 분명히 팀에서는 도움이 되겠지만, 더 중요한 것은 어떤 태도로 팀에서 활동할 것인가 를 고민해보는 것입니다.
신입 개발자가 당장에 팀에 전문성으로 기여하는 것은 어렵습니다.
기술적으로 성장하는 것도 당연히 필요하지만,
당장 전문성으로 팀에 기여하는 바가 없다면, 전문성이 쌓이기 전까지는 어떤 점으로 팀에 기여할까를 항상 팀의 입장에서 고민하는 자세가 있다면 그게 바로 팀에서 바라는 이상적인 신입 개발자의 모습이라고 생각합니다.
그리고 그렇게 팀에 기여하면서 점점 기술적인 면에서도 시니어의 조언을 받으며 성장한다면 가장 좋은 성장 사례가 되지 않을까 생각합니다 :)
0
안녕하세요? 좀 부끄러운 질문이지만 궁금한게 있어서 여쭈어봅니다.
저는 컴퓨터공학과 졸업생입니다.
졸업생이긴하나... 스펙도 없고 코딩실력도 없고 cs도 부족합니다..
학교 다닐 때도 코테 전혀 안해봤고 중간 기말 시험 공부만 했을정도입니다.
학점 4.0 졸업과 정보처리기사 자격증 하나 취득한 것 밖에 없네요..
제가 요새 인프런에서 백엔드 개발 공부중이긴한데 두려움이 많습니다.
개발실력도 그렇고, 제가 감히 개발이라는 분야에 도전해도 되는지 의문이 듭니다.
그래서 개발자 분들 보면 존경심이 들고 너무 멋지다고 생각이 듭니다.
저는 부끄러운 말이지만 워라밸을 굉장히 중요시 여깁니다.
그리고 개발자라는 직업이 야근도 많고 평생공부해야한다는 점이 개발분야를 도전하는 것에 대해 고민을 하게 만듭니다.
정말 개발자는 평생공부해야하는 직업인가요? 그리고 특히 백엔드 개발자는 야근이 정말 많나요?
지금이라도 비개발 분야로 진로를 바꿔야 하는게 아닌가 싶습니다..
횡설수설했는데 긴 글 읽어주셔서 감사합니다.
0
0
향로님 안녕하세요! 좋은 기회를 제공해주신 점 감사합니다. 이 기회를 놓치지 않고 커리어 관련 질문 하나 드려봅니다 ㅎㅎ
저는 SI 1년, 서비스 8개월, 합해서 약 2년의 경력을 가지고 있는 BE 개발자입니다. 앞으로 제 커리어를 중, 언젠가 기회가 왔다고 생각될 때 스타트업으로 이직하여 조직과 프로덕트의 성장을 경험하고 싶다는 욕구가 매우 강합니다.
동시에, 주니어~중니어 (연차로 한 5~7년차 까지) 때 네카라쿠배 등으로 대표되는 한국 빅테크에서 경험할 수 있는 내용도 최대한 경험하고 싶습니다. 현재도 빅테크에 재직 중이며, 제 커리어 중 스타트업에 합류하기 전에 여기를 제외한 빅테크로 이직한다면 최대 한군데 정도일듯 합니다 (큰 규모의 회사를 별로 선호하지 않습니다).
제가 스타트업에서 바라는 점은 아래와 같은데요.
작은 규모의 비지니스가 성장하며 기술이 이를 뒷받침해 주는 것
오버엔지니어링을 지양하며 순간순간 상황에 맞는 기술적 선택을 하는 것
회사가 SW 기술의 가치를 알고, 모두가 주도적으로 소위 '좋은 개발 문화'를 유지하는 것
책임과 권한이 있는 엔지니어로 합류하여 회사의 기술 발전에 기여하는 것
프로덕트가 성장하고, 고객의 피드백을 자주자주 받고, 이에 따르는 성취감과 재미를 느끼는 것
아직은 조금 먼 얘기이기도 하고, 주위에 이런 커리어를 계획하는 분이 많지 않다 보니 꿈에 겨운 내용일 수도 있겠습니다 ㅎㅎ
그래서 질문입니다!
향로님은 우형에서 약 4년? 동안 다양한 경험을 하시고 인프랩으로 이직하여 재직 중이신데요. 저와 같은 주니어 개발자가 약 5년 후에 인프랩과 같은 스타트업에 합류한다고 가정했을 때, 합류하기 전까지 빅테크에서 쌓았으면 하는 경험이 있을까요? 예를 들어 저는 회사에서 Devops, DBA, SRE 등 다양한 팀에서 지원을 해 주시기 때문에 상대적으로 해당 분야에 대해 고민할 기회가 적습니다. 반면 스타트업에서는 이런 영역도 BE 개발자의 몫이 되는 경우가 많을 것이라고 예상합니다. 하지만 대신 현재 환경에서만 경험할 수 있는, 스타트업에서는 쉽게 경험하지 못할 부분들도 많겠죠. 이런 점을 감안하여 지금부터 향후 5년 간 꼭 챙기거나, 놓치지 않았으면 하는 경험이 있다면 말씀 부탁드리겠습니다!
0
안녕하세요 향로님, 저는 현재 금융 대기업에서 IT 직무를 만 2년 좀 넘게 하고있는 개발자입니다.
최근 커리어에 대한 고민이 부쩍 늘어, 이렇게 글을 남겨봅니다.
저는 현재 회사에서 사용자가 매우 적은, 내부 특정 부서를 위한 시스템을 담당하고 있습니다.
이 업무를 하다보니 해당 도메인 지식만 늘어가고 회사에서도 개발보다는 프로젝트 매니징 역량을 중시하는 것을 느꼈습니다. 하지만 저는 회사원보다는 개발자가 되고 싶기에 입사 후 1년이 지났을때부터 본격적으로 이직 준비를 시작하였습니다.
하지만 스스로도 서비스 기업에 가기엔 많이 부족함을 알아서, 자바 공부부터 다시 시작하고 영한님의 스프링, JPA 강의를 수강하였습니다. 그러다 보니 어느새 입사한 지 만 2년이 지났습니다.
이제 이력서를 준비하고, 그나마 어드밴티지 얻어보고자 금융 도메인의 좋은 기업 세 군데의 회사를 지원했는데(서류합 1, 탈 1, 대기 1) , 최근 개발바닥 랠릿 이력서 이벤트 2회 영상을 보면서 많은 고민이 들었습니다.
제가 봐도 저의 경력이 뽑는 사람 입장에서 매력적이지 않게 느껴질 것 같다고 느낍니다. Java 8 버전에 스프링은 4.x 버전으로 백엔드 서버를 구축하긴 하는데, SI 업체에서 들고 온 자체 프레임워크가 사실상 메인이고, 같이 일하는 선임, 외주 개발자도 있어서 이걸 바꾸긴 쉽지 않습니다.. 게다가 업계 특성상 오픈 소스를 사용하려고 해도 여러 결재 절차가 있고, 그마저도 정보보안 쪽에서 통과되기가 쉽지 않아서, jar 파일 하나 반입하기도 굉장히 어려움이 있습니다.
결국 JSP, jQuery로 요청하는 데이터 쿼리 작성을 하는 웹 서비스 구현 업무, 그리고 그나마 쿼리와 Spring Batch로 되어있는 비즈니스 로직 구현 업무가 저의 주요 경력 사항입니다.
나름 가능한 것들이라도 해보려고 혼자 단위테스트도 작성해보고, 필터, 인터셉터 활용해서 이것저것 만들고, 사용자들 편의성을 위해 스프링 이벤트와 사내 메신저 API를 연동하는 등 무언갈 하긴 했습니다. 그런데 다른 사람들의 이력서와 채용 공고의 요구사항들을 보면 자신감이 많이 하락합니다.
최근 외부 스터디를 하며 알게 된 좋은 서비스 기업의 시니어 개발자분에게 이런 고민을 얘기해 보니 자기 같으면 서류에서도 통과시켜 주지 않을 것 같다고 솔직하게 얘기해주시더라고요. 기술스택도 문제지만, 서비스에 대해 얼마나 많이 고민해봤는지가 중요한데, 그런 걸 경험하기 힘든 환경인 것이 큰 단점으로 느껴진다고 말씀해 주셨습니다.
부끄럽지만 저의 개발자로서의 큰 꿈은 회사를 차리거나 스타트업의 멤버로 엑싯을 경험해보는 것입니다. 그래서 백엔드 개발자로서의 커리어를 이어 나가고 싶습니다. 그렇다면, 지금처럼 계속 현재 회사를 다니면서 네임밸류 있는 곳으로 이직을 시도해야 할지, 아니면 네임밸류가 떨어지는 곳이라도 새로운 기술스택과 서비스에 대해 고민할 수 있는 환경으로 당장 탈출해야 할지 고민이 됩니다. (그마저도 쉽지 않겠지만요 ㅜ) 후자의 경우 연봉 하락은 감수해야 할 것 같습니다. 향로님이시라면 어떠한 선택, 어떠한 준비를 하실지 의견을 듣고 싶습니다.
쓰다보니 너무 길어졌네요 ㅜㅜ 감사합니다.
0
안녕하세요, 향로님.
1년차 미만 백엔드 개발자입니다.
회사에서 사수가 없는 상태로 일하고 있으며, 현재 최대 6개의 도메인을 4개월 안에 모두 다 개발해야 하는 상황에 놓여있습니다..
사실 "배운다는 마인드로 일에 집중하면 되지"라고 긍정 회로를 돌리고 있는데,
설계하면서도 이렇게 설계하는 게 과연 맞을까, 도메인마다 필요한 기술 선택 어려움 등등 하루하루가 고비입니다 ㅠㅠ
개발 기간이 짧다 보니 스트레스만 쌓여가서, 회사를 옮기고 싶다는 생각이 가득한데요.
그래도 맡은 역할은 다 하고 나가야겠다는 생각에, 두루뭉술하지만 이러한 상황을 조금이라도 해소할 수 있는 조언을 구하고자 합니다..
0
안녕하세요.향로님
저는 중견 기업에서 4년 7개월의 공공 SI 경력이 있고, 동일 시스템 개발만 해왔습니다.
java 1.5, 오래된 상용 프레임워크 ,테스트코드 X, 배포는 고객 담당이라 경험할수없음, 대부분의 비즈니스 로직은 쿼리로 처리, 코드를 봐주거나 기술적 고민을 나눌 시니어 개발자가 없었습니다.
기술적으로 성장 하기어렵다 판단하여 서비스 기업으로 이직을 하고자 퇴사한 지 1년 2개월째이고, 공부를 한건 1년이 되었습니다.
그동안 업무 외의 공부를 소홀히해와서 1년은 투자할 각오를 했기때문에, 퇴사를 한 건 전혀 후회한 적이 없습니다.
하지만 목표로 했던 1년이 경과한 지금,아직 취업을 못한 상태이고 예상보다 부족한 부분들이 많아 학습 속도가 느려 이대로 계속해도 될 지 걱정되고 조바심이 납니다.
가장 부족하다고 느끼고, 실제로 기술면접에서도 많은 어려움을 겪고있는 것은 설계 관련 지식이고,책과 강의들을 참고하며 학습 후 토이 프로젝트에 적용해보고 있습니다.
일단 SI라도 취업을 하고 계속 준비하라는 조언을 들었지만,
현재도 4년이라는 기간동안 쌓인 기술 부채로 힘든데, 여기서 더 잘못된 경력을 쌓으면 일명 탈SI는 더 이상 불가능해지는건 아닐까 하는 우려가 큽니다.
그래도 조언을 반영하여, SI 중에서도 트렌드에 맞는 기술 스택과 방법론을 적용하려고 노력하는 것 같은 민간 SI 기업에 지원도 시작한 상태입니다.
글이 길어 정리하자면, 퇴사 후 서비스 기업으로의 이직을 원하는 상황에서
1.공백기가 더 길어지는 것이 치명적일 지,
2.4년의 경력에서 SI 경력을 더 쌓는게 치명적 일 지
탈SI를 경험해보신 향로님의 조언을 듣고싶습니다.
바쁘실텐데 이벤트를 해주셔서 감사드립니다.
2023. 08. 04. 13:55
질문 감사합니다 :)
음 대용량 트래픽의 경우에 사이드 프로젝트로 해결했다라는 걸 어필하기가 어려울 수 있을것 같아요.
결국 사용자가 없는 상태에서 테스트를 하는 것이라 의도한 대로, 아무런 제약이 없는 임의 트래픽 이라서요.
제가 완전히 동일한 경험을 한 것이 아니라서 개인적인 면접관으로서의 경험을 기반으로 말씀드릴게요!
제가 배민에 있을때 SI/SM 경험만을 가진 7 ~ 10년차분을 1차 기술 면접에서 통과시킨적이 있는데요.
대용량 트래픽 경험이 없지만 통과시켰던 이유는
200~300라인의 한번에 실행되는 SQL을 리팩토링 하여 30~50줄의 여러 쿼리로 나누는 리팩토링 (SQL 재활용, 쿼리들 사이사이 로그 추가등을 목적으로)
2~3초씩 걸리던 쿼리 성능 개선
이펙티브 자바, 클린코드 책들을 보고 작업 완료된 코드들을 주말 내내 리팩토링
위 작업들을 모두 블로그에 정리 (실제 회사 코드는 사용하지 않고, 다시 예제코드를 만들어서)
요지는, "척박한 실전 환경에서 얼마나 개선해보려고 노력했느냐" 를 많이 봤었던것 같아요.
사이드 프로젝트로 새로운 기술을 배워보고 할 순 있는데, 실제 사용자가 없는 환경에서는 대용량 트래픽, 데이터처리 등을 경험치로 인정 받기는 쉽지 않더라구요.
왜냐면 아무런 제약 조건이 없는 가장 이상적인 환경, 가장 의도한 환경에서의 테스트였을거라서요.
그래서 사이드 프로젝트로 대용량 트래픽 경험을 쌓으려고 하시기 보다는
서비스 회사에서 사용하는 기술 스택 경험을 사이드 프로젝트로 쌓는게 좀 더 좋을것 같고,
지금 일하고 계신 회사에서 쿼리 튜닝, 테이블 설계, 코드 리팩토링, 개발환경 개선 등을 시도하고 이를 이력서로 쓰시는 것을 추천드립니다 :)
물론 어디까지나 개인 경험이라서 이게 정답이 아닐 수 있습니다.
그래서 가능한 많은 시니어 개발자분들께 여쭤보시고 가장 와닿는 방법을 선택하시면 될 것 같구요 ^^;