신입개발자나 개발직군 일을 해보시려 하는 분들께...
이번 포스팅은 제 직업과 연관된 이야기입니다.
가끔씩 OK JSP를 방문하곤 합니다. 옥키네? 옥희네? 라고 부르기도 하는데 ㅎㅎㅎ.
https://okky.kr/
이곳에 가는 이유는 요즘 어떤 프로젝트들에서 사람을 구하나? SI 프로젝트는 많이 있나? 개발자/프리랜서들 등급별로 페이를 얼마나 주나? 등등. 이런저런 이유에서 방문합니다.
그리고 가끔씩 커리어 게시판에도 가곤하는데 이직 고민도 많으시고 신입 개발자분들 문의도 많이 올라오는 것을 보곤 합니다.
특히 학교 졸업한 신입개발자나 국비교육받고 어떻게 이 직군에서 살아남아야 하는지에 대한 질문들이 많더라고요. 그리고 네이버 지식 N에 가면 개발자를 하려고 마음먹고 교육기관 또는 부트캠프 알아보시는 분들도 많고요. 답변은 대부분 학원 관련된 분들이 답변을 많이 달더군요.
요즘은 온라인 교육기관도 엄청나게 많이 생겼네요. 패스트캠퍼스, 프로그래머스, 인프런 등등.. 유튜브에도 프로그램 관련 수많은 강의도 있고, 오프라인 학원도 여전히 많이 있습니다.
코로나 발생 전, 한 동안 컴퓨터 프로그램 관련해서 젊은 신입개발자들의 유입이 감소하는 추세였었는데 팬더믹 이후에 몬 일인지 개발자들 급여/단가도 많이 올라갔고, 이 분야에 인재를 키우려 국가에서 다시 작업을 하는 듯하는 보입니다.
제가 판단하기에는 그런데 맞는지 아닌지?
저는 2005년 부터 개발자 생활을 시작했으니 올해로 16 ~ 17년 정도 된 듯합니다.
주로 대기업에 계열사에 속한 IT 회사에 1차 하청 회사 소속 프리랜서로 이런저런 계열사들을 돌아다니며 프로젝트를 하며 살았습니다. 한 때는 회사에 입사해서 관련 계열사 별, 필요 시스템들을 개발, 유지보수하기도 했고요.
또 한 때는 스타트업 하겠다고 2년 정도 이런저런 일들을 해본 경험이 있습니다.
지금은 SI분야에서 일하는 프리랜서입니다.
좋게 말해 프리랜서고 비정규직 근로자라고 말해도 맞겠네요.
짧게는 한 달 길게는 6달 정도 프로젝트하고 끝날 때, 쯤 새로운 일자리를 알아보며 열심히 살고 있습니다.
포스팅 목적은 제목 그대로 관련된 분들에게 도움이 되었으면 하는 마음입니다.
개발자로 살려면 적성이 어느 정도는 맞아야 합니다. 최소한 지금 제가 나열한 단어들에 자신이 부합하거나 시도할 의지가 있는지 점검을 해보시기 바랍니다.
사람들과 토론과 협력할 수 있는가? 만약 부족하면 책이라도 읽어서 가능하게 한다.
새로운 용어, 기술, 패러다임에 관심을 갖고 공부한다.
모르는 것을 부끄러워하지 않는다. 질문하지 않거나 알려고 하지 않는 사람이 되지 않겠다.
뛰어난 사람들은 엄청나게 많다. 남의 코드를 읽는 것을 피하지 않겠다.
현상보다는 본질이 무엇인지를 파악하려 노력한다.
누가 사용할, 어떤 목적을 갖는 프로그램을 만들고 있는지 명확하게 인지한다.
익숙해졌다고 한 곳에 머물지 않겠다. 편해지면 그곳을 떠나 새로운 도전을 한다.
위의 사항을 점검해보셨으면 합니다.
적어도 위에 적은 다짐/실천을 하시며 개발자일을 한다면, 분명 꽤 멋진 개발자가 되실 겁니다.
stay hungry, stay foolish -스티브 잡스-
1. 가장 인기 있는 프로그래밍 언어 또는 관심 언어 1,2 개를 계속 수련합니다.
[추천 - 자바, 자바스크립트 기본서]
자바 동네에서는 꽤나 유명한 "밥 아저씨"로 불리는 분인데요. 이분이 쓴 "클린 코드" 에 코딩 수련을 하라는 글이 나옵니다. 요즘도 유행하는지 모르겠지만 "1일 1 Commit" 이란 운동이 있습니다. 매일매일 소스 레파지토리에 자신의 코딩한 내용을 일기처럼 올리는 것을 말합니다.
https://github.com/
2. 내가 참여한 프로젝트의 목적을 정확히 알려고 노력합니다.
프로젝트에는 목적이 분명히 있습니다.
누가 사용하는지, 어떤 결과를 내는 프로그램인지 꼭 알아두세요. 흔히들 "업무"라고도 하죠
예) 프로젝트에 참여했는데 상관 또는 선배가 조회 프로그램을 만들라고 합니다. 상황에 따라 다르겠지만 SQL을 주기도 하겠지만 업무/DB 테이블 설명을 대충하고 만들라고 할 수도 있을 겁니다.
서두에 밝혔듯이 누가 사용하는지, 프로세스가 어떻게 되며 난 어느 지점 프로세스 상의 프로그램을 만드는지 꼭 알아두세요. 일이 바쁘다고 하라는 대로 주어진 프로그램만 만들다 보면 시간이 지난 후 내가 한 게 무엇인지 말할 수 없게 됩니다.
SM 일을 맡았다면 맡은 시스템의 모든 업무를 파악해야 합니다. 다시 한번 강조합니다. 누가 사용하는 것이며 무엇을 하는 시스템인지 파악이 되어야 합니다.
3. 익숙해지고 편해지면 내가 떠날 시간입니다.
프로젝트를 매번 동일한 프레임워크나 언어로, 동일한 업무의 시스템을 만든다면, 한 두 번은 익숙지 않겠지만 결국 어느 순간 익숙해집니다. 그러면 더 이상 그 일을 하지 마세요. 떠날 때입니다. 다른 업무나 다른 프레임워크 또는 다른 방식으로 일을 하는 경험을 할 수 있도록 준비해야 됩니다. 더 이상 성장할 수 없습니다.
만약 SM 일을 맡았다면 1년만 하세요. 단) 1년 동안 관련 업무와 시스템에 대해 제대로 파악하셔야 합니다. 그 후에는 다른 SM 시스템일을 하세요. 물론 바뀌면 힘들겠죠. 하지만 그게 당신의 성장을 이끌며 연봉도 올립니다.
4. 업무 많이 알고 프로그래밍 잘하고 그것들에 대해 이야기하는 거 좋아하는 사람들과 가깝게 지내야 합니다.
일 잘하는 사람, 코딩 잘하는 사람들이 주위에 있다면 그분들과 가깝게 지내세요.
좋은 기운을 얻을 수 있습니다.
그런 분들은 내게 선생님이 됩니다. 쑥스러워말고 꼭 친하게 지내세요.
그런 사람을 모르겠다면 주위에 물어보세요. 누가 잘하냐고요. 만약 없다면 그 회사나 프로젝트에서 나오세요. 물론 자신이 고수라면 상황은 다르겠지만요.
5. 개발자를 부품처럼 생각하는 PM이나 기획자들과는 두 번 다시 일하지 마세요.
제목 그대로입니다. 가끔 보면 이런 PM들 있어요.
"그거 대충 3일이면 하는 거 아니야?"
솔직히 개발자 출신 PM이 저런 말을 하면 할 말 없습니다.
만약, 날 도와줄 사람이 없는데 저런 말을 하면 그냥 일하지 마세요. 잘 알려줄 사람 있으면 하시고요.
6. 이직에 대해 고민하세요.
어느 정도 적응이 되었고 자신감이 생기셨다면, 프리랜서 또는 이직에 대해 고민하세요. 연봉도 계속 올려달라고 주장하세요. 물론 제가 서두에 적은 대로 살았다면 말이죠. 개발자는 성장해야 합니다. 기술도 내면도 연봉도 말이죠.
한 곳에 있으면 썩은 물이 됩니다. 물론 새로운 프로그램 개발이나 프로젝트는 전혀 다른 이야기입니다. 가보고 싶은 회사가 있다면 코딩 시험을 준비해보고 떨어지더라도 지원해보길 추천합니다. 떨어져도 좋습니다. 나와 핏이 안 맞을 뿐입니다. 일할 곳은 넘칩니다.
마지막으로,
프로그램 공부를 꾸준히 하는 게 무엇보다 중요합니다. 프로그램이라고 했지만 예를 들자면 이런 거지요.
만약 내가 자바 개발자이면서 스프링프레임워크 내에서 개발을 하고 있다면, Reactivex, MQ, MSI, GRPC, SSE, TDD 등 비록 내가 당장은 해본 적 없지만, 개념 및 관련된 예제라도 만들어 보면서 장단점, 주로 사용하는 분야 등을 알아두는 것이죠. 자바스크립 진영은 너무 파편화가 심해서 뭐라 조언드리기 어렵지만 적어도 자바스크립트로 CRUD 정도는 충분히 하시길 권장합니다.
이해 안 될 수도 있습니다. 포기하지 마시고 두 번, 세 번 동일한 코드를 만들고 따라 하다 보시면 결국 이해하게 되고 활용하 실 수 있게 됩니다.
늦게 까지 회사에 남아서 일을 해야 한다는 이야기가 절대 아닙니다.
회사일과 자신의 일을 구분하시고 이 회사를 나가서도 계속해서 내 성장을 업 시킬 활동을 꾸준히 하신다면 분명 좋은 날이 올 겁니다.
'기타 IT 경험 > ETC' 카테고리의 다른 글
티스토리 블로그 네이버 검색에 노출되게 하기 (0) | 2022.12.02 |
---|---|
구글 애드센스 집주소 변경 또는 확인하기 (0) | 2022.11.29 |
01. SI 프로그래머가 하는 일이란? - 회사와 정보 (0) | 2022.11.25 |
톰캣 다루기 - 관리자설정 및 시작, 종료, 구조간단 설명 (0) | 2022.11.24 |
스타트업을 준비하는 사람들이 꼭 읽어야 할 책 (1) | 2018.07.14 |
댓글