본문 바로가기

Thought

개발자로서 독점시장 후발주자의 소프트웨어 경쟁력 제고 방법 시장 경쟁이 야기한 격투기 대결 최근 일론 머스크가 마크 저커버그에게 격투기 대결을 신청해서 화제가 된 일이 있었다. 흐지부지 되었는지 진행 중인지는 잘 모르겠지만, 세간에서는 이를 두고 화성인과 렙틸리언의 결투라며 희화화하기도 했다. 해당 사건의 발단은 마크 저커버그의 메타가 일론 머스크가 소유하는 소셜 미디어(Social media)인 트위터(Twitter)의 대항마 스레드(Threads)의 출시를 예고하면서 촉발되었다. 일론 머스크는 트위터를 인수한 후, 트위터의 소스코드(Ruby on Rails 등 여러 언어를 기반으로 개발되었다)를 깃허브에 공개하는 등의 파격적인 기행을 벌여 왔고, 트위터의 실력 있는 시니어 개발자들을 해고하는 등 인사 관련 논란이 되는 행보도 여러 번 있었다. 일론 머스크가 .. 더보기
어떤 백엔드 개발자가 될 것인가 백엔드 개발자는 소프트웨어 개발 과정에서 중요한 역할을 수행한다. 사용자는 UI를 통해 서버 컴퓨터와 요청, 응답을 주고받는다. 백엔드 개발자는 사용자의 요청이 올바르게 적용되고 이를 바탕으로 원하는 응답값이 반환될 수 있도록 서버에서 데이터베이스를 조작하고, 비즈니스 로직을 통해 웹 애플리케이션의 핵심 기능을 제공한다. 어떤 기능을 어떻게 제공하느냐에 따라 사용자의 삶의 질은 크게 영향을 받게 된다. 따라서 단순히 백엔드 개발자가 되는 것보다 중요한 것은 어떤 백엔드 개발자가 되느냐의 문제일 것이다. 백엔드 개발자로서 내가 추구하는 역량에 대해 정리해 보았다. 효율적인 성능 관리 백엔드 개발자에게 안정성과 확장성은 중대한 이슈다. 어떤 백엔드 개발자가 개발하느냐에 따라 소프트웨어의 성능과 개발/유지비용.. 더보기
프론트엔드와 백엔드 비교( +백엔드 개발자가 되고 싶은 이유) 프론트엔드와 백엔드 비교 소프트웨어 디자인 모델의 하나인 MVC 모델은 Model, View, Controller로 구성된다. 프론트엔드 개발자와 백엔드 개발자는 해당 구성요소들을 나누어 개발하게 된다. 프론트엔드 프론트엔드 개발자는 이 중 사용자와 소프트웨어가 직접 상호작용하는 요소인 View를 구현한다. 서버가 전송하는 데이터만을 통해 사용자와 소프트웨어의 상호작용이 불가능한 것은 아니다. 그러나 소프트웨어에 대한 지식이 없는 일반 유저의 입장에서 raw data를 직접 다루기는 어렵다. 따라서 일반 유저도 쉽고 편리하게 이용할 수 있도록 직관적인 화면과 조작 매개체(주로 버튼)를 구현하는 것이 프론트엔드 업무의 핵심이다. 프론트엔드의 핵심 관심사항인 UI(User Interface)는 이름 그대로 .. 더보기
내가 백엔드 개발자가 되려는 이유 내가 백엔드 개발자로의 커리어를 지향하게 된 이유는 전망이 좋아서, 구인 수요가 많아서 등의 직업 현황에 의존적인 요인과는 전혀 관련이 없다. 특정 직군이 유망하다는 소문이 돌고 돌아 내 귀에까지 전달되었다면, 그 즉시 직업훈련을 시작해 후발주자로 뛰어 들어봤자 안타깝게도 해당 직군은 더 이상 블루오션이 아닐 확률이 높다. 그리고 내가 그 정보를 인지한 시기는 정확한 날짜를 알 수 없지만 최소 2년 전이다. 다행스러운 부분은 최근의 취업 한파 영향까지 겹쳤음에도 불구하고, 아직까지는 적당한 수준의 개발자 수요가 남아 있는 것 같다는 점이다. 더 이상 예전의 행복한 구직 활동을 누릴 수 있는 직업은 아니지만, 나의 선택에 영향을 미친 사항은 아니다. 가치관(사회와 사람들에게 보탬이 되는 직업) 세상에는 사.. 더보기