Software Engineering
-
라인 개발자 - 2023년 회고Routine 2023. 12. 31. 22:36
라인에서 백엔드 개발자로의 한해를 마무리하며, Navy SEAL의 AAR(After Action Review) [1] 형식으로 돌아보려고 합니다. 그 형식은 다음 4가지 주요질문에 대한 답변이 되겠습니다. What did we intend to accomplish? What happened? Why did it happen that way? What will we do next time for a better outcome or to repeat our success? What did we intend to accomplish? 지난해의 회고 에서 목표했던 것이 무엇이었나를 살펴보니, '어떻게 성장할 것인가?'에 대한 부분이었던 것 같습니다. 올해 중반기의 회고 를 살펴보니, 위에서 목표한 바대로 '임팩..
-
개발자여, (지칠땐) IT 역사를 공부하라Career 2023. 12. 22. 13:40
비전공자로 주니어 시절부터 지금까지 Python, Java, Spring, Hadoop 등등 기술적인 부분들만을 살펴봤었다. 기술 외의 부분이라면 테크매니징, 개발자 커리어, 프로그래밍 철학 등과 관련된 내용들만이 내가 좋은 개발자가 되는 길이라고 인지하고 있었던 것 같다. 하지만, 최근들어서 내가 가지고 있는 IT에 대한 관점이 풍부하지 못하다는 생각이 들었다. 주변 상황을 보자면, 비전공자로 늦었다는 생각에 최대한 기술 위주의 것들에 많은 할애를 했었다. 또 재택기간으로 일만 집중하다보니 스몰토크를 통해 내가 있는 필드의 다양한 경험들을 나누고 공유할 시간도 없었던 것 같다. 개발이 너무 기계적이고 피폐하다고 느껴질때 즈음, 내가 몸담고 있는 산업의 역사와 살아 숨쉬는 기업들의 히스토리, 그리고 그 ..
-
어떻게 성장하고, 성장시킬 것인가?Mental Model 2023. 12. 17. 20:39
내면에 깊게 자리잡은 '성장 마인드셋'은 메타인지, 인내심과 회복력, 성취, 관계의 긍정적인 영향을 가져옵니다 [1]. 물론 '성장 마인드셋'은 성장의 근본에 존재합니다. 하지만 '성장 마인드셋'을 품고 시간이 조금 흐르게 되면 자연스레 다음과 같은 의문이 생겨나기 시작합니다. "노력과 경험을 통해 내가 성장할 수 있다는 사실은 이해했는데, 어떻게 더 잘 성장하고 성장시킬 수 있을까?" 애덤 그랜트 교수의 책 'Hidden Potential' [2]은 그에 대한 해답을 최신 연구결과에 기반해 말해주고 있습니다. 아래에서는 위의 책에 기반해서 성장을 위한 '성향 기르기', '지속하기' 2가지를 알아보겠습니다. 성장을 위한 성향 기르기 개인이 이룬 성공을 예측하는 연구결과에서 유의미한 지표는 '얼마나 오랜 ..
-
백엔드 개발자를 위한 네이티브 모바일 앱의 특징SE Concepts 2023. 12. 12. 00:50
모바일 앱이 가진 고유한 특징은 뒷단의 백엔드 개발에도 영향을 미칩니다. 이러한 특징들은 웹 기반 서비스에 익숙한 백엔드 개발자들이 쉽게 놓칠 수 있는데요. 많은 앱들이 웹뷰 형태로 네이티브와 웹을 결합한 형태로 구성되어 있으나, 그렇기에 더욱 네이티브 앱의 특징을 명확하게 인지하지 못하는 경우도 발생합니다. 이번 글에서는 Building Mobile Apps at Scale [1]의 내용을 중심으로, 백엔드 개발과 관련 깊은 네이티브 모바일 앱의 특징들을 알아보겠습니다. 모바일 앱은 바이너리가 스토어(구글플레이 또는 앱스토어)를 통해 업로드 되고, 유저가 모바일 기기에 다운로드 받아 설치되며 배포됩니다. 이러한 모바일 앱의 환경이 모바일 앱 개발과 네이티브 앱이 사용하는 백엔드 API 개발에 영향을 미..
-
'어떻게할지' 보다 '누구와할지'가 중요한 이유Mental Model 2023. 12. 12. 00:29
우리는 너무도 '어떻게'에 집중하며 살아왔습니다. '어떻게 더 좋은 팀을 만들지' '어떻게 더 많은 성과를 이룰 수 있을지' '현재 마주한 문제를 어떻게 해결할 수 있을지' ... 하지만 책 '누구와 함께 일할 것인가'의 저자 벤저민 하디 [1]는 우리가 '누구와'에 초점을 맞추어야 한다고 합니다. 마이클 조던은 팀 그로버 코치와 잭슨 감독이라는 조력자가 있었습니다. 그렇기에 그의 팀 시카고 불스는 여섯 번의 우승이라는 전례없는 기록을 세울 수 있었습니다. 스티브 잡스, 제프 베조스, 래리 페이지 등의 실리콘 밸리 거물들의 시작에는 빌 캠벨이라는 뛰어난 코치가 있었습니다. 이렇듯 뛰어난 업적을 빛내는 개인 주변에는 수많은 파트너와 조력자가 존재했습니다. 크고 멋진 결과는 사람을 통해서만 만들어집니다...
-
플랫폼이면 다 된다는 환상: FAANG의 실질적 경쟁우위와 살아남은 기업들Contents Review 2023. 12. 8. 00:22
검색엔진에 기반해 검색을 하려는 사람과 디지털 퍼블리셔 그리고 광고주를 '연결'한 구글. 앱스토어를 통해 앱 개발자와 사용자를 '연결'한 애플. 사람과 사람을 '연결'한 SNS 페이스북. 판매자와 구매자를 '연결'한 마켓플레이스 아마존. 폭발적으로 성장해온 디지털 플랫폼들과 역사속으로 사라진 아날로그 기업들을 보면서, '디지털 플랫폼이 되어 연결하면 뭐든지 가능하다'라는 맹신이 널리 퍼졌습니다. 플랫폼의 특징은 그것이 촉진하는 연결을 통해 핵심적인 가치가 나온다는 점입니다. 하지만 이러한 플랫폼은 디지털 시대 이전에도 존재했습니다. 그렇기에 IT 기업을 평가할 때에는 "On the most basic level, Peloton sells happiness" [2]과 같은 Yogababble [3]이 아니..
-
콘웨이의 법칙(Conway's Law) : '자세'를 잡지못한 조직이 '프로덕트'라는 힘을 쓸 수 없는 이유SE General 2023. 11. 26. 23:08
컴퓨터 과학자 Melvin Edward Conway는 다음과 같이 말했습니다. 시스템 디자인은 조직의 커뮤니케이션 구조와 유사한 형태의 시스템을 만들게 된다 [1] Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure 이 말을 곰곰히 생각해보면, 특정 구조의 시스템 디자인을 원한다면 그러한 커뮤니케이션 구조를 만드는 조직 디자인(Organization Design)을 먼저 해야한다는 점을 알 수 있습니다. 구체적 예시로 생각해보면, 이 말은 '마이크로서비스 아키텍쳐로 개발을 하려면, 마이크..
-
도커(docker). 컨테이너 vs 가상머신(Virtual Machine)SE General 2023. 11. 21. 00:37
컨테이너와 VM(Virtual Machine) 모두 물리 서버의 리소스를 격리시켜 한정된 환경을 제공하는데 사용됩니다. 그렇기에 여러 부분 비슷한 특성을 보이면서도, 특징적으로 다른 부분들이 존재하는데요. 이번 글에서는 2가지를 비교하며 이해해보도록 하겠습니다. 어떻게 다른가? 먼저, 컨테이너와 VM 모두 실행될 host가 필요합니다. 이러한 host는 노트북, 데이터 센터의 bare metal 서버, 퍼블릭 클라우드의 인스턴스 등에 해당됩니다. 먼저, 가상화를 통해 3개의 앱을 실행한다고 가정해보겠습니다. 그러면 위 이미지의 좌측과 같이, 물리 서버에 하이퍼바이저를 띄우고 하이퍼바이저가 물리 서버의 리소스(CPU, RAM, storage, network card 등)를 나누어 VM에게 할당하고 패키징합..