디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

땔감행을 면할 최소조건.jpg

장소삼갤로그로 이동합니다. 2016.05.30 23:59:20
조회 11131 추천 24 댓글 9


신입 개발자의 능력

컴퓨터 과학과의 커리큘럼에 따르면 대충 다음과 같은 기술이 있다고 여겨진다.

 

  • 개발언어C/C++, 자바, 웹 프로그래밍 관련 기술
  • 자료구조
  • 소프트웨어 공학의 개념
  • 알고리즘
  • 리눅스를 다룰 수 있는 능력
  • 관계형 데이터베이스를 다룰 수 있는 기술
  • 컴퓨터 네트워크 전문 지식
  • 운영체제 전문 지식
  • (옵션-보안트랙) 보안 관련 전문 지식
  • (옵션-게임트랙) 3D 관련 프로그래밍

 

옵션을 제외한 모든 능력이 우수하다 할지라도 실무에 그대로 투입되기란 솔직히 어렵다. 학부생이 정상적으로 졸업한 후 실무에 바로 투입되는 경우는 졸업전에 합당한 액수의 돈을 받고 소프트웨어를 개발한 경험이 2번이상 있는 경우 말고는 없다.

 

특히 다른 사람의 의뢰를 받아 개발하는 경험이 매우 중요하다.(자기 멋대로 개발하는 것이 아니라 요구사항에 맞춰 개발하고 그 이상의 요구를 들어주는 과정을 거치기 때문이다.) 하지만 이러한 경험을 쌓은 경우는 휴학을 했거나, 일을 하다가 뒤늦게 입학을 한 경우가 대부분이다. 정상적으로는 이러한 경험을 해보기란 하늘에 별따기다.

 

대학교에서 배운 경험과 실무의 갭이 현저하게 차이가 나는 것은 다른 분야도 마찬가지일 것이다. 하지만 그 사람의 실력이 어떤지는 대부분 결과를 통해 알 수 있을 뿐, 그 과정을 추적하기란 여간 쉽지 않다. 그래서 정말로 일을 잘하는지는 판단하기가 어렵다. 부하직원이 한 일을 상사가 가로채기도 하지 않는가? 

 

개발자 세계에서 이런일은 거의 일어날 수가 없다. 기가 막히게 잘 만들어진 소스 형상 관리 도구 덕분에 개발한 소스 코드를 이력까지 추적하며 확인 할 수 있기에 실력이 그대로 까발려지기 때문이다. 그렇다보니 신입 개발자는 코드 한 줄 작성에도 많은 고민이 있을 수 밖에 없다. 

 

기업 입장에서는 신입 개발자에게 그리 큰 기대를 하지 않는다. 그래서 대부분 현재 프로젝트와 동떨어진 보다 쉬운 것을 해보라고 던지는 경우가 많다. 이때 뭔가를 보여주지 않는다면 깊은 인상을 남기긴 힘들다.

 

신입 개발자에게 바라는 것은

신입 개발자에게 처음부터 수준 높은 프로그래밍 실력을 바라지 않는다. 하지만 기본기라는 것이 있다. 이것이 있냐 없냐에 따라 같은 1년 경력을 쌓아도 전혀 다른 결과를 얻는다. 내가 생각하는 기본기는 다음과 같다.

 

  • 운영체제: 전공서 하나는 독파해야 한다. 용어를 던지면 술술 나올정도는 아니더라도 메모리, 디스크, 프로세스 등에 대한 내용의 큰 그림은 그리고 있어야 한다. 
  • 컴퓨터 네트워크: 데이터 링크 계층은 그렇다치더라도, 네트워크 계층 이상에 대해서는 확실히 이해해야 한다. 공부할 프로토콜이 넘쳐나지만 그 중에 IP(네트워크계층), TCP와 UDP(전송 계층), HTTP(응용 계층)는 반드시 알고 있어야 한다. 이것만 확실히 알면 다른 프로토콜을 공부하기가 매우 수월하기 때문이다.
  • 데이터베이스: MySQL, 오라클, MS-SQL 등 관계형 데이터베이스 하나 정도는 다룰 수 있어야 한다. 특히 SQL 쿼리문에 대해 조회, 수정, 삭제, 추가는 물론이고 Inner/Outer Join은 할 줄 알아야 한다. 그 다음 단계가 ORM이고 요즘은 NoSQL도 알아야 한다. 정말 힘들다면 일단 관계형 데이터베이스라도 확실히 알아야 확장 하여 공부 할 수 있다.
  • C: 메모리를 자유자재로 다룰 수 있으면 C 프로그래밍에 능통했다고 본다. 개발자 강좌에도 연재하고 있지만, strcpy/memset/memcpy와 같은 문자열 및 메모리 관련 함수와 캐스팅에 대한 정확한 이해를 하고 있다면 어느정도 기본기가 있다고 볼 수 있다. 운영체제의 메모리 개념을 접목시키기에 매우 적당한 개발언어다.
  • 객체지향 개발언어(자바/C++ 등): 자바든 C++ 이든 객체 지향 개발언어에 대해 상속과 다형성을 능숙하게 사용하고 이해하고 있다면 충분하다. 이정도 되면 실무에 있는 코드를 읽을 수는 있다.
  • 자료구조: 이걸 모른다면 프로그래밍을 할 수 조차 없다. ​너무나 당연한 지식이다. list, array, map, stack, queue 에 대해서는 그 차이를 확실히 이해하고 있어야 한다. 또한 어떤 상황이 주어졌을 때 각 자료구조에 장단점을 파악하여 적재적소에 사용할 수 있는 능력이 있어야 한다. 이 부분은 절대 어려운 것이 아니므로 모르면 개무시를 당할 수 있다.
  • 알고리즘: 알고리즘은 전공자들에게도 어려운 과목이다. 복잡도나 동적 프로그래밍까지 바라진 않는다. 적어도 정렬과 탐색 알고리즘은 알아야 한다. 구현까지도 바라진 않는다. 대부분 라이브러리에 구현되어 있기 때문이다. 적어도 말로 알고리즘 별 장단점 및 특징을 설명할 수는 있어야 사용할 수 있다. 코딩 기술에 관련된 것이라면 피보나치와 같은 간단한 알고리즘을 재귀함수로 구현할 수 있어야 한다. 성능 이슈를 떠나서 재귀로 로직을 세울 수 있느냐 없느냐 큰 차이가 있다.
  • 소프트웨어 공학: 이론적으로 외울게 많은 과목이지만 핵심 요소는 이해해 둘 필요가 있다. 소프트웨어 개발 라이프사이클은 알고 있어야 애자일 개발방법론 같은 것도 이해할 수 있다. 특히 관심사의 분리와 같은 개념을 알아야 제대로 된 설계가 가능하다.
  • 스크립트 개발언어(Javascript/Python 등): 어떤 것이든 유명한 스크립트 언어 하나라도 다룰 줄 알아야 한다. 전혀 다른 통찰을 얻을 수 있기 때문에 능숙하진 못해도 C와 같은 언어와 무엇인 다른지 확실히 이해만 해도 성공이다.
  • 웹 프로그래밍(php/asp.net/spring 등): 서버 사이드 개발 경험이 필요하다. 이건 수요가 많기 때문에 특히 그렇다. 게시판 한 번이라도 DB 이용해 구현할 수 있는 정도 수준이라도 경험이 필요하다.

전공 지식은 용어 자체에 대한 기억이 희미하더라도 해당하는 설명글을 읽었을 때 바로 이해가 되는 수준은 되어야 한다. 프로그래밍 관련 내용은 코드를 읽을 수 있는 능력이 가장 우선시 된다. 

만약 위에 언급한 내용에 대해 아직 준비되지 않은 것이 있다면 지금이라도 공부하자. 자신의 직무와 다르다고 판단하는 분이 계실지도 모르겠는데 저건 그냥 기초다. 이러한 기반 위에 올라가는 지식은 이해하는 차원이 다르다. 단지 현재 현상을 이해하는 것보다 그 역사를 이해하면 그 현상을 통해 미래를 볼 수 있는 통찰을 얻을 수 있는 것과 같은 이치다.


고민해봐야 할 팀

개발자로 경력을 쌓길 원하는데 다음과 같은 일을 하는 팀에 들어갔다면 자신의 비전과 맞는지 잘 따져봐야 한다.

 

  • 유지보수팀: 중견 기업인 경우에는 이미 다양한 솔루션을 보유한 경우가 많다. 이러한 솔루션을 버전업하는 신규 개발팀이 있는 반면 이미 납품한 고객들을 상대하는 유지보수팀이 있다. 소스 코드가 매우 잘 만들어진 경우라면 정말 많은 것을 얻을 수 있을 것이다. 좋은 코드 만큼 좋은 스승은 없다. 만약 그렇지 않다면 잘못된 습관이 생길 수 있어 정말 최악의 경력을 쌓게 될 것이다. 유지보수 기간이 길수록 거지같은 코드는 메모리 릭, 병목 현상 등과 같은 초급 개발자가 감당할 수 없는 사건이 발생한다. 문제는 이것을 해결할 능력이 되지 않는다는 것이다. 거기에 만약 사수까지 형편없다면 실력이 늘긴 커녕 더러운 코딩 능력만 얻는다. 어떤 경우라도 이곳에서는 1년이상 있어서는 안 된다. 새로운 기술을 배우기는 힘들기 때문이다.
  • 테스트팀(QA팀): 훌륭한 개발자를 목표로 하고 있다면 1년정도 있어보는 것도 나쁜 선택은 아니다. 소프트웨어에 대한 깊은 이해와 개발할 때 많은 노하우를 얻을 수 있기 때문이다. 하지만 이곳도 1년이상 있어야 한다면 경력에 있어 큰 손실이라고 말하고 싶다. 반복되는 일상이 많을 수 있어 새로운 기술 개발에 대한 도전이 거의 불가능하기 때문이다.




http://happy-dev.tistory.com/37

추천 비추천

24

고정닉 0

2

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 며느리, 사위되면 시댁, 처가에 잘할 것 같은 스타 운영자 25/10/13 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 48002 65
2896899 개발자하지마라 ㅇㅇ(59.14) 09:44 23 0
2896898 개발 SM 취업하려면 혹시 사람인에 뭐라고 쳐야 알수있어? 프갤러(122.40) 09:42 11 0
2896897 나는 내가 일하고 싶을때만 일하려고 취업을 거부해! ㅇㅇ(211.234) 09:39 13 0
2896896 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 09:29 19 0
2896895 반지의 제왕은 어쩌다 한 번은 봐도 두 번 세 번은 못보겠더라..ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 09:16 18 0
2896894 인텔 인공지능 인재교육 (~11/3) 프갤러(121.130) 09:16 21 0
2896893 아침햇살에 빛나는..ㅇㅅㅇ [2] 헤르 미온느갤로그로 이동합니다. 08:18 20 0
2896892 대통령이라면 역사와 외교안보에 있어서는 오른쪽이어야 한다 [2] chironpractor갤로그로 이동합니다. 08:16 35 1
2896890 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 08:15 13 0
2896889 하루 한 번 헤르미온느 찬양 (시즌5) 헤르 미온느갤로그로 이동합니다. 08:14 18 0
2896888 김현지 파묘되자 광주소재 여고에 테러 메일 ㄷㅅㄷ 입틀막? [2] ♥덩냥이♥갤로그로 이동합니다. 08:11 30 0
2896886 김현지 파묘 ㄷㅅㄷ 찢두순 당선무효 될듯 ♥덩냥이♥갤로그로 이동합니다. 08:01 27 0
2896885 진정한 개발자가 되고 싶습니다 [6] 공기역학갤로그로 이동합니다. 07:56 36 0
2896884 특검을 특검하라 [2] chironpractor갤로그로 이동합니다. 07:47 26 0
2896883 cpu랑 메인보드 만들 사람 구합니다. 재현갤로그로 이동합니다. 07:27 21 0
2896882 홍석천 아저씨 드럼통 당하는거 아님? ㄷㅅㄷ [2] ♥덩냥이♥갤로그로 이동합니다. 07:21 39 0
2896881 이제 더 이상 못참겠다. 진짜 저질러야겠다. 프갤러(218.153) 07:21 24 0
2896880 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 06:59 22 0
2896877 음기 충전 발명도둑잡기(118.235) 03:34 40 0
2896874 30대 후반 무경력 백수 직업추천 받습니다. [8] 프갤러(121.88) 03:13 104 0
2896870 새벽에 연락와서 이제 일어남. [3] ㅆㅇㅆ(124.216) 02:05 55 0
2896867 나는 클린 아키텍쳐보다 단순 포트 어댑터가 편한듯 [2] ㅆㅇㅆ(124.216) 01:59 40 0
2896861 단순 논문 재현 하는데 왜 이렇게 요구사항이 많은지 [3] ㅆㅇㅆ(124.216) 01:16 62 0
2896860 교수새끼들만 끼면 그냥 일이 복잡해지노 ㅆㅇㅆ(124.216) 01:15 41 0
2896859 미국 핵심산업 안보공급망 확보를 위한 투자가 늘겠구나.. hrin(220.120) 00:55 20 0
2896858 ❤✨☀⭐⚡☘⛩나님 소중합니당⛩☘⚡⭐☀✨❤ ♥덩냥이♥갤로그로 이동합니다. 00:50 48 0
2896856 글로벌 인재 포럼 참가 신청했다 hrin(220.120) 00:47 52 0
2896855 요즘은 웨스턴 디지털이 좋아 보이는구나 hrin(220.120) 00:46 36 0
2896853 재매이햄 부동산 규제 빡세네 [3] hrin(118.235) 00:39 44 1
2896852 코딩테스트가 이제 의미가 있나싶음 [2] 카드캡터체리갤로그로 이동합니다. 00:36 54 0
2896851 정말 화가 난다. 개미만도 못한 스스로가 너무 역겹다. ㅇㅇ(223.39) 00:34 23 0
2896850 모기 느낌.. ♥덩냥이♥갤로그로 이동합니다. 00:24 46 0
2896847 개발 때려치우고 전산직 갈려는데 뭐준비해야하냐? ㅇㅇ(220.77) 00:05 31 0
2896844 카카오 코테는 ㅈ랄맞은 듯 [1] 프갤러(110.13) 10.16 85 0
2896840 반지의 제왕 1편 마져 보는 중 [2] 발명도둑잡기(118.235) 10.16 38 0
2896838 객체지향 딱 알려준다. [1] 프갤러(211.234) 10.16 63 1
2896836 ㅎ2 ㅇㅅㅇ [1] 류류(210.123) 10.16 26 0
2896834 #인의#의리#낭만#검객 ♥덩냥이♥갤로그로 이동합니다. 10.16 27 0
2896833 디시 코드이그나이터 쓰네 프갤러(175.116) 10.16 24 0
2896832 AI 코딩, 내가 환장하는거. 프갤러(59.16) 10.16 36 0
2896831 양질의 일자리 vs 인재들의 생활방식 선호 [4] chironpractor갤로그로 이동합니다. 10.16 55 0
2896830 러스트가 길이고 진리고 생명이다. 프갤러(211.234) 10.16 20 1
2896829 극우 이 이기적인 놈들 나라가 망해도 좋다 이거냐? [2] ♥덩냥이♥갤로그로 이동합니다. 10.16 50 0
2896828 AI 바이브 코딩 말해 줘? 프갤러(59.16) 10.16 41 0
2896826 Chatter BBS 분탕 가능방 오픈! [1] 파란빤스갤로그로 이동합니다. 10.16 34 0
2896823 개발 ai 스타일 3가지 프갤러(183.109) 10.16 49 0
2896818 수고했어양❤+ [2] ♥덩냥이♥갤로그로 이동합니다. 10.16 33 0
2896816 고전게임 [6] 배구공(119.202) 10.16 40 0
2896815 C++ 인생 40 년 갈아 넣었습니다. [3] 프갤러(59.16) 10.16 61 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2