본문 바로가기

스파르타코딩 내일배움캠프

내일배움캠프 - TIL Day 24 - 잡스, 머스크, 베조스, 그리고 코테

오늘 한 일

오후에 bootstrap 및 bulma template 관련된 회의를 하다가 내가 "우리 서비스는 웹과 모바일 둘 다 구동 되도록 하는게 사용자를 확보하는데 좋다"고 주장을 했다. 요즘 시대에 운동을 할 때 컴퓨터 앞에서 브라우저를 이용해서 운동을 할 것 같지가 않기 때문이다. 

 

이 회의에 앞서 '영상 페이지' 와이어 프레임을 구상했다. 다른 모바일 운동 앱도 참고 해가면서 이런 저런 고민을 하며 와이어 프레임을 짰다. 가장 많이 생각한 것은 "사용자 입장에서 과연 이걸 사용할까?"였다. 

 

"이렇게 UI를 구성하면, 사용자들이 사용할까? 웹/앱을 키자마자 로그인 화면이 뜨면, 귀찮아서 도망가지 않을까?" 

 

"복잡한 것보다 조금 더 직관적이어야 하지 않을까?"

 

이런저런 고민을 하다가 돈오가 왔다. 

 

느낀 점:

스티브 잡스

잡스가 디자인과 UI에 광적으로 집착했다고 했는데, 또 디자인을 중시했는데, 그건 잡스가 디자인 하는 것을 특별히 좋아해서라기 보다는 (좋아했을 수도 있고, walter isaacsson이 쓴 잡스 책을 안 읽어봐서 모르겠다. isaacson이 쓰기 전에 나온 다른 책을 봤다.) '어떻게 하면 사용자들이 자기 제품을 쓸까?'에 대한 치열한 고민이 아이폰의 디자인으로 이어지지 않았나 추측한다.

 

일론 머스크

그리고 Ashlee Vance가 쓴 Elon Musk 책에 보면, Tesla 디자인에 머스크가 개입 안한 곳이 없다고 적혀있다. 문의 손잡이도 다 머스크의 설계였다고 한다. 이과 출신이 디자인에 그만큼 신경을 썼다고 하니까 당시 난 "와... 어떻게 이과 사람이 디자인까지 이렇게 신경을 쓸 수가 있지?"하며 감탄을 했다. 그런데 오늘 내가 '어떻게 하면 사용자들이 우리 서비스를 사용할까?'에 대한 고민을 하면서 느낀 건, 머스크가 디자인을 좋아해서가 혹은 잘 알아서 아닌 것 같다. 머스크는 직원들에게 기존의 자동차 회사들 - GM, Ford, Mercedes - 사이에서 Tesla 차가 고객들에게 팔릴려면 Tesla 제품이 다른 차들보다 몇배는 뛰어나야 한다고 강조했다. 그런 뛰어난 자동차를 만들려고 하다보니 고객들의 관점에 자연히 신경쓰게 되었고, 그러다보니 주행시 튀어나오지 않는 손잡이를 만들고, 대쉬보드에서 계기판을 없앤 현재의 테슬라 차가 나오지 않았나 싶다. 

 

제프 베조스

베조스 또한 마찬가지인 것 같다. 아마존은 디자인에 대해 강조한 것은 들어본 적 없지만, customer experience에 대해서 가장 최고로 강조한다. 이 또한 결국 사용자 입장에서 자기 제품을 어떻게 바라 볼지, 그리고 사용자들이 자기 제품을 쓰고 싶도록 만들고 싶은 마음이 customer experience obsession으로 이어지지 않았나 생각한다. 

 

개발자는 말그대로 '개발'을 하는 사람이다. CRUD구현하고, 웹페이지만 뛰우면 끝나는 사람이 아니다. 자기가 만들고 싶은 제품이 있거나, 혹은 세상에 이런 제품/서비스가 있으면 어떨까 하고 만드는 사람이 개발자이다. 라고 나는 생각한다. 

Zuckerberg는 Facebook를 개발해서 세상에 내놓았다. Larry Page랑 Sergey Brin은 Google 개발해서 세상에 내놓았다. 제품/서비스 만들고 싶은 마음이 먼저고, 그리고 도구로서 프로그래밍이 사용 되었다. 

(물론 프로그래밍 그 자체를 좋아하는 사람들 있다.)

 

그리고

 

백준.. 두둥!

갑자기???

 

10818

 

나의 첫 코드

a = []
n = int(input)
for i in range(n):
    a.append(int((input())))

min_num = a[0]
max_num = a[0]
for i in range(n):
    if min_num > a[i]:
        min_num = a[i]
    if max_num < a[i]:
        max_num = a[i]

print(min_num, max_num)

그냥 파이썬 문법만 참고해서 작성한 건데, 파이참에서 원하는 출력값이 나와서 혼자 박수치며 신나했다. 

그런데 시간초과 났다. -_-;;

 

다른 사람 코드 참고

import sys

a = int(sys.stdin.readline().strip())
b = list(map(int,sys.stdin.readline().split()))

min_num = b[0]
max_num = b[0]
for i in range(a):
    if min_num > b[i]:
        min_num = b[i]
    elif max_num < b[i]:
        max_num = b[i]

print(min_num, max_num)

다른 사람 코드 참고해서 다시 수정해봤다. 또 시간 초과났다. 

 

재수정

import sys

a = int(sys.stdin.readline().strip())
b = list(map(int,sys.stdin.readline().split()))

min_num = b[0]
type(min_num)
max_num = b[0]
type(max_num)
for i in b:
    if min_num < b:
        min_num = b
    elif max_num > b:
        max_num = b

print(min_num, max_num)

다시 참고 했다. 보니까 N개의 정수 숫자와 상관 없이 그냥 배열 값을 입력한 것이다. 다른 언어는 N개의 정수 값을 받아와야 한다고 하는데, 파이썬은 개별적으로 해도 상관 없단다. 뭥미..

 

백준 다른 유저 답 참고

import sys
a = [int(x) for x in sys.stdin.read().split()[1:]]
print(min(a), max(a))

출처: 34061816번 소스 코드 (acmicpc.net)

 

로그인

 

www.acmicpc.net

그리고 백준에서 시간이 짧은 사용자의 시간을 봤다. 허걱... 저게 바로 듣던 "pythonic code"인가... 저건 일반 논리가 아닌 그냥 파이썬형 사고 같은데... 무튼, 신기했다.