안녕하세요.
요즘 이직을 고민하고 있는데 제목처럼 개발자로 이직할지 엔지니어로 전향할지 고민입니다.
엔지니어도 분야가 많아서 어느 분야인지 말씀드리자면 Linux/클라우드쪽으로 생각하고 있습니다.
저는 IT분야에서 일한지 만 5년입니다.
그 중 3년 5개월이 Linux/서버 엔지니어로 일했고 1년 9개월은 개발자로서 일했고 지금도 개발자로 일하는 중입니다.
Linux/서버 엔지니어로 일했을 때 했던 업무는 고객사 서버 유지보수로 정기점검, 장애 처리, 고객 요청 작업입니다. 이 때 고객사 유지보수 업무가 직무 역량 성장에 별로 도움이 되지 않는다고 생각해서 퇴사를 하려고 했는데...
어쩌다보니 같은 회사에서 엔지니어 -> 개발자로 직무가 전환됐고 지금도 개발자로서 일하고 있습니다.
Spring Boot + JAVA + MyBatis + JSP + javascript/jQuery +Tomcat + MariaDB로 이루어진 ITSM 솔루션 개발 및 유지보수를 하고 있습니다.
(솔루션 특성상 대규모 트래픽이 발생할 일이 없고, 실시간으로 데이터가 쌓이는 구조가 아님.)
제가 고민하고 있는 이유는 개발자라는 직업이 저랑 맞는지, 앞으로도 계속 할 수 있을지 걱정돼서입니다.
기존에 있던 기능의 오류 수정, 기능 개선/수정은 자신이 있는데 DB 테이블 설계, 기능 설계 및 구현은 막막하고 스트레스 받습니다.
하려고 하면 할 수는 있습니다. 다만 기능은 동작하나 이 소스 코드가 괜찮은지, 좀 더 나은 방법이 없는지를 모릅니다. 그래서 제 소스 코드에 자신이 없고 스파게티 코드 같다고 생각합니다.
그리고 사내에서 충분히 테스트 하고 고객사에 배포하면 괜찮은데 그것도 아니라서...
또 회사에서 팔고 있는 ITSM 솔루션 자체가 돈 받고 팔 수준이 아닌데 자꾸만 팔리고 있으니 부담이 됩니다.
개인 프로젝트는 마음에 안들면 갈아엎고 지지고 볶고 해도 아무 상관이 없는데 고객에게 돈을 받고 파는 소프트웨어는 그럴 수가 없으니까요.
https://news.naver.com/main/read.naver?mode=LSD&mid=sec&sid1=001&oid=009&aid=0004938962
그런 와중에 이런 기사를 보니 개발자에 대한 생각이 많아집니다. 계속 공부해야 하는 점은 이해하고 공감하고 어느 직업이든 도태되지 않으려면 필요하다는걸 압니다.
다만 퇴근 후, 주말 또는 여가 시간에도 공부를 하거나 토이 프로젝트를 진행할 자신은 없습니다... 출퇴근 왕복 3시간, 근무, 사이버대 강의 수강을 하면 진이 빠져서 쉬기 바쁩니다.
제 자신을 객관적으로 보고 남들에게 할 수 있거나 알고 있다고 말할 수 있는 부분은
1. 소스 코드와 흐름을 파악해서 기능 및 오류 수정
2. 남들이 만든 것(도커 Hub에 등록된 이미지나 혹은 오픈소스 라이브러리)을 환경에 맞게 가져다 쓰기
3. 개인 NAS와 도커를 이용한 서비스 구성 및 운영
4. 로그를 통한 문제 파악과 구글링을 통한 문제 해결
5. 쉘 스크립트 작성
6. 개발, 서버, 네트워크 지식
등 더 있을 수 있지만 일단은 이정도입니다.
제 생각과 능력을 봤을 때 저는 과연 개발자를 하는게 맞을까요? 아니면 다시 엔지니어로 전향할까요?
부디 많은 의견 부탁드립니다.
IT분야에서 공부를 안하면...
쿠버네티스 공부한 적이 있어서 개념은 알고 있는데 올릴만한 서비스가 없어서 제대로 써본 적은 없습니다.
다만, 개발자는 계속 하고 싶은데...
여건 + 저의 의지가 받쳐주지 않아 자괴감을 느낄때가 많네요 ㅠ
그래도 하고 싶은게 명확하다는 점에선 저보다 낫네요.
딱히 개발하고 싶은 아이디어는 없지만.. 그것도 나쁘지 않네요.
저는 돈벌러 공공기관 사이트 나가서 일하느라 그 프로젝트에 투입된 적은 없고(강조) 회사 자체 ITSM 솔루션을 개발하겠다고 시작, 진행하는것을 옆에서 보기만 했었습니다. 설마 그 회사는 아니겠지요? ITSM 만드는데가 뭐 한두군데도 아니니 그럴리는 없겠지요...^^;;
다만 "Linux/서버 엔지니어로" 일하셨던 회사에서 그대로 개발 업무를 하게 되었다는것을 보면 어떤 사업을 하는 회사인지 조금이나마 감이 오게 됩니다.
한 회사에서 5년 넘게 일하셨고, 개발업무로 1년 9개월 일하셨으면 충분히 이직을 생각하셔도 좋을 것 같습니다.
개발자와 엔지니어중 적성에 맞는 업무가 무엇인지는 본인이 아시겠지만,
서버 엔지니어의 지식과 경력도 있으시고 개발 경력도 조금만 더 하면 2년인데 다시 엔지니어 업무로 가시는것도 저는 아깝다고 생각합니다.
스프링(+부트) 사용하는곳이야 많으니 지원할 수 있는 회사가 없지는 않을 것이고, 이왕이면 코틀린도 공부해두셔서
외주 개발, SI 사업을 하는곳이 아닌 IT 서비스를 하는 회사에 백엔드 직군으로 이직을 한 번 하시는게 어떨까요??
다행히? 퓨리넬님이 일했던 회사는 아닌 것 같습니다ㅎㅎ
개발자 직군으로 한번 이직을 해보고 그 때 다시 생각해봐야겠네요.
저도 이게 맞나? 싶을때가 종종 있습니다. 그럴때면 열심히 살아온 나를 믿고 한걸음씩 가다보면
그게 나에게는 정답이 되고 조금이라도 더 나아지지 않을까?라고 생각하는 편입니다.
오랜기간 IT분야에서 일하면서 문제가 잘 풀리면 기쁘다가도 잘 안되면 자신감도 떨어지고 힘들때도 많습니다.
엔지니어든 개발자든 아님 어떤 다른선택을 하더라도 어려운 순간은 항상 찾아오는거 같아요.
저는 나태해지거나 어려운일에 봉착했을때 이 영상이 도움이 되었습니다.
Astal님 좀 더 자신이 좋아하고 관심이 생기는걸 고르시고 열심히 해보세요~ 화이팅입니다!
좋은 말씀 감사합니다.
영상은 꼭 보겠습니다.
그러면 개발자랑 인프라/리눅스/클라우드 등 관리하는 사람을 구분 안해서 부르나요?
(정말 궁금해서 물어본 것이니 오해는 안하셨으면 합니다.)
한국은 하는 업무/직무/분야에 따라서 구분해서 부르거든요. 개발자도 특정분야(서버, 네트워크, 클라우드 등) 엔지니어도 큰 범위에서 모두 IT엔지니어에 속한다고 생각합니다만.. 채용 공고를 보면 구분하더라구요.
미국이나 다른 나라는 어떤지 모르겠습니다.
역할에 따라 다르게 부르는 경우가 있어요. 한국으로 치면 팀장? Tech leader (TL).
알려주셔서 감사합니다.
따로 개발자로 구분하지는 않는군요.
인프라/리눅스/클라우드는 제가 애매하게 적었는데 그냥 서버 관리/운영입니다.
이런 자세라면 실력과 경력은 하다보면 쌓입니다.
그래서 견뎌낼 수만 있다면 개발자 계속 하시는 것을 추천합니다.
좋은 말씀 감사합니다.
제가 견디고 버틸 수 있을 때까지 개발자를 해보고 안되겠다 싶으면 엔지니어로 도망쳐야겠네요.
채용 공고를 보면 인프라/클라우드 엔지니어가 끌리네요...
이시면 DB에 크게 부담가지실 필요 없지 않나요?? 그리고 java니 스프링이실꺼같은데 스프링 좋은게 쓰기는 귀찮지만 스파게티 코드를 덜 만들수 있는거 같더라구요
솔루션이 고객사에 직접 설치하는 방식이라서 그렇습니다. 거기다가 고객사마다 커스터마이징을 해야 하는 경우가 있는데 처음 설계를 잘못하면 일이 귀찮아지니까요..