MJ Studio

Profile

Great Ideas Never Rust

Working In Progress...

Bio

안녕하세요, 문명주입니다.

저의 현생 프로필 사이트는 따로 있습니다. NAMUWIKI

배경

학부시절 들었던 Programing 수업에서 linux server의 vi가 아닌 shell에서 #include <studio.h> 를 치다가 코스를 drop하고 궁금해서 C언어 책을 주문해 공부하기 시작했습니다. 독학은 재밌었고 코딩에 빠져 1학년 기말고사를 던지고 한학기 휴학, 집에서 C, C++, Java, TCP/IP Socket, Windows API 등을 공부했습니다. CLI를 공부하다 이 코드들로 UI는 어떻게 구성하는걸까? 라는 의문점이 든 것은 제가 프론트엔드라는, UI가 있는 시스템을 만드는 취향을 가진 사람임의 암시입니다. Windows API, Unity를 공부하고 다음과 같은 게임들을 직접 만들었을 때가 정말 즐거웠습니다.
피카츄 배구 게임

예전엔 "하루 공부를 모두 블로그에 써야하는" 병에 걸렸었지만, 지금은 꽤나 지혜로워 졌습니다 나 자신만이 아닌 다른이들에게 이로운 글을 쓰고자 글의 강약 조절을 위해 여러 블로그를 운영합니다. 22살인가 23살에 학교를 떠나 서울로와 단칸방에서 자취를 시작, 개발자로 살았습니다. 2025년 29살인 현재까지 개발자로서 어떤 일을 했고 어떤 프로젝트를 했는지는GithubProject GalleryLinkedIn에서 확인하실 수 있습니다.

날 대체할 수 없는 이유

대부분의 FE 프레임워크를 다루었습니다

특히 앱 & 웹에서 다양한 플랫폼을 다루며 많은 공부를 했습니다. 특히 Android, iOS, React Native, Flutter, Web, Electron입니다. 이걸 하면 저걸 까먹고 지금도 모든걸 완벽히 다할줄 아는건 아닙니다. 이것저것을 전문성이 없어 보일 수 있습니다. 그러나 하나에 빠졌을 때 결코 얕게 공부한적은 없습니다.

Android Native 개발로 첫 Frontend의 문을 두드렸고 무작정 공부를 하며 많은 회고를 했습니다.모바일 플랫폼을 공부한 지 1년한국 개발자는 알고리즘을 몰라도 되나요?어린 시절의 치기일 수 있지만 계속해서 위대한 개발자란 무엇인가 회고하며 높은 경지로 가기위해 노력했습니다. 기회가 생겨 iOS를 접했던 저는 계기를 맞게됩니다. 여타 다른 안드로이드 개발자들이 그러하듯 MVP, MVVM, Clean Architecture등에 주화입마가 걸려가며 DI, Design Pattern, Reactive 등의 패러다임을 하나하나 공부했었고 그런것들이 iOS에선 어떻게 구현될까? 하면서 살펴보는 재미가 있었습니다. 식견이 많이 넓어졌고 꼭 구글의 개발자들이 제시하는 개발경험과 설계가 정답이 아님을 알게되었습니다. 그러다보니 하나의 프레임워크에 매몰되어 Jetpack의 Room의 이번 버전에 뭐가 나왔나 세세하게 살펴보는것보다 여러 프레임워크를 폭넓게 공부하는 것이 공부의 효율성이 높다고 인지했습니다. Web, React Native, Flutter를 공부하며 다시 심심하면 Android를 공부하기도 하고 다시 Flutter를, 다시 iOS를, 이런식으로 살아왔습니다. 은탄환이 없듯이 계절에 따라 좋아보이는 것이 달라지며 또 공부할 동기를 주는것 같습니다.

빠릅니다

저는 모든게 빠릅니다. 일단 타자가 1,000타입니다. 또한 제 에디터의 설정은 한치의 오차도 없이 저한테 최적화되어있습니다. 절 옆에 앉혀두고 코딩을 시켜본다면 제 에디터의 현란한 화면전환과 조작에 멀미를 하게됩니다. 코딩도 AI Coding Assistance가 나오기 전까진 인간중에선 거의 생활의달인이였습니다.expo-release-it commit history를 보면 1주일 채 개발하지 않고 대부분의 코어 기능을 탑재해 출시했습니다. (게다가 여긴 군대였다.) 개발과 코딩은 빠르게 하는것이 중요한것이 아니다, 견고한 설계와 구현이 중요하다 라고 할 수도 있지만 결국 개발자들이 맨날 들어야 하고 해야하는 일은 자신의 능력을 메타인지하여 일정을 제시하는 것입니다. 견고한 설계와 구현은 기본입니다. 전 위대한 개발자의 여러가지 필요조건 중 속도는 당연한 것이라고 생각합니다. 개발 공부만이 아닌 개발 속도도 갈고 닦아야 한다고 생각합니다. AI 툴의 힘을 빌리는것, Editor의 모든 Shortcut을 커스터마이징 하는것, 타자 연습을 하는것, 밤을 세워 나만의 해커톤을 하는것, 모두 그 노력에 해당한다고 생각합니다. (너무 Competition Programming적인 발상일 수도 있겠습니다.)

집착, 불안감, 경쟁심이 강합니다

성공 경험이 있습니다

블로그들과 포스팅 이야기

해군 소프트웨어 개발병 복무 중
예정 복무 기간: 2025.01.06 – 2026.09.04

에디터 철학

해군 소프트웨어 개발병 복무 중
예정 복무 기간: 2025.01.06 – 2026.09.04

알고리즘에 미쳤던 나날들

해군 소프트웨어 개발병 복무 중
예정 복무 기간: 2025.01.06 – 2026.09.04

현재 상황

해군 소프트웨어 개발병 복무 중
예정 복무 기간: 2025.01.06 – 2026.09.04

오픈소스 이야기

알고리즘 & 문제해결

문제해결 실력
프레임워크 쫓김에 지쳐 약 2년간 알고리즘에 몰입

성과

  • • 수천 문제 해결
  • • BOJ 상위권 달성 (현재 84위)
  • • Codeforces 퍼플 (Candidate Master)

정리된 자료

PS 블로그

KMP, Nim 게임, D&C Optimization 등

글과 기록

허브 사이트
모든 프로젝트와 글의 관문
개발/PS 블로그
알고리즘, 수학, 풀이 노트
Medium
RN·Expo·iOS 실전 글 모음
Stable Diffusion
AI 아트 공부 기록
GitHub
오픈소스와 프로젝트
BOJ 프로필
알고리즘 문제해결 기록

취미

런닝헬스스노우보드애니 보기PC/콘솔 게임

Work Ethic

오픈소스에 죄책감을 느끼지 말자

당신의 동기를 갉아먹는다

기여자의 기여를 괄시하지 말자

당신이 틀릴수도 있다

Docs를 읽자

돌아가는 것보다 훨씬 빠르다. 당신에게 아무리 강력한 AI가 있다고 해도

Shortcut과 친해지자

Pair Programming에서 당신 동료의 인내심을 시험하고싶지 않다면

iOS에선 그냥 HIG를 쓰자

Github iOS 앱은 예술이다

Accessibility를 챙기자

생김새만 멀쩡한 디자인 시스템을 만들지도 말고 쓰지도 마라. Tab을 5번만 눌러보면 어떤 수준으로 개발되었는지 드러난다

버그를 제대로 빠르게 고치자

팀원한테 민폐다 (어렸을 때 실제로 들었던 말)