10대에 프로그래머가 되고 싶은 나, 어떻게 할까?

10대에 프로그래머가 되고 싶은 나, 어떻게 할까?

$14.00
Description
반짝이는 아이디어가 앱으로 탄생하려면?
이 책은 코딩의 개념을 막 이해한 10대들이 한 단계 더 나아갈 수 있도록 구성된 프로그래머 입문서이다. 시중에 프로그래머나 코딩을 다룬 책들은 주로 파이썬 등 프로그래밍 언어를 실제로 쓰는 방법을 다루기에, 큰 틀에서 프로그래머가 무슨 일을 하는지에 대한 정보가 부족했다. 프로그래머가 되려면 코딩 기술이 필요하지만, 프로그래머에게 가장 중요한 요소는 따로 있다. 프로그래밍은 목적에 잘 맞는 프로그래밍 언어를 구별하는 데에서 시작해, 사람들 앞에 프로그램을 내놓는 데까지 이어지기 때문이다.
단순히 반짝이는 아이디어의 단계에서는 생각하지 못한 부분들이 등장한다. 이 프로그램을 어떤 상황에 있는 사람이 쓸까? 색약이나 근시가 있는 사람에게도 화면이 잘 보일까? 어떤 기기에서 쓸까? PC가 아닌 스마트폰에서도 이 디자인이 편리할까? 등 프로그램을 구현하는 과정에서 맞닥뜨려야 할 질문이 많다. 프로그래머는 이런 질문들에 답을 찾아야 하는 사람이다. 따라서 코딩 기술보다는 프로그램이 작동하는 방식, 사람들에게 주는 효과를 먼저 이해해야 한다.
책에서는 프로그래머를 꿈꾸는 10대들이 가장 먼저 알아야 할 이런 지식들을 단계별로 차근차근 풀어낸다. 이어지는 연습 활동은 독자들이 책에 나온 개념을 충분히 이해하고, 자신만의 스타일로 발전시킬 수 있도록 돕는다. 여러 나라에서 10대들이 ‘코딩’이라는 도구로 자신의 아이디어를 멋진 프로그램으로 탄생시킨 사례를 듣다 보면, 프로그래머가 되는 길이 그리 멀리 있지 않다는 생각이 든다.
저자

제니퍼코너-스미스

임상심리학자이자작가이다.1982년에간단한계산을위해베이식프로그램을쓰면서처음코딩을접했다.10대청소년의스트레스를연구하는학자로서통계분석일을하면서10년동안매일코드를직접쓰다시피했다.학생들이프로그램을써서무질서한데이터덩어리를문제에대응할수있는정보로바꾸는것을볼때면가르치는일에보람을느낀다.소프트웨어설계에푹빠져,먹을때도데이터베이스구조나블록체인의가능성을대화의주제로삼는다.프로그래머가비디오게임을어떻게만드는지훤히알지만,아이들이나다른사람들이게임에지나치게빠지는건용납하지않는엄마이기도하다.

목차

작가의말
1장.소프트웨어개발이란?
2장.아이디어를프로그램으로!
3장.프로그래밍언어선택
4장.데이터관리와알고리즘설계
5장.소프트웨어심리학
6장.소프트웨어개발윤리
7장.소프트웨어개발의다양성포용
8장.소프트웨어개발의미래
소프트웨어개발의역사

출판사 서평

왜프로그래머가개발윤리를알아야할까?
2018년3월,페이스북CEO마크저커버그의계정에글이하나올라왔다.“우리는사용자의데이터를보호할책임이있고,책임을다하지못한다면페이스북서비스를유지할자격이없다.”는문장으로시작되는사과문이었다.‘케임브리지애널리티카스캔들’로미국이들썩이자,페이스북CEO로서입장을밝힌것이다.정치컨설팅회사인케임브리지애널리티카는페이스북사용자8700만명의데이터를수집해미국대선과영국EU탈퇴캠페인에활용했다.충격적인건,이회사가데이터를불법‘해킹’으로얻은게아니라는사실이었다.그저교묘하게허술한페이스북의정책을이용한것뿐이었다.이사실이뉴스로보도된후,사람들은비로소자신이쓰는앱이데이터를어떻게관리하는지에관심을가지기시작했다.
이미사람들은크고작은목적으로여러프로그램을쓰고있다.그런데하루하루쌓인내데이터가나를표적으로한광고에쓰인다면어떨까?테크기업들이내데이터를팔아매년엄청난수익을얻는다면?프로그램은사람들에게큰도움이되지만,달리쓰면큰위협도될수있다.그때문에프로그래머에게도개발윤리가필요한것이다.
이책의1장부터4장까지아이디어가프로그램으로완성되는과정에집중했다면,5장부터8장까지는프로그램개발과관련된사회·윤리적문제를주로다룬다.저자는‘케임브리지애널리티카스캔들’을비롯해개발윤리가필요한실제상황을여럿소개한다.여러다양한사례를통해잘못만든프로그램이왜위험한지,이를바꾸려면어떤노력이필요한지를보여준다.

우리에겐다양한프로그래머가필요하다!
유튜브에올라온한동영상을일부사람들이거꾸로봐야하는상황이벌어졌다.오른손잡이와왼손잡이가스마트폰을반대방향으로돌린다는사실을고려하지않아서생긴실수였다.만약처음부터왼손잡이프로그래머가개발팀에있었다면이런잘못된결과는생기지않았을것이다.다양한사람에게유용한프로그램을만드는건어렵다.사람마다어떤기능이불편하고,필요한지알기어렵기때문이다.획일화된사람들로가득찬개발팀은다양한사람들에게최적화된앱을만드는데실패할확률이높다.
AI는사람처럼생각하지않는다.주어진데이터를바탕으로작동할뿐이다.만약이력서를심사하는AI에남성이자주쓰는표현이다수포함된데이터를입력한다면,결과도편향될것이다.지원자는실력과상관없이이력서에쓴표현때문에낮은점수를받을수있다.이런위험을모르는프로그래머는편향적인결과물을만들수있다.
이렇듯,프로그램을만드는과정에서생길수있는각종실패를줄이려면다양한배경의프로그래머가필요하다.나이,성별,인종,종교등과관계없이다양한사람이모여의견을나눌수있어야한다.저자는여러사람과협업하는경험을쌓기위해,해커톤대회에참가하는방법도추천한다.해커톤은한정된시간안에여러사람이즉석에서팀을꾸려앱을완성하는대회인데,코딩초보자나코딩을전혀모르는사람들도참여할수있다.아이디어를나누고,서로의견을나누며성장하는게프로그래머에게가장중요하기때문이다.

현재,그리고미래의블루오션직종
세상은이미프로그램으로가득차있다.DM으로친구들과연락하고,구글에서궁금한정보를검색하고,줌으로수업을듣는등각종소프트웨어프로그램으로둘러싸인세상에살고있다.대다수프로그램은사방이막힌방에서프로그래머혼자코딩과씨름하며뚝딱만든게아니다.다양한사람들이한팀에서서로부딪치며일한결과물로완성된다.진정한‘코딩’은프로그래밍언어가아니라팀을이룬여러사람과소통하며오류를고쳐나가는데있다.
프로그램을만들기위해조직한팀에는프로그래머외에도여러직종의사람이있다.여러프로젝트를조정해주는프로그램매니저,프로그램을의뢰한고객과프로그래머사이의소통을맡는사업분석가,프로그램이제대로돌아가는지확인하는품질보증전문가등.이들중에는코딩을전혀할줄모르는직종도있지만,이들또한프로그램을완성하기위해꼭필요하다.
AI,블록체인등각종기술이발전할수록컴퓨터과학계에서일하는인력의중요성도높아진다.그러나끊임없는영역의확장에비해,컴퓨터과학을전공한학생의수는터무니없이적다.미래에는늘어난일자리에비해일할인력이점점부족해질것이다.또한컴퓨터과학계에서일하기위해필요한소양도조금씩달라질것이다.지금프로그래머를꿈꾸는10대들이이책을반드시읽어야할이유다.좋은프로그래머가되고싶다면,어느직종이든미래에필요한역할을충분히해내고싶은10대들이라면실제로도움이될것이다.