다양한 개발자 종류
"와! 개발자가 이렇게 많아요?"
어린이 친구들 안녕하세요! 고코더 삼촌이에요. 오늘은 회사에서 정말 특별한 날이에요. '개발자의 날' 행사가 열렸거든요! 회사 강당에 개발자들이 모두 모였어요.
삼촌 옆에는 게임 개발자 친구가 앉아있고, 뒷자리에는 AI 개발자 친구가 앉아있어요. 건너편에는 앱 개발자 친구도 보이네요. 모두 개발자인데 하는 일이 정말 다르답니다!
"삼촌은 어떤 개발자예요?"라고 물으면 삼촌은 "웹 개발자예요!"라고 대답해요. 그런데 옆 친구는 "저는 게임 개발자예요!", 뒷자리 친구는 "저는 AI 개발자예요!"라고 말하죠.
똑같이 개발자인데 왜 이렇게 다를까요? 오늘은 개발자가 되면 어떤 멋진 일들을 할 수 있는지 함께 알아볼게요!
오늘의 질문은 충남 천안시에 사는 초등학교 4학년 '꿈이 많아요'라는 닉네임을 쓰는 어린이가 보내왔어요. 함께 읽어볼까요?
To. 고코더 삼촌
안녕하세요, 고코더 삼촌!
저는 개발자가 되고 싶어요. 그런데 궁금한 게 있어요. 개발자는 그냥 컴퓨터로 코딩만 하는 거 아닌가요?
친구는 "개발자는 하루 종일 앉아서 코딩만 해"라고 하는데, 삼촌 글을 보니까 회의도 하고 다른 일도 많이 하는 것 같아요.
그리고 개발자에도 여러 종류가 있다고 들었어요. 게임 개발자, 앱 개발자... 뭐가 다른 건가요? 저는 어떤 개발자가 되면 좋을까요?
개발자가 되면 구체적으로 어떤 일을 하는지 알고 싶어요!
그것이 궁금해요! 도와줘요! 고코더!
안녕, '꿈이 많아요' 어린이 친구! 정말 좋은 질문을 해줬어요. 개발자가 어떤 일을 하는지 궁금했군요!
결론부터 말하자면, 개발자는 코딩만 하는 게 아니에요! 그리고 개발자에는 정말 많은 종류가 있답니다. 마치 의사에게 외과 의사, 내과 의사, 소아과 의사가 있는 것처럼요!
지금부터 삼촌이 만난 다양한 개발자 친구들의 이야기를 들려줄게요. 그러면 여러분도 "나는 이런 개발자가 되고 싶다!"는 꿈을 구체적으로 그릴 수 있을 거예요!
삼촌은 웹 개발자예요. 쉽게 말하면 웹사이트를 만드는 사람이죠!
어린이 친구들이 인터넷을 켜면 보이는 모든 웹사이트가 바로 웹 개발자들이 만든 거예요. 네이버, 구글, 유튜브, 쿠팡 같은 사이트들이 모두 웹 개발자들이 만들었답니다.
삼촌의 하루를 간단히 보여줄게요. 오전에는 회의를 하면서 오늘 만들 기능을 정해요. "쇼핑몰 장바구니 기능을 개선해야 해요!" 그러면 삼촌은 "어떻게 만들면 좋을까?" 고민하죠. 그 다음에는 키보드를 똑딱똑딱 두드리면서 코딩을 해요. 장바구니에 물건을 담고, 삭제하고, 금액을 계산하는 기능들을 만드는 거예요.
점심을 먹고 나면 테스트 시간이에요. 내가 만든 기능이 제대로 작동하는지 확인해 보죠. 버튼도 눌러보고, 새로고침도 해보면서요. 오후에는 디자이너와 "버튼 색깔을 바꾸면 어떨까요?"라고 이야기도 나누고, 오늘 만든 기능을 문서로 정리해요. 오후 6시가 되면 퇴근이에요!
이렇게 보니 코딩만 하는 게 아니죠? 회의도 하고, 테스트도 하고, 다른 사람들과 협력도 해요!
웹 개발자는 정말 다양한 것들을 만들 수 있어요. 쿠팡이나 11번가 같은 쇼핑몰, 네이버나 구글 같은 검색 사이트, 유튜브나 넷플릭스 같은 동영상 사이트, 인스타그램 같은 소셜 미디어까지 만들 수 있답니다!
삼촌이 알려주는 비법이에요! "웹사이트를 많이 둘러보면서 '이 사이트는 어떻게 만들었을까?' 궁금해하는 습관을 가져. HTML, CSS, 자바스크립트라는 언어를 배우면 웹사이트를 만들 수 있어. 요즘은 리액트, 뷰 같은 프레임워크도 배우면 더 멋진 웹사이트를 만들 수 있어요!"
게임 개발자는 먼저 캐릭터를 만들어요. "이 주인공은 검을 들고 싸우는 전사야. 점프도 할 수 있고, 공격도 할 수 있어야 해" 이렇게 캐릭터가 어떻게 움직일지, 어떤 능력을 가질지 정하죠. 캐릭터가 점프 버튼을 누르면 폴짝 뛰어오르고, 공격 버튼을 누르면 검을 휘두르도록 코드를 짜는 거예요.
몬스터 인공지능도 만들어야 해요. "이 몬스터는 플레이어를 보면 쫓아와야 해. 그런데 벽에 부딪히면 멈춰야 하고, 플레이어가 너무 멀리 가면 다시 원래 자리로 돌아가야 해" 이렇게 몬스터가 똑똑하게 움직이도록 만드는 거예요. 그냥 멍하니 서있는 몬스터보다 플레이어를 쫓아오는 몬스터가 훨씬 재밌잖아요?
게임 밸런스 조정도 정말 중요한 일이에요. "음... 보스가 너무 강한가? 체력을 좀 줄여볼까?" "이 무기는 너무 약한 것 같아. 공격력을 올려야겠어" 게임이 너무 어렵지도, 쉽지도 않게 딱 적당하게 만들어야 해요. 너무 쉬우면 금방 질리고, 너무 어려우면 포기하게 되니까요.
버그 잡기도 게임 개발자의 중요한 일이에요. "왜 캐릭터가 벽을 통과해서 떨어지지?" "어? 공격을 했는데 데미지가 안 들어가네?" 게임에서 이상한 일이 생기면 코드를 찾아서 고쳐야 해요. 가끔은 정말 이상한 버그가 나타나기도 해요. 캐릭터가 하늘로 날아가 버린다거나, 몬스터가 거꾸로 걷는다거나!
게임 개발자 친구가 이렇게 말해주네요. "게임을 많이 해봐야 해. 그런데 그냥 노는 게 아니라 '이 게임은 어떻게 만들었을까?' 생각하면서 해야 해. 그리고 유니티나 언리얼 같은 게임 엔진을 배워야 해. 수학, 특히 벡터와 물리도 알면 정말 도움이 돼!"
게임 개발자는 게임을 정말 좋아해야 해요. 캐릭터를 움직이고 싶은 마음이 있어야 하고, 재미있는 것을 만드는 걸 즐거워해야 하죠.
게임 개발자가 되면 정말 다양한 게임을 만들 수 있어요. 쿠키런이나 브롤스타즈 같은 모바일 게임도 만들고, 마인크래프트나 로블록스 같은 컴퓨터 게임도 만들어요. 닌텐도 스위치에서 하는 콘솔 게임이나 VR 고글을 쓰고 하는 가상현실 게임도 만들 수 있답니다!
앱 개발자는 먼저 화면 디자인을 해요. "메뉴 버튼은 여기에 놓고, 주문 버튼은 아래에 크게 만들어야겠어" 스마트폰 화면에 버튼이나 메뉴를 어떻게 배치할지 정하는 거죠. 화면이 작은 스마트폰에서는 버튼 위치가 정말 중요해요. 손가락으로 누르기 편한 곳에 있어야 하거든요.
GPS 기능도 넣어요. "배달원이 지금 어디쯤 오는지 지도에 표시해주면 좋겠어" 스마트폰의 GPS를 이용해서 위치를 보여주는 거예요. 그러면 "아, 배달원이 우리 집 근처까지 왔구나!"하고 알 수 있죠.
알림 기능도 만들어요. "주문이 접수되면 '주문이 접수되었습니다' 알림이 뜨게 해야지" "배달이 완료되면 '맛있게 드세요!' 알림을 보내야겠어" 스마트폰에 띵동~ 하고 알림이 오는 것도 앱 개발자가 만든 거랍니다.
다양한 휴대폰에서 테스트도 해야 해요. 삼성 갤럭시, 애플 아이폰, LG 폰... 모든 폰에서 잘 작동하는지 확인해야 하거든요. "어? 삼성 폰에서는 되는데 아이폰에서는 안 되네?" 이런 일도 가끔 생기기 때문에 여러 휴대폰으로 테스트를 해봐야 해요.
카메라나 마이크 같은 휴대폰 기능도 활용해요. "사진을 찍어서 음식 리뷰를 남길 수 있게 하자" "음성으로 주문할 수 있으면 편하겠다" 이렇게 휴대폰의 다양한 기능을 활용해서 앱을 만드는 거예요.
앱 개발자가 알려주는 비법이에요! "스마트폰 앱을 많이 써보면서 '이 앱은 불편한데, 이렇게 바꾸면 좋을 텐데' 생각하는 습관을 가져. 그리고 자바나 코틀린으로 안드로이드 앱을, 스위프트로 아이폰 앱을 만드는 법을 배워야 해. 요즘은 플러터나 리액트 네이티브로 한 번에 두 종류 앱을 만들 수도 있어!"
앱 개발자가 되면 배달 앱, 게임 앱, SNS 앱, 은행 앱, 학습 앱, 건강 관리 앱 같은 것들을 만들 수 있어요. 여러분이 매일 쓰는 카카오톡, 유튜브 앱, 인스타그램 앱도 모두 앱 개발자들이 만든 거랍니다!
AI 개발자는 컴퓨터를 가르쳐요. "이 사진은 고양이야, 이 사진은 강아지야" 수천 장, 수만 장의 사진을 보여주면서 가르치면 컴퓨터가 스스로 배워요. 그러면 새로운 사진을 보여줬을 때 "이건 고양이구나!"하고 알아맞히게 되죠.
데이터를 모으고 정리하는 일도 해요. AI를 학습시키려면 엄청나게 많은 데이터가 필요하거든요. "이 데이터는 쓸 수 있는 거고, 이 데이터는 잘못된 거니까 빼야겠어" 데이터를 하나하나 확인하고 정리하는 거예요.
AI 모델을 만들고 학습시켜요. "이번에는 사진 속 사람의 나이를 맞추는 AI를 만들어볼까?" AI가 사진을 보고 "이 사람은 30살 정도 되어 보여요"라고 예측할 수 있게 만드는 거죠. 처음에는 틀리기도 하지만 계속 학습하면 점점 정확해져요.
AI가 제대로 작동하는지 테스트도 해요. "이 AI는 얼마나 정확할까?" "실제 나이가 30살인 사람을 29살이라고 예측하면 괜찮은데, 30살을 50살이라고 하면 문제겠지?" 정확도를 계속 확인하면서 AI를 개선해나가요.
AI 개발자가 알려주는 비법이에요! "수학, 특히 확률과 통계를 잘 알아야 해. 파이썬 프로그래밍 언어도 필수고. 텐서플로우나 파이토치 같은 AI 라이브러리도 배워야 해. 그리고 AI가 어떻게 배우는지 원리를 이해하는 게 정말 중요해!"
AI 개발자가 되면 정말 신기한 것들을 만들 수 있어요. 얼굴 인식 기술, 음성 인식 기술, 자동 번역, ChatGPT 같은 대화 AI, 자율주행 자동차, 의료 진단 AI, 추천 시스템 같은 것들을 만들 수 있답니다. AI는 앞으로 더 많은 곳에서 쓰일 거예요!
데이터 개발자는 데이터를 모아요. "오늘 우리 쇼핑몰에 몇 명이 방문했지?" "어떤 상품을 가장 많이 봤지?" "몇 시에 사람들이 제일 많이 오지?" 이런 데이터들을 모으는 거예요. 하루에 수백만 명이 방문하는 쇼핑몰이라면 데이터가 엄청나게 많겠죠?
데이터를 저장하고 관리해요. 데이터가 너무 많으면 컴퓨터가 느려질 수 있어요. 그래서 데이터를 효율적으로 저장하는 방법을 고민해야 해요. "이 데이터는 자주 쓰니까 빠른 곳에 저장하고, 이 데이터는 가끔만 쓰니까 느린 곳에 저장하자" 이렇게 계획을 세우는 거죠.
데이터를 정리하고 분석하기 쉽게 만들어요. "이 데이터는 형식이 맞지 않네. 고쳐야겠어" "중복된 데이터가 있네. 지워야겠어" 깨끗하게 정리된 데이터가 있어야 나중에 분석할 수 있거든요.
다른 개발자들이 데이터를 쓸 수 있게 도와줘요. "AI 개발자가 이 데이터가 필요하대. 어떻게 주면 좋을까?" 데이터를 쉽게 가져갈 수 있도록 시스템을 만들어주는 거예요.
데이터 개발자가 알려주는 비법이에요! "SQL이라는 데이터베이스 언어를 꼭 배워야 해. 파이썬도 필요하고, 하둡이나 스파크 같은 빅데이터 기술도 알아야 해. 그리고 데이터를 체계적으로 정리하는 능력이 정말 중요해!"
데이터 개발자가 되면 쇼핑몰, 금융 회사, 게임 회사, SNS 회사 같은 데이터가 많은 곳에서 일할 수 있어요. 요즘은 모든 회사가 데이터를 중요하게 생각하기 때문에 데이터 개발자는 정말 필요한 직업이랍니다!
보안 개발자는 나쁜 해커를 막아요. "누군가 우리 시스템에 몰래 들어오려고 하네? 막아야겠어!" 은행 웹사이트에 해커가 침입하려고 하면 자동으로 막는 시스템을 만드는 거예요.
비밀번호를 안전하게 보관해요. "비밀번호를 그대로 저장하면 위험해. 암호화해서 저장해야지" 여러분의 비밀번호를 아무도 훔쳐볼 수 없게 만드는 거죠.
시스템에 약한 부분이 없는지 찾아요. "여기를 통해서 침입할 수 있겠는데?" 스스로 해커가 되어서 시스템을 공격해 봐요. 그러면 약한 부분을 찾아서 미리 고칠 수 있거든요.
새로운 보안 기술도 연구해요. "지문 인식을 추가하면 더 안전하겠어" "얼굴 인식 기술을 써볼까?" 계속 새로운 방법을 찾아서 시스템을 더 안전하게 만들어요.
보안 개발자가 알려주는 비법이에요! "네트워크와 암호화에 대해 잘 알아야 해. 해커들이 어떤 방법으로 공격하는지도 알아야 하고. 그리고 항상 새로운 보안 뉴스를 챙겨보면서 공부해야 해. 보안은 정말 빠르게 변하거든!"
보안 개발자가 되면 은행, 정부 기관, 큰 회사, 게임 회사 같은 곳에서 일할 수 있어요. 사람들의 소중한 정보를 지키는 정말 중요한 일을 하는 거랍니다!
"나는 작은 컴퓨터 칩에 프로그램을 넣는 일을 해!" 세탁기, 냉장고, 자동차, 로봇에 들어가는 작은 컴퓨터를 프로그래밍해요.
"나는 인터넷 구름(클라우드)에서 일해!" 여러분이 구글 드라이브나 아이클라우드에 저장하는 파일들을 관리하는 시스템을 만들어요.
"나는 암호화폐와 블록체인 기술을 다뤄!" 비트코인 같은 암호화폐나 NFT 같은 신기한 기술을 만들어요.
"나는 개발자들이 일하기 편하게 도와줘!" 프로그램을 빠르게 배포하고, 서버를 안정적으로 관리하는 일을 해요.
정말 많은 종류의 개발자가 있죠? 그리고 앞으로 더 새로운 종류의 개발자들도 생길 거예요!
어떤 개발자가 되고 싶은지 결정하려면 스스로에게 이런 질문을 해보세요.
게임하는 게 제일 재밌나요? 그럼 게임 개발자가 좋을 거예요. 스마트폰 앱 만지는 게 재밌나요? 그럼 앱 개발자가 좋겠네요. 인터넷 서핑하는 게 재밌나요? 웹 개발자를 생각해 보세요!
"나만의 게임을 만들고 싶어!"하면 게임 개발자, "사람들이 편하게 쓸 수 있는 앱을 만들고 싶어!"하면 앱 개발자, "컴퓨터가 사람처럼 똑똑해지면 좋겠어!"하면 AI 개발자가 어울려요.
어떤 문제를 해결하고 싶나요?
"해커로부터 사람들을 지키고 싶어!"하면 보안 개발자, "데이터를 잘 정리해서 도움이 되고 싶어!"하면 데이터 개발자가 좋겠네요.
"아직 잘 모르겠는데요?" 괜찮아요! 초등학생인 여러분이 지금 당장 결정할 필요는 없어요. 삼촌도 처음에는 무슨 개발자가 되고 싶은지 몰랐어요.
여러 가지를 다 해보세요. 스크래치로 게임도 만들어보고, 웹사이트도 만들어보고, 간단한 앱도 만들어봐요. 그러다 보면 "아! 나는 이게 제일 재밌네!"하고 자연스럽게 알게 될 거예요.
그리고 나중에 마음이 바뀌어도 괜찮아요. 삼촌 친구 중에는 게임 개발자로 시작했다가 웹 개발자가 된 친구도 있고, 웹 개발자로 시작했다가 AI 개발자가 된 친구도 있어요. 한 가지 종류의 개발을 배우면 다른 종류로 옮겨가는 것도 그렇게 어렵지 않답니다!
'꿈이 많아요' 어린이 친구, 이제 개발자가 어떤 일을 하는지 알겠나요?
개발자는 정말 다양한 일을 해요. 코딩도 하고, 회의도 하고, 테스트도 하고, 사람들과 협력도 해요. 그리고 개발자의 종류도 정말 많아요. 게임, 웹, 앱, AI, 데이터, 보안... 여러분이 관심 있는 분야의 개발자가 될 수 있답니다!
지금 당장 무슨 개발자가 되고 싶은지 결정하지 못해도 괜찮아요. 여러 가지를 다 시도해 보면서 자신에게 맞는 길을 찾아가면 돼요.
중요한 건 시작하는 거예요! 스크래치로 간단한 게임을 만들어보거나, HTML로 웹페이지를 만들어보거나, 파이썬으로 계산기를 만들어보세요. 작은 것부터 시작하면 돼요.
삼촌도 처음에는 "Hello, World!"라는 글자를 화면에 띄우는 것부터 시작했어요. 지금은 수백만 명이 쓰는 웹사이트를 만들고 있지만요!
여러분도 할 수 있어요. 개발자의 꿈을 포기하지 마세요. 여러분이 어떤 종류의 개발자가 되든, 삼촌이 항상 응원할게요!
자, 이제 컴퓨터를 켜고 첫걸음을 내딛어볼까요? 여러분의 개발자 여정을 시작해 봐요!