이 글은 현직 개발자로 일 하고 있는 개발자가 주변에서 보고 듣고 한 이야기와 경험담을 들은 내용을 바탕으로 작성하는 찌라시...입니다.
문득 오늘 퇴근을 하고, 다른 기업보다 IT기업이 왜 유독 기업 문화가 좋을까? 생각을 해봤다.
이를 바탕으로 몇 가지의 주제를 정해봤다.
1. 귀차니즘
2. 시대적 발전
3. 프로그래밍의 구조적인 이유
1. 귀차니즘
내 생각의 첫 번째 근거는 귀차니즘이다.
요새는 오픈소스나 라이브러리 프레임워크 등 개발의 편의성을 높여주는 기술들이 굉장히 많이 생겼다.
그러다 보니 뭔가를 개발하거나 유지보수를 할 때가 되면, 이런 생각을 끊임없이 하게 된다.
"아 이거 더 편하게 구현하는 방법 없을까?"
"이 라이브러리 쓰면 편하지 않을까?"
"반복문이나 조건문을 쓰면 코드를 더 줄이고 가독성을 높일 수 있지 않을까?"
개발자라면 누구나 해봤을 생각일 것이다.
특정 기능을 개발하면서 딱 한번 만들어놓고 두 번 다시는 손대지 않아도
알아서 잘 작동하게끔 만들고 싶은 개발자들의 귀차니즘이 IT기업의 개발 문화를 더 좋게 만든다고 생각한다.
어떻게 생각하면 인과관계가 성립하지 않는다고 생각할 수 있지만,
"이 기능 이 기술 쓰면 정말 편한데, 이거 써서 해결하자"
"아니면 더 편하고 좋은 기술 있나?"
이런 생각들은 기술에 대한 자료 수집 및 새로운 기술 탐구로 자연스레 이어지고, 업무가 주어질 때마다,
"더 적은 양의 코드로 더 완벽하게"라는 생각으로 구글을 켜기 시작한다.
검색을 하면서 몰랐던 사실을 알게 되고 자연스레 개발에 관한 지식이 늘고, 그걸 솔루션에 적용하다 보면
기업이 가진 솔루션에는 완성도가 높아지고, 고객들로 하여금 더 많은 유입을 발생시킨다.
단순히 내가 두 번 만지기 싫어서, 더 적게 작성하고 싶어서 찾는 기술들이 이런 장점을 불러일으키고
이런 귀차니즘은 개발자들의 개발 지식 상승으로 이어지고,
이런 지식을 기반으로 새로운 프로젝트 및 설루션에 적용이 되다 보면 시간이 갈수록 더 완벽한 솔루션이 만들어지기 마련이다.
기업 입장에선 지식이 날로 상승하고 자사 설루션의 완성도를 높일 수 있는 개발자를 당연히 놓치기 싫을 것이고,
연봉 및 복지를 내세우면서 개발자의 자유 및 권리를 보장한다.
2. 시대적 발전
시대적 발전은 모두가 예상하다시피 코딩이라는 붐이 일어나서다.
사실 이 전에는 개발자는 3D 직업이었다.
더티하고 위험하고 어려운...
그렇지만 앞서 언급했듯이, 기술이 미친 듯이 발전하고 오픈 소스를 만드는 미친(실력) 사람들이 생겨나면서,
상상만 했던 기술들이 실제로 서비스로서 구현이 가능해지면서 과거에는 불가능했던 서비스들이 생겨났다.
오늘 오후에 시키면 내일 새벽에 가져다주는 미친 배송 시스템 쿠팡
전 국민이 문자를 놔두고 뭐하러 메신저를 쓰냐는 비난을 받던 카카오
가게에 전화해서 배달해달라고 하면 되는데 뭐하러 앱을 만드냐는 의심을 받던 배달의 민족
과거에는 모두가 의심을 하던 서비스들이다.
이 기업들은 본인들의 사업적인 구상을 개발자들을 통해서 실제 서비스를 구현하고 수익이 생기면서 개발자들에 대한 니즈가 더욱 증가했고,
자연스레 개발자들의 몸값 상승으로 이루어졌다.
개발자의 몸값이 상승하는 과정은 앞서 언급한 1번 귀차니즘과 다 연관되는 얘기이다.
(귀찮으니까 더 좋은 기술 찾고, 서버 터지면 개발자들이 힘드니까 안 터질 수 있는 설루션들을 찾고 그 외 등등..)
3. 프로그래밍의 구조적인 이유
프로그래밍은 시간이 가면서 설계 방식이니 디자인 패턴이니 하는 이론들이 끊임없이 나오면서
정말 기업마다 각기 다른 방법의 설계, 구조를 가지고 있다.
그렇기 때문에 어떤 프로젝트가 시작될 때,
설계를 진행했던 사람이 그 설루션에 대한 이해도 가장 높고 사업적 이해가 높을 것이다.
개발자라면 누구나 공감하겠지만
엄청난 레거시를 뜯어고치는 것보다 애초에 새로 만드는 게 더 편하다.
솔루션 초기부터 참여했던 사람은 해당 설루션을 추가 개발 및 유지 보수하는 데 있어서 가장 기회비용이 적은 사람이고,
완성도를 높이는 데 있어서, 구조 파악하는 데 있어서 그 사람을 회사에 남게 하는 게 더 이득이라 개발자를 잡고 싶어 하는 것 같다.
이미 만들어진 설루션에 신입이 되어 여러분이 들어갔다고 생각해보자.
(내 메인 언어는 java인데, 엄청 오래된 php로 만들어진 서비스를 유비 보수를 하거나 신규 기능을 개발해야 한다고 하면...
구조 파악하는 동안 업무를 진행하지 못하는 기회비용,
커리어에 대한 고민, 회사의 비전에 대한 고민 등등... )
언급한 내용으로 봐서는 부정적인 내용인 것처럼 보일 수 있지만, 사실 이런 구조적 이유는 개발자들에겐 장점으로 다가온다.
당장 개발 업무에 투입되어야 하는 사람에게 학교나 학점은 상대적으로 덜 중요하고, 해당 기술을 써봤던 사람을 뽑아 위에 언급한 저런 기회비용을 최소화하는 게 기업은 더 이득이다.
이 말인즉슨, 다른 직종에 비해 학교나 학점 및 스펙에 대한 부담이 적다는 소리다.
수학을 엄청 잘하는 학원 강사는 사실 어느 학원에 가도 수학 강의를 할 수 있지만,
내가 java를 엄청 잘한다고 해도, java를 안 쓰는 기업에 가기에는 무척이나 힘든 일이다. (커리어 전환, 컴포트 존에 대한 기회비용)
회사에서 요구하는 기술을 안 써본 5년 차 개발자를 뽑는 것보다,
기술을 사용해본 2년 차 개발자를 뽑는 게 기술적 기회비용, 인건비 측에서 훨씬 이득이다.
그리고 기술 폭이 넓어지면 넓어질수록 갈 수 있는 기업이 많기 때문에 개발자는 회사의 미련이 없는 경우가 많다.
ex:) java를 쓰는 내가 이 회사에 더 이상 재미가 없거나 비전이 없거나,
연봉이 마음에 안 들거나 등의 이유로 회사를 떠나게 된다면
그냥 다른 회사 가면 된다.
요새 컴퓨터 없는 회사는 없다.
'잡생각' 카테고리의 다른 글
불공정거래위원회 (부제 : 쿠팡 과징금의 불합리성) (1) | 2024.06.20 |
---|---|
월급이 마약이라는 사람들에 대한 견해 (1) | 2023.07.21 |
내 코드 퀄리티를 올리는 개인적인 관점 (0) | 2023.07.21 |
비트코인,NFT,메타버스는 아직 너무너무 시기 상조다. (5) | 2022.06.05 |
애플을 쓰는 이유 [앱등이에 대한 고찰] (2) | 2021.06.09 |
댓글