기본 콘텐츠로 건너뛰기

SI나 SES에 들어가서 후회 하는 사람과 기회로 삼는 사람의 차이




저보다 좋고 알찬 내용의 영상들이 많은데요.. 
좋은 내용들을 보면 제 채널의 공개 플레이 리스트에 넣어 놓고 있습니다. 
제 영상만 보지 마시고, 채널 내의 다른 분들의 좋은 영상들도 보시면 좋을 거 같네요. ^^
그리고 제게 참고가 되거나 다른 분들께 알리면 좋은 영상이 있으면 알려주시면 플레이리스트에 넣어 두겠습니다.  

아마 끝이 나지 않는 논쟁이 될 거 같은데요.. 
이번 영상으로 욕을 하실 분들이 많을거라 봅니다. 
하지만, 5년 이상 경력을 갖게 된 분들은 아마 제 이야기에 공감하거나 후회를 하신 적이 있을 겁니다. 자신이 몰랐던 신입때 이런 것을 가르쳐 줬으면 하는... 

이런저런 다른 분들의 영상을 보면 ses나 si기업들의 단점을 지적하고 있습니다.

그런데 제가 그 영상들에서 느끼는 단점이라는 부분들이 오히려 제게는 장점이 되어 왔기에 지금의 제가 있는게 아닐까 하는 마음에 감히 언급 해봅니다.

어떠한 상황에서든 마음가짐과 받아들이는 태도나 의지에 따라서는 무한히 바뀔 수 있다고 봅니다. 
이걸로 편견이 조금은 사라졌으면 하네요.

물론 제가 누누히 강조한 27번 전직 중 반은 일반 it회사, 반은 si또는 ses를 경험했기에 말할 수 있는 것입니다. 한쪽만 경험한 것이 아니기 때문에 어느 정도는 중립적 입장에서의 판단이 가능하지 않을까요?

우선 제일 황당했던 불만 중 하나가 있어서 제일 먼저 끄집어냅니다.

“일 안시키고 방치”

사회 초년생이 si프로젝트에 들어갔는데 6개월을 일을 안줬다는 것에 힘들었다고 하네요.
한국의 교육체제가 얼마나 잘못 되어 있는지를 보여주는 대목이라 생각합니다.
중고등 학생까지는 부모가 학원도 찾아주고 데려다 주면서 떠먹여 줬으니까 그렇다 칩시다.
대학부터는 반 사회인으로서 스스로 자립을 준비하는 기간인데,
스스로 판단해서 수강 신청하고 학점관리하고, 나는 시간을 자신을 위해 쓰는 법을 배우는 
반 자율에 맡기는 기간인데요..
이 때 여러분은 단지 시키는대로 주변의 유혹대로 떠밀려 살다가 졸업하신건 아니신가요?
아직까지 누군가 시키지 않으면 멍하니 있는 식인지요?

제 대학 생활은 알차다고 보기 힘들었지만,
어떡하면 경제적으로 부모에게서 독립하고 시키는대로 로봇처럼 안살 수 있을까를 고민하면서 발버둥 쳤네요.
1997년 부산 시청 전산화 작업에 참여 했을 때는 아침 8시 반에 출근해서 청소하고, 다들 9시에 출근하면 잡일하고 문서작업이나 테스트만 했다고 전에도 말 했죠. 
사실 이 이야기가 지금 언급한 프로젝트에 들어가서 아무것도 안시켰던 사례입니다.
delphi를 몰라서 회사가 시킬게 없는데, 전 그 사람들이 업무 효율이 나도록 일과 상관 없는 청소 등의 잡무를 도와주었기 때문에 급여를 받았고,
능력이 없는 저는 밤에는 그 코드를 읽으면서 공부를 한거죠.

산에 놀러가면 산에서 배울게 아주 많습니다.
물론 바다에 가도 놀 사람은 놀지만, 배율 사람은 배웁니다.
지금 프로젝트에 꿔다 놓은 보리가 된 당신은 회사가 당신에게 투자를 하는 겁니다.
무경험이기 때문에 다음 프로젝트 참여를 시키기 위해 일은 안시키더라도 억지로 넣은 것이죠.
그럼 당신은 돈도 받고, 경력서에 뭐라도 생기고, 게다가 공부할 환경도 준 겁니다.
당신에게 그런 환경을 준 만큼 다른 사람들이 당신의 일을 더 해야겠죠.
이런 회사의 배려를 

“일 안시키고 방치”

한다고 해석할 수도 있다는 것을 처음 알았네요..
이래서 더더욱 요즘 신입을 사장들이 기피하게 되는 걸까요?

조금만 생각해 보면 되는 오해로 인해서
회사의 투자가 개인이나 회사 모두 손실이 되는
불상사는 없으면 좋겠습니다.


2. “어느게 맞는지 모르겠다”


SI에서만 시간에 쫒겨 코드가 엉망인데 초보는 어느게 맞는지 아무도 안알려준다…
라는 내용인데요..
경험이 많으신 분들은 바로 아시겠죠?

제 경험에서는 비si쪽이 더 엉망인데요…
27번 중 반에 해당하는 일반 기업에서는 
Si경험자 같은 사람들이 거의 없었구요..
당연히 si에서 능력이 있는 경험자들은 si가 돈을 많이 주는데 일반 it기업엔 안가죠.
만약 가는 사람이라면, 충분히 벌었으니 이젠 좀 편해보자는 생각일 수도 있습니다.
뭐 저같은 재밌는 안건만 찾아다니는 이상한 놈들도 있지만요..

SI를 하다가 비si 사람들이 모인it기업 경험을 해보신 분들 
공감하시겠지만요..

제가 경험한 비si의 모든 기업에서 erd는 못봤습니다. 물론 이 중에 직원 수백명 짜리 기업도 있었고, 나름 성장 중인 기업들도 있었습니다. 
사양서 없냐고 물어보니 사양서 만드는 법조차 모르는 리더들도 태반이었구요..
제가 다녀간 회사의 제가 참여한 부분의 문서는 모두 제가 만들었습니다.

소스코드는 괜찮을 거 같죠?

시간이 펑펑 남아도 이렇게까지 스파게티를 만들 수 있구나 하고 생각하게 되죠.
차라리 si는 프로젝트마다 새로운 맴버 등 
여러명이 문서를 만들면서 하니까,
잘만든 코드와 못먼든 코드가 있으니 닥치는 대로 다 흡수해서 스스로 만들다보면
뭐가 비효율적인지 비교 대상이라도 있죠..
직접 고민해서 짜는 것 보다 남의 코드를 자기걸로 배우면 배우는 속도가 빨라지고, 
경험이 많아질 수록 좋은 코드를 보는 눈이 생깁니다. 

갈라파고스가 된 기업에 가 보면
같잖은 구조를 촤고라 여기는 신봉자 집단도 있었는데요..

예전에 언급한 인덱스 거꾸로 달고 3년을 자신있게 그 게임에만 매달린 dba도 있잖아요?
이런 사람이 용케도 살어있을 수 있는건 si가 아니기 때문이죠.
경험이 쌓일수록 대규모 프로젝트에 들어가는데,
Si는 실력이 뽀록나면 대형사고가 납니다.

그냥 편하게 가만있을테니 나좀 키워줘바

하는 분들은 si뿐만 아니라
IT에는 오지 않기를 바라는 마음입니다.

예전에는 제 튜닝 일이 많아져서 좋았는데요,
20년이 지나도 발전없는 한국의 꽤 많은 사고 현장을 보다보면 이건 아니다 싶네요.

물론 전부 안좋은건 아닙니다.

IT 1세대의 기업들은 si하던 사람들이 모여서 탄탄하게 키워가는데가 많습니다.
하지만 세대가 바뀌면서 오히려 떨어지는 기업들이 더 많아진다는 느낌이 안타까운거죠.
어느 나라나 it환경은 비슷해져가고 았습니다.
차이는 it분야에 뛰어드는 사람들의 마음가짐 차이겠죠.

한국의 모듈이나 프레임워크를 만드는 능력은 최하위 수준이지만
여전히 한국의 IT 응용 능력은 세계적인 수준입니다. 
남의 소스코드, 프레임웍 등을 이용하여 아이디어를 구현하는 수준이 세계적인 수준이라는 것은 아주 좋은 능력 중 하나입니다. 

하지만, 단지 돈좀 된다고 몰려들며 그 위상을 하향 평준화 하고 있는 느낌이 많이 들고 있습니다. 
능력 없으면 하지말란 이야기가 아닙니다. 
쉽게 생각하고 들어오면 안되는 분야인 만큼, 
좀더 한국의 IT를 알리겠다는 포부를 가지고 
노력 해주시는 분들이 많아졌으면 하는 이야기 입니다. 

새롭게 IT에 뛰어드시는 분들에게 
IT는 다른 분야와는 다르다는 자각이 있으면 하는 마음에 
올려봅니다.





giip :: Control all Robots and Devices! Free inter-RPA orchestration tool! https://giipasp.azurewebsites.net/

댓글

이 블로그의 인기 게시물

Alter table 에서 modify 와 change 의 차이 :: SQL Server

두 개의 차이를 모르는 경우가 많아서 정리합니다.  modify는 필드의 속성값을 바꿀때 사용하구요.. change는 필드명을 바꿀떄 사용합니다.  alter table tbbs modify bNote varchar(2000) NULL; alter table tbbs change bNoteOrg bNoteNew varchar(2000) NULL; change에는 원래 필드와 바꾸고 싶은 필드명을 넣어서 필드명을 바꾸는 것이죠~ 더 많은 SQL Server 팁을 보려면  https://github.com/LowyShin/KnowledgeBase/tree/master/wiki/SQL-Server giip :: Control all Robots and Devices! Free inter-RPA orchestration tool! https://giipasp.azurewebsites.net/

책에서는 안 알려주는 대규모 트래픽을 위한 설계

음성 버전 :  https://www.youtube.com/watch?v=ZZlW6diG_XM 대규모 트래픽을 커버하는 첫 페이지 만드는 법..  보통 DB를 연결할 때 대규모 설계는 어떻게 하시나요?  잘 만들었다는 전제 하에 동접 3000명 이하는  어떤 DBMS를 사용해도 문제 없이 돌아갑니다.  여기서 이미 터졌다면 이 콘텐츠를 보기 전에 DB의 기초부터 보셔야 합니다.  아.. 개발 코드가 터졌다구요? 그럼 개발자를 때리셔야지요..  만약 3000명을 넘겼다면? 이제 Write/Read를 분리해서  1 CRUD + n개의 READ Replica를 만들겠죠?  보통 Read Replica는 5개가 최대라고 보시면 됩니다.  누가 연구한 자료가 있었는데...  6번째 레플리카를 만든느 순간 마스터가 되는 서버의 효율 저하 때문에  5번째에서 6번쨰로 올릴때의 성능이 급격히 줄어든다는 연구 결과가 있습니다.  때문에 Azure에서도 replica설정할 때 5대까지 밖에 설정 못하게 되어 있지요.  유저의 행동 패턴에 따라 다르긴 하지만,  1 CRUD + 5 Read Replica의 경우 동접 15000명 정도는 커버 합니다.  즉, 동접 15000명 에서 다시 터져서 저를 부르는 경우가 많지요..  이 때부터는  회원 DB, 게시판DB, 서비스DB, 과금 DB 등등 으로 성격, 서로의 연관도에 따라 나누기 시작합니다.  물리적으로 DB가 나눠지면 Join을 못하거나 Linked Table또는 LinkDB등의 연결자를 이용해서 JOIN이 되기도 합니다.  그에 따라 성능 차이가 생기지만 가장 중요한 포인트는  서로 다른 물리적 테이블의 JOIN은 인덱스를 타지 않는다!  라는 것입니다. 즉, JOIN할 테이블들을 최소한으로 만든 뒤에 JOIN을 걸지 않으면 NoSQ...

BI의 궁극판! Apache Drill을 써보자!

사실 Apache Drill 은 BI(Business Intelligence)라고 부르는 것 보다는 단순 데이터 연결 엔진이다. https://drill.apache.org/ 하지만 내가 왜 극찬을 하느냐면.. DBA로서 항상 문제가 되어왔던게, 이기종 데이터의 변환이나 처리였다. 포맷을 맞추는데 엄청난 시간이 걸리고, 데이터 임포트 실패가 무수하게 나고.. 한 번 잘못 데이터를 추출하면 다시 조정, 변환, 추출하는데 시간이 많이 걸린다. 그런데! Apache Drill은 그냥 RDB를 CSV랑 연결해서 조인해서 통계를 낼 수 있다. 그것도 표준 SQL을 사용하여! 예를 들어, CSV의 세 번째 컬럼이 price 이고, 물건의 판매이력을 PG사에서 CSV로 출력 받았다. 우리 DB와의 검증을 위해서는 수동으로 Import를 한 뒤에 포맷이 안맞아 잘리는 데이터가 있다면 다시 맞춰주고, 재 임포트를 수십 번, 그리고 나서 겨우 들어간 데이터를 조인하여 빠진 데이터를 분간한다. 숫자가 적다면 개발자가 개발로 처리할 수도 있지만, 건수가 하루에 300만건 짜리라면.. 한 달 온 파일은 9천만 건이다. 프로그램으로 고작 처리하는 것이 초당 500건. 거의 20만초, 에러 없이 약 56시간.. 에러가 생기면 다시 56시간.. ㅠㅡㅠ 이런게 현실이기 때문에 쿼리 말고는 방법이 없다. apache drill 의 진면목을 보자! 이번에는 좀 범용 적인 MySQL DB와 붙여 보자. . 난 이번에는 Mac에서 작업을 했기 때문에 그냥 다운 받아서 풀었음.. https://drill.apache.org/download/ 여기서 자기 OS에 맞는 버전을 받아서 설치하시길.. 압축을 풀고 나면 MySQL 커넥터를 붙여야 한다. https://dev.mysql.com/downloads/connector/j/5.1.html 여기서 다운로드 이런 커넥터 들을 붙일 때마다 콘피그를 수정해 줘야 하지만, 몇 번만...