개발자들은 왜 맥북을 쓸까?
예뻐서....
그 이유는 빼고.
1. 서버개발자
윈도우는 Unix 서버 개발을 하기에 완전 빵점이다.
환경변수, 커맨드라인의 명령어, 모든 게 다르다.
미리 연습해 볼 수가 없다.
별거 아닌 것 같은데,
복잡한 서버 작업을 많이 하다보면,
이런 사소한 작업이 크리티컬한 장애로 이어진다.
경험상 99% 확률로 발생한다.
그래서 돈많은 기업은 상용장비랑 똑같은 예비환경을 만든다.
1~2억짜리 Staging 장비환경을 구축한다.
그냥 Unix 노트북 사주면 될 일을... 쩝.
물론 완벽히 해결되진 않는다.
환경이 다르기 때문에 서버 반영 전후에 꼭 점검작업을 해야 한다.
그런데 Unix 기반 PC가 있을까?
있다. 그게 MacOS 다.
엇, 그럼 Linux 는?
Linux 는 mini Unix 다.
옛날에는 쓸만하지 못했는데, 요즘엔 그냥 서버로도 쓴다.
너무 훌륭한 OS다.
2. 맥북
한동안 Macbook 이 유행했다.
지금도 유행한다.
그런데 왜 노트북일까?
서버개발자에겐 노트북이 꼭 필요하다.
퇴근 후에도 접속할 일이 자주 생긴다.
장애가 나면 서버에 접속해야 한다.
테스트해볼 게 생각나면
당장 노트북을 꺼내서 시험해봐야 한다.
보안 때문에 회사에 꼭 가야하는 경우만 아니라면.
어쨌든 서버개발자에게 Unix 노트북은 매우 필수품이다.
이걸 기호품이나 사치품 정도로 생각하면,
하아~ IT회사를 운용할 자격이 없는거다.
3. 아이패드
미안하지만 ...
아이패드는 콘텐츠 제작용도로 쓰기엔 부족하다.
특히 작은 키보드와 작은 화면이 절대 에러다.
서브용으로는 괜찮지만 메인용으론 여전히 유용하지 않다.
주업무가 회의라면 아이패드가 좋다.
하지만, 코딩이 주업무라면 아이패드는 그냥 짐이다.
임원이나 팀장은 아이패드를 좋아할지 몰라도,
일하는 대리나 과장에겐 맥북을 사주자.
둘 다 사준다면 물론 더 좋다.
4. Linux
요즘 Linux가 일반화되면서, Unix 쓸 일이 확 줄었다.
Ubuntu, CentOS 가 이젠 더 익숙한 개발환경이다.
그런데 Unix 와 Linux 는 환경이 미묘하게 다르다.
Linux 서버를 쓰는 경우라면
아예 맥북보다 Intel 노트북에 Linux 를 깔아쓰는 것도 좋다.
하지만, Linux 엔 편의성 어플리케이션이 절대적으로 부족하다.
그에 비하면 MacOS 에는 정말 예쁘고 쓸만한 어플들이 많다.
그래서 Linux 는 아직 메인머신으로 성장하지 못했다.
5. 예쁜 노트북
맥북은 그 자체로도 예쁘니까 문제가 안된다.
선택지가 없어도 아쉽지 않다.
그냥 그거 사면 된다.
대신 좀 비싸다.
하지만, IBM 노트북은 너무 다양하다.
요즘은 "LG그램"으로 통합되는 분위기이긴한데...
물론 "LG그램"이 좋긴 좋다.
그런데, 재미있게도 ~
나이든 개발자는 Thinkpad 를 좋아한다.
왜 Thinkpad가 인기일까?
사실 좀 투박하게 생겨서 인기가 없을 것 같은데 말이다.
Thinkpad는 튼튼하다.
미국 펜타곤이나 NASA에서 사용한다.
우주에도 다녀온 노트북이다.
365일 24시간 가동시켜도 다운되지 않는다.
안정성도 검증되었다.
책장에 꽂아놓고 서버로 쓰기도 한다.
그래서 인기다.
그래서 아직도 비싸다.
비싸니까 투박해도 사고 싶다.
6. 왜 맥북을 안사주나?
경영자 입장에선 노트북이 사치품처럼 보인다.
자기는 맨날 인터넷서핑이나 하기 때문이다.
한번도 개발머신으로 써본 적이 없으니
왜 그걸 원하는지도 모르는거다.
아는 만큼 보이는데, 모르니까 안보이는 거다.
소프트웨어 개발회사라면,
왠만하면 사용할 사람한테 물어보자.
노트북이 필요한 개발자에게 PC 사주는 건,
총칼 없이 전쟁터 나가라고 말하는거다.
무기도 안주고 전쟁터에 내보내는 건
사업 실패하고 싶다고 선언하는거다.
7. 단말개발자
아이폰 개발하려면 당연히 맥북이 있어야 한다.
컴파일이 맥에서만 되기 때문이다.
안드로이드만 하려면 맥북까진 필요없다.
Windows 로도 충분히 개발할 수는 있다.
컴파일 할 때는 폰 1개만 신경쓰면 되니까,
이것저것 체크할 것도 많지 않다.
8. 나는
그냥 윈도우 노트북을 쓴다.
Linux가 필요할 땐 클라우드 계정을 쓴다.
몇가지 이유가 있다.
첫째, Linux도 단독으로 돌리는 게 깨끗하다.
메모리, 네트워크, 디스크 I/O 등
노트북과 서버환경이 어떻게 다른지
찾는 것 자체가 매우 많은 시간이 걸린다.
처음부터 상용환경으로 시작하면 그런 시간이 많이 줄어든다.
둘째, AP서버와 DB서버를 어차피 분리해야 한다.
상용으로 가면 어차피 2-3대 이상을 운용해야 한다.
음, 노트북에서 짠 걸 그냥 서버로 올린걸 봤다.
WAS 와 DB 서버를 아예 붙여서 개발했더라.
기능은 작동하겠지만...
아, 이야기가 길어진다.
셋째, 요즘은 클라우드가 싸다.
이리저리 검색해보면, 1달에 5천원짜리도 있다.
그렇다면 처음부터 기준을 클라우드 서버로 잡는 게 좋다.
즉, 토이프로젝트가 아니라 실제 서비스를 오픈하려면
서버 엔지니어링 이슈가 반드시 동반된다.
그러니, 상용환경을 맞춰놓고 시작하는게 제일 좋다.
난 그게 마음이 편해서 그렇게 한다.
하지만, 여건이 안되거나 스타일에 따라서 그렇게 안하는 사람도 있다.
9. 결론
암튼, 중요한 건 그런게 아니고....
아쉽게도 20년이 넘도록 나한테 어떤 PC가 필요하냐고
제대로 물어본 회사가 하나도 없었다.
개발자가 어떤 무기로 싸우는지 한 번도 생각해본 적이 없다는 뜻이다.
요즘은 개발자 출신들이 CEO를 하다보니
기본적으로 맥북을 사주기도 한다.
그러다보니 잘 모르면서
유행인양 따라하는 회사가 있다.
음, 개인적으로는 좀 못마땅하다.
맥북이 중요한 게 아니라,
개발자가 필요한 노트북을 사줘라.
IT 회사라면 그래야 한다.
무기는 적어도 스스로 고르게 해줘라.
항상 내 돈으로 내 노트북을 사다보니,
갑자기 이 이야기를 한번 정리하고 싶었다.
개발자뿐 아니다.
디자이너를 뽑았어도 물어보자.
끝.
'멘토링 > 개발팀' 카테고리의 다른 글
시스템 안정화와 개발자 채용에 대한 고민 (0) | 2020.02.27 |
---|---|
소프트웨어 개발자의 딜레마 (0) | 2020.02.25 |
소프트웨어 프로젝트, 코드네임 정하는 법 (0) | 2020.02.07 |
스타트업 팀개발, 협업능력의 중요성 (2) | 2019.11.13 |
서버개발 기본기, "데이터 다루기" :: 알고 넘어가자. (0) | 2019.09.11 |
댓글