개발자로서 잘 먹고 잘 살려면?

잠시 쉬어가면서 어떻게 해야하는지 살펴보자.


최악의 망테크를 타서 묘생보다 못한 말년 늙인의 고언이니 기억해 주면 좋겠다.


1. 개발자도 '사회'생활하는 직장인이다. Nerd 같은 삶은 살지 말자.

 내 직장생활은 항상 피곤에 쩔었고, 몸을 갈아넣는 프로젝트들이 많았다. 외모에 신경쓸 시간도 없거니와 따로 인간관계를 돈독하게 할 만한 사치는 나에겐 없었다.

 돌아보면 꾀죄죄한 옷차림에 우중충한 표정으로 남들과의 거리를 둔것이 항상 마음에 쓰인다.

 보시는 분들께선 아무리 바빠도 (직장을 잘 선택해야겠지만...) 외모도 조금(?)은 신경 쓰고, 주변 사람들 잘 챙기면 좋겠다. 대화를 잘 이어나가는 스킬까지 익혀두면 금상첨화다.


 2. 실력이 있다면 언제든 기회는 찾아온다.

 하지만 이게 기회였던 것인지는 지나간 후에나 아는 것이 대부분이다. 그렇지 않다면 우리모두 하하호호 행복한 삶을 살고 있을 것이니....

 남들이 잘 못하는 것(물론 나도 잘 못하겠지만) 을 눈 여겨보고, 나의 가치를 높이려는 노력을 해야한다. 언제까지 코딩이나 빌드하면서 올라가는 메시지에 도파민을 얻으며 살겠는가.

 나의 가치가 오른다면, 주변인의 가치도 높은 곳을 찾아 계단 하나하나 밟고 오르며 언젠가는 기회가 또다른 기회로 찾아오를 것이다.


 3. 개발자에게 가장 중요한 덕목은 통찰력이다.

 그렇다면 통찰력은 어떻게 얻을 수 있을까. 바로 실패의 경험이다. 그 실패는 곧 시간이다.

 시간을 낭비하지 말고 무엇이든 하자. 9to6로 직장생활하면서 '난 언젠가 더 좋은 기회를 얻게 될거야 ' 같은 헛된 망상은 멀리해야 할 것이다. 뛰어난 학벌과 재능, 지능이 있다고 해도 남들과 똑같이 해서는 앞서 나갈 수 없다.

 그렇게 차곡차곡 쌓은 실패의 시간들이 나의 뼈와 살이 되어 코어가 될것이고, 식스팩의 통찰력을 갖게 될 것이라고 장담한다. (나는 못했다. 죄송.)


 4. 40대 이후를 항상 고민해라

 개발자를 언제까지 할 수 있다고 생각하는지에 대한 개인적인 생각은 다를 수 있다. 게다가 요즘 AI가 말만 해줘도 코딩하는 시대까지 되버려서 아이디어만 좋으면 1인 개발자로서 먹고사는데 지장없고 경제적 독립을 빠른시간안에 할 수 있게 됐다.

 하지만 언제까지나 개발자만 할 순 없다.

 당신께서 골수부터 공학도라면, 최소한의 경제상식, 세금, 보험, 저축 등은 주무기 탄약이 떨어졌을 때 쓸 수 있는 보조무기로서 지혜를 발휘 해야 한다. 돈이 돈을 버는 시대가 아닌가.

 꼭 40대가 아니더라도, 50대, 60대.... 

 개발에만 목메는 것은 진짜 목을 메는 것과 같은 비극을 초래 할지도 모른다. 항상 두번째, 세번째 플랜을 머리속에만 담아두지 말고 시간있을 때 마다 기록으로 남겨두자.


 5. ....음 더 이상은 잔소리다.


 내가 해냈던 것들과 못해낸 것들, 잡았던 것과 놓친것들을 모아 주제넘게 짧게나마 도움이 되길 바라는 마음에 몇 마디 쉬어가며 적었다.

 

 생각해보자. 지금의 나는 어디에서 뭘 하고 있는건지.

VS Code, Android Studio, IntelliJ, Xcode, Eclipse... 제일 무난한 개발 툴은 뭘까? 2편

 왜 Visual Studio Code를 선택했는가?

지난 1편에서 다양한 개발 언어와 DB, IDE의 트렌드를 살펴봤다. 그중에서도 내가 최종적으로 선택한 개발 툴은 바로 Visual Studio Code(이하 VS Code)다. 그 이유는 다음과 같다.


1. 가볍고 빠른 실행 속도

VS Code는 설치 용량이 작고, 실행 속도가 매우 빠르다. 무거운 IDE에 비해 리소스 소모가 적어 저사양 PC에서도 쾌적하게 사용할 수 있다.


2. 강력한 확장성

수많은 확장팩(Extension)들이 존재해, 언어 지원부터 테마, 디버깅, 버전 관리, 협업 도구까지 원하는 기능을 쉽게 추가할 수 있다.


3. 다양한 언어와 플랫폼 지원

웹, 모바일, 서버, 데이터 분석 등 거의 모든 개발 환경을 지원한다.

특정 언어에 종속되지 않고, 여러 프로젝트를 동시에 관리하기에 적합하다.


4. 커뮤니티와 정보 접근성

전 세계적으로 많은 개발자들이 사용하고 있어, 문제 해결이나 팁을 쉽게 찾을 수 있다.

공식 문서와 유튜브, 블로그 등 다양한 자료가 풍부하다.


5. 깔끔한 UI와 높은 커스터마이징

테마, 아이콘, 폰트 등 UI를 자유롭게 커스터마이징할 수 있어, 오랜 시간 작업해도 눈이 덜 피로하다.


실제로 사용해보니 조금 어디 부족한 에디터라고 생각했지만, 확장팩을 설치하면서 점점 강력한 IDE로 변신하을 하게 됐다. 특히 Git 연동, 터미널 내장, 원격 개발(Remote Development) 기능 및 AI와 연동은 생산성을 크게 높여줬다.


VS Code를 사용하기를 추천하는 개발자 유형은 다음과 같다.

  • 여러 언어를 다루는 프론트엔드/백엔드 개발자
  • 가볍고 빠른 개발 환경을 원하는 분
  • 다양한 확장 기능을 활용하고 싶은 분
  • 협업과 버전 관리를 중요하게 생각하는 분


마치며, IDE 선택은 개발자의 취향과 업무 환경에 따라 달라질 수 있다.

하지만 VS Code는 입문자부터 전문가까지 모두에게 추천할 만한, 가장 무난하고 강력한 개발 툴임을 직접 경험하며 느꼈다.


Visual Studio Code 다운로드 및 설치 방법

공식 다운로드 사이트: https://code.visualstudio.com/

영어라고 겁먹지 말자. 어차피 한글 확장팩으로 언어 변경이 가능하다.

가운데의 Download for Windows를 클릭하면

적당한 곳에 다운로드 받아 인스톨 설치 파일을 실행하자.

딱히 별다르게 인스톨중 옵션을 변경할 일은 없으니 생략하고....
모두 인스톨한 뒤 나오는 첫 화면은 다음과 같다.

이미 확장팩이 깔린 에디터라 표시되는게 좀 많지만 원래 페이지는 더 허전하다.


인스톨이 끝났고 이제 VS Code 시작을 클릭하면


다음 섹션을 클릭하면


라고 친절하게 안내를 해준다.

 아참 처음에는 영어로 나올텐데, 왼쪽의 확장(Ctrl+Shift+X) 아이콘을 클릭해서


설치하면 모든 메뉴가 거의 한글로 바뀌어서 나온다. 


다음 글에는 필수 확장팩과 추천 확장팩을 안내해 드리도록 하겠다.

VS Code, Android Stuido, IntelliJ, Xcode, Eclipse.... 제일 무난한 개발 툴은 뭘까? 1편

 통합된 개발 환경 (IDE)는 거의 모든 개발자들이 모니터에서 항상 보는 도구다.


 직관적이고, 가볍고, 확장성과 대중성이 높으며, 오류(전엔 작업하다 블루스크린 뜨면 뒷통수 잡았었다...) 없이, 장시간 동안 편안하게 작업 할 수 있도록 신중하게 선택해야 한다.

 여기서 가장 중요한 요소는 확장성과 대중성이다.

 어디서든 쉽게 정보를 얻을 수 있어야 하고 사용방법을 익히기 쉬우며, plug-in, add-on, extension같은 확장 모듈을 통해 기능을 쉽게 추가 가능하면 더욱 더 좋다. 또 대중성이 있다는건 누군가가 내가 필요한 확장 기능을 만들어 둔 확률이 높다는 것을 뜻한다.


개발 사이클 - 출처 마이크로소프트
개발 사이클 - 출처 Microsoft Ignite

 이 과정을 통해 프로그램이 개발되며, 요즘 IDE들은 Code에서부터 Test까지 제공하는 것이 보통이다. 릴리즈 버전의 Build나 Deployment는 수동으로 직접 손이 가는 부분이 많고 Version control이나 협업같은 부분은 Github를 많이 사용 하고 있으니 이를 제외한 부분이 실질적으로 IDE가 하는 역할이라 할 수 있을 것이다.


 솔직히 실무에서 잘 안써봤던 IDE가 낯선 나에겐 어떤 것들이 많이 사용하는 지 정보가 필요했다.

언어 순위 - 출처 pypl.github.io - Google Trend 데이터 취합

IDE 순위 - 출처 pypl.github.io - Google Trend 데이터 취합

DB 순위 - 출처 pypl.github.io - Google Trend 데이터 취합


 웹이나 모바일 앱 개발에 관심을 뒀던 나에게는 좀 이해가 가지 않는 순위들 도 몇 있지만, 용도를 가리지 않은 전세계의 트렌드라고 하니 그려려니 했다.

 언어의 순위가 Python이 1위인 이유는 요즘 AI 개발에 대부분 사용중이기 때문이고, Java는 x86 플랫폼 외에도 쓰이는 경우가 많기 때문으로 제외하면 JavaScript와 TypeScript, PHP가 실질적으로 웹 플랫폼에서 유의미한 순서이고, 그 중 모바일 앱 개발은 Javascript와 TypeScript가 대세라 볼 수 있겠다.

 IDE의 경우에도 마찬가지 Visual Studio의 압도적인 점유율은 모바일 앱 개발뿐만이 아니라 윈도우즈 어플리케이션(요즘은 앱이라 부른다던데....) 개발에도 쓰임이 아닐까?

 그렇다면 결국 1위는 Visual Studio Code, 그 다음이 Android Studio, Eclipse가 될것이다.

 다만 확장성에 있어서 Visual Studio Code는 수많은 확장팩으로 여러가지 언어들의 편의성을 지원해주는 커뮤니티가 형성되어 있어 Kotlin과 Java를 주로 지원하는 Android Studio보다는 훨씬 대중성 있다 생각할 수 있다.

 데이터베이스(DB)도 마찬가지로 대기업과 중견기업에서 수없이 검증되고 자바와 궁합좋은 Oracle, 마이크로소프트에서 제공하는 SQL Server는 비용문제로 제외하고, MySQL와 PostgreSQL가 1,2위라고 할 수 있을 것이다. Firebase와 Supabase약진은 MySQL의 점유율을 뺏어온 것이 아닐까 싶은 개인적으로 추측된다. 혹은 Oracle이 흡수 했거나.


 많은 데이터를 살펴보진 않았지만 이것저것 살펴보고, 검색엔진 결과를 살펴보다보면 내 결론은 이미 나와버렸다. Javascript나 TypeScript 베이스에 Visual Studio Code, 데이터 베이스는 사용 용도와 규모에 따라  MySQL이나 Mongo, Firebase, 초소형 Embedded용으로는 Sqlite정도다.


이제 뭘로 만들어야 할지 결정 했으니, 2편에선 실제로 내가 고른 IDE를 소개하도록 하겠다.


바이브 코딩 - 허망한 꿈은 아닌가?

요즘 보는 유튜브에서 보는 영상들이 바뀌어서 컨텐츠의 카테고리가 달라져 버렸다. 

자주보던 영상들은 점점 안보이고, 온통 AI, AI, AI..... 

'10분만에 만드는 앱'
'코딩 필요 없이 만드는 나만의 앱'
'따라하기만 하면 되는 어쩌고 저쩌고.......'

온갖 어그로성 영상들이 대부분이고, 진짜 정보는 그 10~20분 영상안에 1~2분 정도뿐이다.

과연 개발자로서의 위상은 어떻게 변해왔는지 간단하게 개인적인 경험에 비춰 설명해 보겠다.

경제 위기로 모두가 힘들때, 나는 입시준비 하느라 세상이 어떻게 돌아가는지도 몰랐다.
중학교때는 온라인 커뮤니티와 삼국지, 머드(MUD) 게임에, 고등학교 부터는 스타와 와우라는 블리자드가 내 인생을 집어 삼켜져서 일지도 모른다.

어찌저찌 대학교는 입학했고, 더 공부하긴 죽기보다 싫었다. (지금도 휴학중이다... 몇십년째..)

그런 내게도 끊임없이 도파민을 주는 존재가 있었으니 컴퓨터 그 자체였다.
어쩌다가 간 용산 컴퓨터 상가에서 한두시간을 우두커니 모니터를 보면서 참 신기하고 재밌다고 느꼈다.

 그리고 고등학교때 하라는 공부는 안하고 어셈블리나 C, 노턴 시리즈 책들, 기타 4주 완성, 21일 완성 등의 자극적인 내용의 책들이 시커멓게 되도록 읽기만 했다. 읽기만.... 내 독해력이 문제인지, 번역문장의 문제인지.... 지금은 확실히 알겠지만 그때 당시에는 머리에 들어오지 않았다.

 그 당시 컴퓨터 프로그램의 문법은 IF와 FOR, 함수는 필요한 만큼만 알고 있다면 웬만한건 만들 수 있다고 생각했다. 물론 그 이후로 알고리즘과 패턴에 관한 책을 읽고 내 무지함에 깊은 자괴감을 느끼긴 했지만 말이다.

 요컨데, 휴학한 뒤 경제가 힘들어 모든 사람들이 취직이 힘들때 프로그래머로서 직업을 구하기 시작했다. 근데 이게 웬걸.... 잡X리아에 글을 올리자 마자 순식간에 수십통의 전화가 오는 것이 아닌가?

 내가 다룰수 있던 건 고작 HTML, Javascript, 포토샵 정도인데 말이다.
그렇게 심각하게 소질없고 재능없는 디자인이란 세계로 먼저 빠져들었다......가 금방 나왔다.

 그 이후 한창 주가를 올리고 있던 PHP에 손을 대고 진짜 프로그래머(그 당시에는 스크립트언어로 컴파일도 안되는거라 진짜라고 하기엔 좀 민망하다)로서 코딩을 하기 시작했다. 그 당시에는 IDE(통합개발환경)란 개념도 거의 없었던 때라 Editplus로 직접 손 코딩하는게 다였다. 가끔 VI를 쓰긴 했지만 나에겐 참 어려운 에디터였다.

 그렇게 10년가까운 생활을 PHP와 함께 했다. 가끔 다른 언어를 하기도 했지만 언어 하나를 거의 숙달하는 경지에 오르면 다른건 그냥 문법과 그 언어의 특징적인 부분을 잘 참고만 하면 웬만한 언어는 일주일 내에 개발할 수 있을 정도로 썼다. 물론, 그렇다고 해서 시행착오가 없지는 않다. PHP와 특징이 확연히 다르고 잘 모르는 개념은 온갖 오류들과 실패를 맛봐야 했기 때문이다.

 그 당시의 인터넷 프론트엔드 개발자는 두 부류정도로 크게 나뉜거 같다. 정부나 민간기업의 SI와 쇼핑몰이나 게임사이트의 신규기능 추가, 유지보수 정도로....

 그 당시 병역특례로 군대를 안가려고 발버둥치던 나로서는 선택의 여지가 별로 없었다. 항상 시간에 쫓기고 하루도 지나지 않아 스펙을 바꾸던 SI 개발 업체에 들어가야 했고, 결국 군대는 피했지만 건강을 잃었다. 

 모순적이게도 어릴적 컴퓨터에서 뿜어나오는 도파민에 쩔어있던 내게 새로운 기술, 새로운 기능, 새로운 코드들이 없는 회사는 매력적으로 다가오지 않았고, 프리랜서로 전향한다.


 이때부터 슬슬 IDE가 눈에 들어오기 시작했다. 특히 이클립스....
 자바로 작업할 일도 간혹 있었기에 이클립스의 편리한 기능들은 참 새롭게 다가왔다.


.
.
.


 말이 길었다. 짧게 말하자면 바이브 코딩은 AI에게 코더로서의 역할을 넘기고 개발자는 아키텍쳐의 영역으로 넘어가는 길이다. 근데 그 아키텍쳐가 프로그래밍을 해본적이 없다???
 외국계 Y모 회사에 계약직으로 일할 무렵 그 당시 아시아에 아키텍쳐는 단 두명 있었다. 프로그래밍 실력을 둘째 치고라도, 개발언어의 특징을 정확히 알고 시스템, 데이터베이스 설계, 퍼포먼스, 리스크 매니지먼트까지 회사와 클라이언트의 니즈를 정확하게 꿰뚫고 핵심을 알고 있어야 비로서 아키텍쳐란 타이틀이 달렸던걸로 기억한다.

 최근 한달 가량 나도 바이브코딩이란걸 해보고 있지만, 녹녹하지 않다.
과연 과거의 소프트웨어 설계 경험이나 DB, 네트워크, 튜닝등의 경험이 없었다면??

 아마 내 첫 모바일 앱의 개발은 두배이상 지체 되었을 것 같다. 아니면 중도에 포기했거나...



 바이브 코딩은 당신께서 생각하는 앱 개발이 기존에 구현했던 프로그램을 짧은 시간안에 쉽게 제작하게 해줄 수 있을지는 모르나, 무슨 언어로 어떤 데이터를 어떤식으로 제공하는지 조차 모른다면 관련된 '얇은' 책이나 E-Book으로 사전지식을 얻어두는 것이 좋다.

 특히 AI 프롬프트 쓰는 방법(대화하는 방법)은 꼭 익혀두자.

시작

꽤 늦은 시작길에 들어섰다.

이미 10년도 전에 포기했던 그 길이고, 지금의 나를 만들어 준 원망스러운 그 길이다.


왜 시작 했을까...

매일같이 몸을 갈아 넣으며 일을 했던 젊은 시기에 너무 나쁜 버릇이 생겨버린 탓일까


좋지 않은 몸과 정신으로

어디까지 할 수 있을지는 모르겠지만, 일단 '땡깡'부려 스타트 라인에 섰다.



앞으로 감정 휴지통이 될 불쌍한 블로그를 위로하고,

내가 가고 있는 길을 좀 쉽게 갈 수 있도록 남에게 도움이 되었으면 한다.


나조차 휩쓸리지 않는다는 보장은 없지만, 

트렌드하나에 쓰나미 처럼 몰려오는 정보와 광고들을 적당하게 여과해서 

딱 필요한 정보로 시간 낭비가 되지 않는 곳이 되었으면 한다.




읽어주시는 분들에겐 건강과 즐거움으로

행복한 시간이 되길 바라며..

개인 정보 보호 정책

 본 전국복지도(이하 앱)는 대한민국 공공데이터포탈(https://www.data.go.kr/) 에 가입하여 인증키를 발급받고 무료로 공개중인 국토교통부의 노인, 아동, 기타 복지시설 정보를 제공받아 제작되었으며, 지도 데이터는 https://www.vworld.kr/에서 제공하는 API 인증키를 발급받아 사용했음을 알려드립니다.

 이 앱에 사용한 위의 두가지 정보는 모두 국토교통부에서 제공하는 것입니다.

 이 앱은 국토교통부가 제공하는 정보를 재처리, 위조등을 하지 않으며 표시되는 데이터에 대한 책임을 지지 않습니다. 또한 개인정보나 위치에 관한 어떤 사항도 수집, 보관하지 않습니다.

 이 앱의 목적은 사회적 약자를 위해 설립된 노인, 아동, 기타 시설들의 위치 및 연락처를 알 수 있도록 지도상에 표시한 앱입니다.

 도움이 되시길 바라며, 지속적으로 업데이트 할 예정입니다.

 개인정보 처리방침에 관한 질문이나 요청사항이 있으시면

 다음 이메일로 연락해 주시기 바랍니다: mobildev2525@gmail.com
 개발자 : 김동욱
 본 정책은 2025년 8월 10일 부터 유효합니다.