본문 바로가기
일상/리뷰&후기

[오늘부터 개발자] 리뷰 및 정리

by GangDev 2024. 3. 22.

23년 7월 17일 정리했던 글을 옮겨옴.

요약----------

  1. 개발자의 역할 : 유용한 서비스를 만드는 사람들로서, 경력 있는 개발자가 특히 부족하며, 회사에서 필요로 한다.
  2. 개발자 부족 문제 : 2022년에는 IT분야의 인력부족 규모가 1만 명이 넘을 것으로 예측되며, IT를 기반으로 하는 새로운 사업들로 인해 인력난이 심화될 것으로 보인다.
  3. 외주용역과 개발팀 운영의 장단점 : 외주용역은 계약기간 내에 개발을 완료하는 장점이 있지만, 개발비 부담과 유지보수가 어렵고 비용이 많이 드는 단점이 있다. 반면 직접 개발팀을 꾸리는 방식은 복지와 연봉이 좋지 않으면 경력 있는 개발자를 모집하기 어렵다는 단점이 있다.
  4. 좋은 개발자의 특성 : 시작 단계의 회사에서는 빠른 속도를 선호하며, 성장한 회사에서는 안정적으로 제대로 작업을 수행하는 개발자를 선호한다.
  5. 개발자의 장단점 : 개발자는 스스로 성장하며 일할 수 있지만, 지속적인 성장에 대한 요구와 많은 책임이 따른다.
  6. 개발자 준비 : 개발자가 되기 위해서는 자신이 원하는 개발 분야를 결정하고, 공부를 지속적으로 해야 한다. 또한, 블로그를 운영하거나 포트폴리오를 준비하고, 알고리즘 문제를 풀어보는 것도 중요하다.
  7. 사수의 역할 : 사수는 코드 리뷰와 커리어 로드맵 작성을 돕는 역할을 한다. 하지만, 시간이 지나면서 서로가 동료처럼 함께 성장하고, 도전하는 모습을 보여주어야 한다.

본문---------

개발자란

개발자는 유용한 서비스를 만드는 사람들

개발자 부족

국책연구기관인 한국소프트웨어정책연구소에 따르면 2021년 IT분야의 인력부족 규모는 9,453명으로 추정하고 있으며, 2022년에는 1만 명이 넘을 것이라고 예측하고 있다. 이뿐만 아니라 최근에는 대부분의 회사들이 IT를 기반으로 새로운 사업을 준비하다 보니 개발자의 인력난은 더욱 심해질 것으로 예상된다.

개발자 개요

신입개발자는 많지만 경력개발자는 적다:

처음 프로젝트를 시작할 때는 한두 명의 개발자가 많은 것들을 설계해야 하기 때문에 어느 정도 경력이 있는 개발자가 필요하다.

서비스가 커지게 되면 운영 및 유지보수 등을 경험해 본 경력 있는 개발자가 필요하다.

결국 회사에서 개발자를 지속적으로 찾는다는 것은 신입개발자보다는 경력 있는 개발자인 경우가 대부분

외주용역과 개발팀 운영의 장단점

외주용역을 진행하게 되면 계약을 통해 정해진 계약기간 내에 개발을 완료할 수 있다는 장점이 있다. 단점으로 개발비의 부담이 크고 개발 중간중간 스펙을 변경하거나 개발 이후에 이어지는 유지보수가 어렵고 비용이 많이 든다.

그래서 최근에는 회사에서 직접 개발팀을 꾸려 개발을 하는 곳들이 늘고 있다. 하지만 웬만큼 연봉과 복지가 좋지 않다면 경력개발자를 모집하는 것이 힘들다. 뽑는다고 해도 금방 이직하게 되면 프로젝트 진행에 차질이 생긴다.

개발자의 연봉이 높다?

개발자들의 처우 개선 및 급여 인상이 모든 개발자들에게 해당되는 것은 아니다. 상위 10~20%의 개발자들에게만 국한된다.

좋은 개발자란?

이제 막 시작하는 회사에서는 안정성보다는 빠른 속도를 더 중요하게 생각한다.

어느 정도 성장한 회사에서는 하나를 만들더라도 안정적으로 제대로 만들어 내는 개발자를 좋은 개발자라고 생각한다.

연봉은 장기적으로 생각하자

현재 받을 수 있는 연봉에 연연하기보다는 작은 규모의 회사라도 취업에 성공하여 나의 실력을 충분히 보여준 후 1년 뒤의 협상에서 연봉 상승에 목표를 두는 것이 더 나을 것이다.

개발자 특징

내가 원하는 무언가를 직접 만들 수 있다.

개발자로서 본인이 만들고 있는 결과물에 대한 최소한의 애착은 꼭 필요한 자세.

비전공자?

첫 회사의 규모가 중요한 것이 아니라 나의 개발 실력을 스스로 인정하고 작은 곳에서 차근차근 배운다는 마음으로 시작하는 것이 필요.

비전공자라서 어려운 것이 아니라, 개발자라는 직업 자체가 많은 책임감과 끊임없는 학습이 필요한 곳이어서 어려운 것.

개발자 장단점

장점 >>

스스로 성장하면서 일할 수 있다.

노트북 하나로 꿈을 실현할 수 있다.

단점 >>

지속적인 성장에 대한 강요: 항상 '안정적인 서비스'와 '더 빠른 개발'이라는 두 가지 성장을 지속적으로 강요받는다.

책임져야 할 부분이 굉장히 많다.

API와 JSON

API : 프론트엔드와 백엔드 간의 약속

Rest API : API 통신의 효율을 높이기 위한 약속

JSON : 결과값을 주고받는 형태

프레임워크 & 라이브러리

프레임워크를 사용하는 이유는 생산성이 극단적으로 높아지기 때문

프레임워크가 개발을 쉽게 도와주는 도구라면, 라이브러리는 조금 더 작은 개념인 '액세서리'라고 생각하면 쉽다.

개발자 준비

가장 먼저 해야 할 것은 본인이 하고자 하는 개발분야를 정하는 것

결과물을 바로바로 확인하는 것을 좋아하거나 꾸미는 것을 좋아하고 디자인에 관심이 있다면 프론트엔드가 잘 맞을 확률이 높다.

개발 공부는 시험 공부와 다르다. 개발분야는 항상 새로운 트렌드가 나오고, 그 범위 역시 끝이 없다. 혼자서 온라인 강의만 들으며 지속적으로 공부한다는 것이 결코 쉬운 일이 아니다.

이해보다는 익숙해지는 방향으로 잡자.

강의를 들을 때 중요한 것은 절대 한 번에 이해하려고 하지 말라는 것이다. 처음부터 이해하려고 하기보다는 익숙해진다는 개념으로 접근하자.

부트캠프 & 학원

거창한 기대는 하지 말자. 단지 하루 12시간 공부할 수 있는 환경을 조성해준다는 것.

혼자서 공부할 수 있다면 꼭 부트캠프나 학원을 갈 필요 없다. 카페나 독서실에서 온라인 강의를 통해 하루 12시간씩 공부하는 것도 가능하다.

(하지만 자기 통제력이 없다면 부트캠프나 학원을 가는 게 낫다)

개발자가 되려면

나를 어필할 수 있는 블로그를 하자:

개발도 공부이기 때문에 정리하면서 공부하는 것이 유리(예쩐에 한 번 찾아봤던 것을 계속 찾아보는 것은 비효율적. 정보창고 역할로 블로그를 활용하자)

개발자로 취업할 때 내가 열심히 했다는 증거. 성실성을 강조할 수 있다.

개발 공부를 하며 정리한 것들을 한 번에 보여줄 수 있는 '포트폴리오'를 준비하자.

개발언어를 배우는 순간부터 매일 코딩테스트를 대비해 알고리즘을 한 문제씩이라도 풀어보자.

사수

개발자의 경우 연차가 쌓이면 사수의 개념이 모호해지고 함께 일하는 동료처럼 여겨진다. 서로가 지속적으로 함께하기 위해선 한 사람이 한 사람에게 계속 의지하는 구조가 아니라 서로 등을 맞댈 수 있도록 성장해야 하기 때문이다.

신입개발자에게 사수가 필요한 이유는 코드 리뷰를 함께 진행할 수 있다는 점, 커리어 로드맵을 짜는 데에 도움을 받을 수 있다는 점이 있다.

단, 실무에서는 사수에게 의지하는 부분들을 점차 줄여나가려고 해야 한다. 시간이 갈수록 책임감을 나누어 짊어지고, 혼자서 더 도전하는 모습을 보여줘야 한다.

 

---

23년 11월 28일에 작성된 글입니다