조엘 스포스키
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
조엘 스폴스키는 미국의 소프트웨어 개발자, 작가, 기업가이다. 그는 1991년 마이크로소프트에서 엑셀 팀의 프로그램 관리자로 경력을 시작하여 엑셀 베이직을 설계하고 VBA 전략을 추진했다. 2000년에는 Fog Creek Software를 설립하고, 소프트웨어 개발 관련 블로그인 'Joel on Software'를 운영했다. 2008년에는 제프 앳우드와 함께 소프트웨어 개발자들을 위한 질문과 답변 커뮤니티 웹사이트인 스택 오버플로우를 공동 설립했으며, 2011년에는 프로젝트 관리 도구인 트렐로를 출시했다. 그는 '두 번 고치기'와 같은 개발 프로세스 개선 방법을 제시하고, '슐레미엘 더 페인터 알고리즘'과 같은 용어를 만들었으며, '프로그래머를 위한 사용자 인터페이스 디자인' 등 여러 권의 책을 저술했다.
유대인 부모에게서 태어나 뉴멕시코 앨버커키에서 자랐으며, 15세까지 그곳에서 살았다.[3][26] 이후 가족과 함께 이스라엘 예루살렘으로 이주하여 고등학교를 다니고 공수 부대에서 군 복무를 마쳤다.[3][26] 그는 로어 갈릴리의 하나톤 키부츠를 설립한 창립자 중 한 명이었다.[4][27]
조엘 스포스키는 소프트웨어 개발 분야에서 중요한 개념을 제시했는데, 그중 하나가 슐레미엘 더 페인터 알고리즘이다. 이 용어는 2001년 스포스키가 만든 것으로, 소프트웨어 설계의 기본적인 문제를 간과하여 발생하는 비효율적인 프로그래밍 방식을 이디시어 유머 속 인물 '슐레미엘'에 비유하여 설명한다.[25] 스포스키는 특히 C 언어 스타일의 널 종료 문자열을 반복적으로 결합할 때 발생하는 비효율성을 이 알고리즘의 예시로 들었다.[25] 이는 프로그래머가 언어의 기본적인 작동 원리를 이해하지 못할 때 발생할 수 있는 문제를 지적한 것이다.
2. 약력
1987년 대학에 다니기 위해 미국으로 돌아와 펜실베이니아 대학교에서 1년 동안 공부한 후 예일 대학교로 편입하여 피어슨 칼리지의 일원이었고, 1991년 컴퓨터 과학 이학 학사 학위를 ''최우등''으로 졸업했다.[3][26]
1991년 마이크로소프트에서 마이크로소프트 엑셀 팀의 프로그램 관리자로 경력을 시작했으며,[5][28] 엑셀 베이직 설계와 마이크로소프트의 VBA 전략을 추진했다.[6] 1995년 뉴욕시로 이주하여 바이어컴과 주노 온라인 서비스에서 근무한 후,[3][26] 2000년 Fog Creek Software를 설립하고 ''Joel on Software'' 블로그를 시작했다.[5][26] 이후 스택 오버플로우, 트렐로 등을 공동 창업하거나 출시하며 소프트웨어 개발 분야에서 활동을 이어갔다.
2. 1. 마이크로소프트 경력
1991년 예일 대학교에서 컴퓨터 과학 학사 학위를 취득한 후, 같은 해 마이크로소프트에 입사하여 Microsoft Excel 팀의 프로그램 매니저로 경력을 시작했다.[28] 그는 Excel Basic의 설계를 담당했으며, 마이크로소프트의 VBA 전략을 추진하는 데 기여했다.[28] 1995년까지 마이크로소프트에서 근무했다.[26]
2. 2. Fog Creek Software 및 이후 경력
1995년 뉴욕시로 이주하여 바이어컴과 주노 온라인 서비스에서 일했다.[3][26] 2000년에는 Fog Creek Software를 설립하고 ''Joel on Software'' 블로그를 개설했다.[5][26] 이 블로그는 사업주가 운영한 최초의 블로그 중 하나로 평가받는다.[7]
2005년, 스폴스키는 Fog Creek Software가 원격 지원 도구인 Project Aardvark를 개발하는 12주간의 과정을 담은 다큐멘터리 영화 ''Aardvark'd: 12 Weeks with Geeks''를 공동 제작하고 직접 출연하기도 했다.[8]
2008년, 그는 제프 앳우드와 함께 소프트웨어 개발자들을 위한 질의응답 커뮤니티 웹사이트인 스택 오버플로우를 공동 창립했다.[9] 스폴스키는 창립 이후 회사의 CEO를 맡아오다가, 2019년 10월 1일 프라샨스 찬드라세카르에게 CEO직을 넘겨주었다.[10] 2021년 6월, 스택 오버플로우가 프로서스에 18억달러에 인수된 후, 스폴스키는 회장직에서도 물러났다.[11]
2011년에는 간반 방법론에서 영감을 받은 온라인 프로젝트 관리 도구인 트렐로를 출시했다.[12] 트렐로는 빠르게 성장하여 2017년 1월, 아틀라시안에 4.25억달러에 인수되었다.[13]
2016년, 스폴스키는 Fog Creek Software의 새로운 CEO로 아닐 대시를 임명한다고 발표했으며, 자신은 스택 오버플로우 CEO와 Fog Creek Software 이사직을 유지했다. 이후 Fog Creek Software는 글리치로 사명을 변경했다.[14] 글리치는 2022년 5월 패스틀리에 인수되었고, 스폴스키는 이사회 의장직에서 물러났다.[15]
2019년에는 오픈 소스 데이터 플랫폼인 HASH의 회장직을 맡고 있음을 밝혔다.[16]
그는 ''User Interface Design for Programmers'', ''Smart and Gets Things Done'' 등 총 5권의 책을 저술했으며, 소프트웨어 개발팀의 품질을 평가하는 간단한 기준인 "The Joel Test"의 창안자로도 알려져 있다.[17]
스폴스키는 문제 해결 및 프로세스 개선 방법론으로 '두 번 고치기(fix it twice)'라는 용어를 만들었다. 이는 문제가 발생했을 때 우선 빠르고 즉각적인 조치로 상황을 해결하고(첫 번째 고치기), 이후 근본 원인을 분석하여 동일한 문제가 재발하지 않도록 시스템적으로 개선하는(두 번째 고치기) 접근 방식을 의미한다.[18] 또한 그는 비효율적인 알고리즘을 설명하기 위해 '화가 슐레미엘의 알고리즘'이라는 용어를 사용했는데,[19] 이는 불필요한 작업을 반복하여 확장성이 떨어지는 알고리즘을 비유적으로 표현한 것이다. Salon.com의 스콧 로젠버그는 이 용어 사용을 동료 개발자들의 공감을 얻으면서도 외부 독자들의 흥미를 끄는 글쓰기의 좋은 예라고 평가했다.[20]
2017년 WeAreDevelopers Conference 연설에서 스폴스키는 개발자들이 미래의 청사진을 그리고 있다고 강조했다. 그는 소프트웨어가 세상을 점차 잠식하고 있으며, 기술 발전과 함께 개발자들이 세상의 작동 방식을 만들어가는 데 핵심적인 역할을 하고 있다고 말했다. 그는 "우리는 소프트웨어 수프에 떠다니는 작은 채소와 같다"는 비유를 통해, 업무, 소셜 네트워킹, 심지어 택시 호출과 같은 일상적인 활동까지 소프트웨어에 의존하는 현대 사회의 모습을 표현했다.[21]
3. 주요 개념 및 업적
3. 1. 슐레미엘 더 페인터 알고리즘 (Schlemiel the Painter's Algorithm)
소프트웨어 개발 분야에서 슐레미엘 더 페인터 알고리즘(Schlemiel the Painter's algorithm|슐레미엘 더 페인터 알고리즘eng)은 프로그래머가 소프트웨어 설계의 가장 기본적인 부분을 간과하여 발생하는 비효율적인 방식을 가리키는 용어이다. 이 용어는 조엘 스포스키가 2001년에 처음 사용했으며, 특정 프로그래밍 관행의 문제점을 설명하기 위해 이디시어 유머에 등장하는 인물인 슐레미엘(Schlemiel)을 비유적으로 활용했다. 참고로, 이 용어는 페인터 알고리즘(Painter's algorithm)과는 다른 개념이므로 혼동하지 않도록 주의해야 한다.
이 비유에 등장하는 슐레미엘은 도로 중앙에 점선을 그리는 화가이다. 그는 매일 작업을 시작할 때 페인트 통을 도로 시작점에 놓아둔다. 그리고 붓에 페인트를 묻혀 선을 그리다가 페인트가 떨어지면 다시 시작점으로 돌아가 페인트를 묻혀 와야 한다. 작업이 진행될수록 그려야 할 선은 페인트 통에서 점점 멀어지므로, 페인트를 가지러 가는 데 걸리는 시간은 계속 늘어난다. 슐레미엘은 매일 전날보다 작업량이 줄어드는 것에 대해 불평하지만, 그 원인이 페인트 통을 들고 다니지 않는 자신의 비효율적인 작업 방식 때문이라는 사실은 깨닫지 못한다.[25]
스폴스키가 이 비유를 통해 지적한 문제는 C 언어 스타일의 널 종료 문자열을 반복적으로 결합할 때 발생하는 비효율성이었다.[25] C 언어의 표준 라이브러리에 포함된 문자열 결합 함수(예: strcat)는 일반적으로 다음과 같이 작동한다. 먼저, 첫 번째 문자열의 끝을 알리는 널 문자(null character)를 찾기 위해 문자열의 처음부터 끝까지 모든 문자를 확인하여 길이를 계산한다. 그런 다음, 두 번째 문자열을 첫 번째 문자열의 끝부분에 복사한다.
이러한 방식은 여러 개의 문자열을 순차적으로 이어 붙일 때 비효율을 초래한다. 스폴스키는 다음과 같은 예시 코드를 통해 이를 설명했다.
```c
strcat( buffer, "John" ); // buffer에 "John"을 추가한다.
strcat( buffer, "Paul" ); // buffer에 "Paul"을 추가한다.
strcat( buffer, "George" ); // buffer에 "George"를 추가한다.
strcat( buffer, "Ringo" ); // buffer에 "Ringo"를 추가한다.
```
위 코드에서 "Paul"을 "John" 뒤에 붙이면, strcat 함수는 내부적으로 "JohnPaul"이라는 결과 문자열의 길이(정확히는 마지막 널 문자의 위치)를 알게 된다. 하지만 함수 실행이 끝나면 이 정보는 사라진다. 이후, strcat에 "George"를 "JohnPaul"에 추가하라고 하면 strcat는 "JohnPaul"의 맨 처음 문자("J")에서 다시 시작하여 종료 널 문자를 찾는다. strcat에 대한 각 후속 호출은 `buffer`에 다른 이름을 연결하기 전에 길이를 다시 계산해야 한다. 슐레미엘이 페인트 통(또는 문자열 길이)을 가지고 다니지 않는 것과 유사하게, 모든 후속 strcat는 두 번째 문자열을 어디에 복사해야 하는지 결정하기 위해 문자열의 길이를 다시 "걸어야" 한다. 각 strcat 호출로 `buffer`에 더 많은 데이터가 추가되면서 종료 널 문자도 처음에서 점점 더 멀어지며, 이는 후속 호출이 점점 느려진다는 것을 의미한다.
스폴스키의 예에서 설명된 문제는 고급 언어를 사용하고 언어 구현 방식, 즉 기본 원칙 및 기능에 대한 기본적인 지식을 거의 또는 전혀 이해하지 못하는 프로그래머는 알아차리지 못한다.
3. 2. 기타 업적
2005년, 스폴스키는 Fog Creek Software가 원격 지원 도구인 Project Aardvark를 개발하는 과정을 담은 다큐멘터리 ''Aardvark'd: 12 Weeks with Geeks''를 공동 제작하고 출연했다.[8]
2019년에는 오픈 소스 데이터 플랫폼인 HASH의 회장임을 밝혔다.[16]
그는 ''User Interface Design for Programmers''와 ''Smart and Gets Things Done''을 포함하여 총 5권의 책을 저술했다. 또한 소프트웨어 개발팀의 품질을 측정하는 비공식적인 테스트인 "The Joel Test"를 만들었다.[17]
스폴스키는 프로세스 개선 방법론으로 '두 번 고치기(fix it twice)'라는 용어를 만들었다. 이는 어떤 문제가 발생했을 때, 우선 당장의 문제를 해결하는 빠른 조치를 취하고, 이후 근본 원인 분석을 통해 동일한 문제가 다시 발생하지 않도록 근본적인 해결책을 마련하는 두 단계 접근법을 의미한다.[18] 또한 그가 사용한 '화가 슐레미엘의 알고리즘(Schlemiel the Painter's algorithm)'이라는 용어는,[19] 불필요한 작업을 반복하여 확장성이 떨어지는 비효율적인 알고리즘을 가리키는 말로 사용된다. Salon.com의 스콧 로젠버그는 이 용어 사용을 동료 개발자들의 존경과 외부 독자들의 관심을 동시에 얻는 글쓰기의 좋은 예로 평가했다.[20]
2017년에는 WeAreDevelopers Conference에 연사로 참여하여 개발자들이 미래의 청사진을 그리고 있다는 메시지를 전달했다.[21] 그는 연설에서 소프트웨어가 점점 더 세상의 많은 부분을 차지하고 있으며, 사람들이 일상생활에서 더 많은 소프트웨어와 상호작용하게 됨에 따라 기술 발전 속에서 개발자들이 세상의 작동 방식을 만들어가는 데 중요한 역할을 하고 있음을 강조했다. 그는 "우리는 소프트웨어 수프에 떠다니는 작은 채소일 뿐"이라는 비유를 통해, 업무, 소셜 네트워킹, 심지어 택시 이용과 같은 사소한 활동에서조차 소프트웨어를 끊임없이 사용하는 현대인의 모습을 묘사했다.
4. 저서
그는 ''User Interface Design for Programmers''와 ''Smart and Gets Things Done''을 포함한 5권의 책을 저술했다.[17]
'''영어 원서'''
- ''User Interface Design for Programmers'', Apress, 2001년, ISBN 1-893115-94-1
- ''Joel on Software: And on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and Managers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them'', Apress, 2004년, ISBN 1-59059-389-8
- ''The Best Software Writing I: Selected and Introduced by Joel Spolsky'', Apress, 2005년, ISBN 1-59059-500-9
- ''Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent'', Apress, 2007년, ISBN 978-1-59059-838-2
- ''More Joel on Software: Further Thoughts on Diverse and Occasionally Related Matters That Will Prove of Interest to Software Developers, Designers, and to Those Who, Whether by Good Fortune or Ill Luck, Work with Them'', Apress, 2008년, ISBN 978-1-4302-0987-4
'''일본어 번역서'''
- 『조엘 온 소프트웨어』, 옴사, 2005년 12월, ISBN 978-4274066306
- 『BEST SOFTWARE WRITING』, 쇼에이샤, 2008년 2월 21일, ISBN 978-4798115818
- 『소프트웨어 개발자 채용 가이드』, 쇼에이샤, 2008년 3월 20일, ISBN 978-4798115825
- 『More Joel on Software』, 쇼에이샤, 2009년 4월 9일, ISBN 978-4798118925
5. 사생활
2015년 스폴스키는 자신의 소셜 미디어와 블로그를 통해 남편 재러드와의 결혼 사실을 알렸다.[22][23][24] 그는 맨해튼 어퍼 웨스트 사이드에 거주한다.[22]
참조
[1]
웹사이트
Stack Overflow podcast #13
https://stackoverflo[...]
2008-07-08
[2]
Triangulation
[3]
웹사이트
About Joel Spolsky
http://www.joelonsof[...]
2005-10-30
[4]
웹사이트
Joel Spolsky
http://joel.spolsky.[...]
[5]
서적
Founders at Work: Stories of Startups' Early Days
Apress
[6]
웹사이트
An Interview with Joel Spolsky
http://www.softlette[...]
[7]
웹사이트
How Hard Could it Be
http://www.inc.com/m[...]
[8]
웹사이트
Joel Spolsky
https://www.imdb.com[...]
[9]
웹사이트
Introducing Stackoverflow.com
http://www.codinghor[...]
2008-04-16
[10]
웹사이트
Announcing Stack Overflow's New CEO
https://stackoverflo[...]
2019-09-24
[11]
뉴스
Stack Overflow Sold to Tech Giant Prosus for $1.8 Billion
https://www.wsj.com/[...]
Wall Street Journal
2021-06-02
[12]
웹사이트
How Trello is different
http://www.joelonsof[...]
2012-01-06
[13]
웹사이트
Trello Is Being Acquired By Atlassian
http://blog.trello.c[...]
[14]
웹사이트
Anil Dash is the new CEO of Fog Creek Software
https://www.joelonso[...]
2016-12-06
[15]
웹사이트
Fastly announces acquisition of Glitch
https://www.fastly.c[...]
2022-05-19
[16]
웹사이트
So, how's that retirement thing going, anyway? – Joel on Software
https://www.joelonso[...]
2019-12-05
[17]
문서
The Joel Test
http://www.joelonsof[...]
[18]
웹사이트
Seven steps to remarkable customer service
http://www.joelonsof[...]
2007-02-19
[19]
웹사이트
Back to Basics
https://www.joelonso[...]
2001-12-11
[20]
간행물
The Shlemiel way of software
http://dir.salon.com[...]
2004-12-09
[21]
웹사이트
Developers Are Writing the Script for the Future - Joel Spolsky @ WeAreDevelopers Conference 2017
https://www.youtube.[...]
[22]
웹사이트
About Joel Spolsky
http://www.joelonsof[...]
[23]
웹사이트
stackoverflow
http://meta.stackove[...]
[24]
웹사이트
Untitled (Joel Spolsky on Twitter)
https://twitter.com/[...]
[25]
웹사이트
Back to Basics
http://www.joelonsof[...]
Self-published
2001-12-11
[26]
웹사이트
Joel Spolskyについて
http://local.joelons[...]
2005-10-30
[27]
웹사이트
Joel Spolsky
http://joel.spolsky.[...]
[28]
웹사이트
An Interview with Joel Spolsky
http://www.softlette[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com