나/생각 주머니 9

배움에 관하여

집으로 가는 길에 우연히 공근식 박사에 대한 기사를 접하게 되었다.기사를 읽기 전 까지 알지 못했던 사람인데, '만학도의 전설'로 불린다고 한다. 농삿일 10여년을 하시다 남들보다 한발짝 늦게 공부를 시작했음에도 불구하고 카이스트 박사과정까지 통과하셨다. 최근에 왜 이렇게 공부하는게 싫을까?라는 의문이 계속 들었었는데 이 기사덕분에 답을 찾은 것 같다. 처음보는 사람에게 내 직업을 소개하면, "개발자로 사는건 어때요?"라는 질문을 종종 받고는 하는데, 그럴때마다 나는 "평생 고3같아요"라고 답한다. 그만큼 공부에 대한 압박을 많이 받는 편이다. (그런것 치곤 안하지만 ㅋㅋㅋ) IT 관련 직군 어느 누가 안그렇겠냐만, 개발자는 가만히 있으면 100% 뒤쳐진다. 그래서 공부를 위한 공부를 계속 해왔다. 주말..

본질을 이해하기

본질을 이해하는 것은 어렵다. 어려운 이유는 분명하다. 그건 눈에 보이지도 않고, 들리지도 않으며 어떠한 감각으로도 느껴지지 않는다. 어쩌다 기획 회의에 한 번 낀 적이있다. 제품에서 전하고자하는 메세지를 어떻게 전달할 수 있을까 생각하다보니 단어 자체에 매몰되고 있는 나를 발견했다. 고등학생부터 여러 다양한 공모전에 참가하면서도 늘 겪는 현상이다. 늘 나오는 아이디어는 공모전의 주제를 말장난으로 풀어낸 것이다. 예를 들어 "힐링캠프"를 주제로 어떤 이벤트를 할지 정하라는 미션이 떨어지면 생각하는게 "달링과 함께하는 힐링캠프" 이런 식이다. 뻔하다! (뻔하다도 짝꿍이 있다. Fun하다) "힐링캠프...힐링캠프..." 단어에 갇혀서 생각하다보니 중심은 글자라는 도구에 가 있고 "왜" 힐링캠프라는 주제가 잡..

주석은 중요하다

지난 2주는 아주 고통스러웠다. 긴 연휴가 끝나고 마법처럼 이슈들이 빵빵 터졌다. 마치 잘 쉬었냐고 인사하는 것처럼... 긴 이슈의 터널을 통과하면서 "주석은 중요하다"라는 것이 뼈저리게 느껴졌다. (모든 것이 주석때문은 아니었지만) 물론, 주석은 해가 되기도 한다. - 별다른 주석 없이 주석처리된 코드 - 코드와 맞지 않는 Outdated된 주석 - 쓸모없는(redundant) 주석 Clean Code 열풍과 함께 주석 없는 코드가 완전히 대세가 되었다. "주석 없이도 읽힐 수 있는 코드가 잘 짜여진 코드다"라는 말 한번쯤 들어보셨으리라 생각한다. 나도 그에 동의했고, 되도록이면 주석을 적지 않으려고 했다. 마틴 파울러 선생님이 틀렸다고는 생각하지 않지만, 내가 틀렸다고는 생각한다. 내가 쓴 코드가 정..

덤벙대는 개발자를 위한 글 : 내가 버그 발생률을 획기적으로 낮춘 방법

나는 어떤 사람인가? 학창시절 필통도, 샤프도, 지우개도 반년 이상 들고다녀 본적이없다. 모두 잃어버렸다. 우산은 말할 것도 없지, 이젠 아예 유치원생이 들고다닐 것 같은 샛노란 우산을 사서 까먹지 않게 한다. 본가에 내려가서 다시 올라올때도 노트북 충전기나 뭐 하여튼 중요한 것을 꼭 하나씩 빠뜨리고 올라와서 부모님이 택배로 다시 보내주신다. 장기 기억력은 남들보다 뛰어나지만 초 단기 기억력은 아주 나쁘다. 34 + 23과 같은 간단한 암산을 하다가도 중간에 까먹어버린다. ADHD일까? 검사는 받아보지 않아서 모르겠다. 슬프지만 이런 나를 받아들이는 중이다. 영화 를 보면 주인공은 단기 기억상실증을 앓고있어 온 몸에 문신을 하고 다닌다. 내가 다음에 할일, 이미 했던 일들을 기억해야하기 때문이다. 어렸을..

UX 이야기 : 있어야 할 곳에 있다는 것

갤럭시에 윈도우즈 컴 쓰는중입니다 나는 안드로이드 개발자의 사명으로(?) 아이폰 7을 마지막으로, 아직까지도 갤럭시를 쓰고 있다. 심지어 이제는 노트북마저 윈도우즈 노트북이다. 완벽하게 불편한 것이 없는 지금도 언제나 애플 제품을 쓰고 싶은 생각이 든다. 그래서 이번에 에어팟3와 아이패드 미니6세대를 구매했다. 홈 버튼이 사라지고 수 년만에 애플 제품을 써보는데 적응이라는게 필요가 없었다. 내가 생각하는 애플의 강점은 이거다. "있어야 할 곳에 있다" 사실 내가 생각하는 디자인의 의미기도 하다. 프로그래밍만이 문제를 푸는 것이 아니다. 디자인의 본질 역시 문제를 푸는 거다. 생각할 거리를 던져주는, 더듬더듬 재시도하게 하는 디자인은 잘못된 디자인이다. *애플도 실패한 디자인이 없는 것은 아니다. 매직 마..

원숭이도 실수할 수 없는 코드

새벽 3시에 모기물려서 깼는데... 슬랙에보니 앱 리뷰가 작살나있었다. 앱의 핵심기능이 작동되지 않았었고, 테스트 할때는 문제가 없었던 부분인데 왜이럴까...알아보니 기본값 문제였다. 어떤 기능의 기본값은 true로 가져와야하는데, 보통은 기본값이 false이니 명시적으로 true로 가져오겠다고 하지않으면 false가 되는거다. 내가 처음 이런식으로 사용을 했을땐 "설마 이걸 기본값 안주고 쓰겠어~" 했는데 진짜 써버렸다... storage.getBoolean("is_something_enabled") // default = false 요즘 구글 검수도 매우매우매우매우매우 느려서 이 실수에 대한 타격이 더 크다. 아무리 바빠도 실수를 할 수 없게 만드는 코드가 중요하다. storage.isSomethin..

창의적인 생각에 관한 생각

창의적이라는 말을 들었다. 왜? 나같은 평범한 사고를 하는 인간이...라는 생각을 하다 문득 생각이 정리되어서 블로그에 기록해본다. 간만의 이슈글인걸~~?! 내가 10초만에 떠올린 아이디어는 90%의 사람들도 10초안에 떠오른다. 내가 아이디어를 낼때 항상 마음속에 두는 말이다. 그리고 이 생각이 정말 중요하다고 생각한다. 유튜브에 요즘 유행하는건 "~특징"이다. 한국에 90년대생이면 다들 대장금 주몽 야인시대보고, 급식먹고 포켓몬 빵먹고, 빅뱅 원더걸스 들으면서 자라났다. 이 환경에서 자란 사람들이 10초안에 떠올린 아이디어는 얼마나 다를 수 있을까? "창의적"인 아이디어를 말하라고 하면 더욱더 덜 창의적이게 되어버린다. 튀어보이고 싶은걸 좋아하는 10대들을 풀어주면 결론적으로는 다 똑같은 염색머리로 ..

윈도우로 개발하기 - 맑은 고딕이 싫어요!

맥북을 산 이래로 개발할때는 쭈욱 맥만 고수해왔다. 아래 이유들 때문에 윈도우즈 컴퓨터로 잠시 코딩좀 할라치면 익숙하지 않아 난항을 겪었다... MacOS로 개발하는 장점 기본 폰트의 가독성이 우수 UNIX 기반이라 명령어도 새로 익힐필요없고, 환경설정이 편리 Cmd + 화살표 조합으로 Line의 처음과 끝 자유롭게 이동가능 Xcode 사용 가능 손에익은 DBA 툴인 DBeaver 사용가능 게임을 할 수 없기 때문에 개발에 집중가능(?) 사실 안 좋을 이유가 없지만, 느려도 꾹꾹 참으면서 했지만...첫 재택에서 일이 터졌다. 2018 인텔 CPU 맥북으로 안드로이드 스튜디오와 게더타운을 동시에 켜두면 한 글자 쓸때마다 버벅여서 바로 애플 스토어로 달려가서 맥 스튜디오라도 지르고 싶은 심정이었다. 하지만 ..