Archive for 2월, 2018

Cloud-Native Batch Processing with Spring Batch 4

2018/02/27

Cloud-Native Batch Processing with Spring Batch 4

https://www.infoq.com/presentations/spring-batch-4

Advertisements

Microservices in Java – DZone – Refcardz

2018/02/27

Microservices in Java – DZone – Refcardz

https://dzone.com/refcardz/learn-microservices-in-java

잔혹사개발자 오블라디 오블라다1 : 개발자가 빠지는 주 화입마

2018/02/27

—-
[잔혹사]개발자 오블라디 오블라다1 : 개발자가 빠지는 주화입마
// 딴지일보_21세기 명랑사회를 향하여

1.3 주화입마

직업적 특징으로서 이직 말고 또 다른 모양새의 이직을 한번 살펴보자.

개발자가 스스로 이직을 하게 되는 경우가 있는데 그 경우 중 하나가 주화입마에 빠지는 경우다. (뭐 사실 이 경우도 바라보는 시각에 따라 타의가 될 수 있다)

주화입마에 빠지게 되면 격무로 인한 수면부족으로 눈에 힘이 없어지고, 컨디션은 PC방에서 밤새고 이제 막 나와 햇빛에 직면했을 때처럼 온몸에 힘이 다 풀려 있는 상태가 된다. 정신 나간 사람처럼 이상한 소리를 중얼거리고 있을 것 같지만 오히려 조용하고 정적인 상태로 머물러 있다. 그냥 넋이 나간 사람처럼 말이다. 한동안 그렇게 넋 나간 부랑자 꼴로 모니터만 직시하다 충동적으로 사표를 던지고 바람 앞의 담배 연기처럼 어느 순간 사라진다.

그리고 무시무시한 이야기로 총각 > 노총각 급행을 타게 될 가능성이 상당히 높아진다. 명심하자. 영화 <의천도룡기> 초장에서 무공을 쓸 수 없는 장무기는 놀림이나 받던 솔로였다!

58d343940c760.jpg

그렇다면 어느 정도 격무에 시달려야 하고 어떤 경우에 주화입마에 빠지게 될까? 개발직군에서의 격무는 워낙 말이 많다 보니 길게 설명하지 않아도 될 듯하다. 새벽 2시 30분 퇴근과 정시 출근을 약 3개월쯤 하고 그 기간 동안 주말 모두 출근하면 넋이 서서히 빠져나가는 것을 느끼게 된다. 그 사이 밤을 지새기도 한다. 밤을 지새고 아침 7시에 퇴근하는데 아침 11시까지 출근하라는 지시를 받은 경우도 실제로 있었다.

PL(Project Leader)을 담당했던 한 선배는 약 한 달간 밤을 지새고 정신 차리고 보니 병원이었다던 무용담도 있었고, 일하다 쓰러져 구급차에 실려 가는 직원을 직접 목격하기도 했다. (요즘은 많은 회사들이 칼퇴근을 정책적으로 하고 있다고는 하나 아직도 많은 곳에서 무림 호걸들이 주화입마에 빠지고 있다)

그러면 왜 그렇게 일이 많은 것일까?

통상적으로 일이 많다기 보다 인력이 턱없이 부족하거나 기간이 턱없이 짧은 경우가 대부분을 차지한다. 개발직군에서 돈이 제일 많이 드는 부분은 인건비 항목이다. 개발자 100명이 투입되는 프로젝트의 기간을 한 달 줄인다고 상상해 보면 짭짤하지 않은가? 그리고 일단 한 달 줄여놓고 판을 벌이는 것이 도중에 줄이는 것보다 더 쉬워 보이지 않는가? 유부남들의 취미용품 구매 공식과 똑같은 것이다.

“사려고 허락을 받는 것보다 사 놓고 용서를 비는 것이 더 쉽다!!!!!!”

자, 이렇게 격무가 계속되다 보니 개발자는 부서장이나 상위 부서에 SOS 신호를 보내기 시작한다. 나름 열심히 구조 신호를 보내서 SOS에 대한 응답이 올 줄 알았는데 아무 반응이 없다. 미등이 점 만한 크기로 보이는 거리에서 밤하늘을 날고 있는 여객기에다 손전등으로 수신호를 보낸 것 마냥 아무 반응이 없다.

개발자는 이제 지쳐 검투사가 되려고 한다. 체력과 정신력에 한계가 명확히 보여서 결판을 낼 것을 다짐한다. 일의 기간을 늘리든 인원 투입 요청을 하든 말이다. 무능한 부서장이나 상위 직책자와 화려한 대면식을 가진다. 영화 <글라디에이터>의 막시무스처럼 말이다. 멋지게 마스크를 벗고 간지나게 “나는 북부군의 총사령관이자… 살해당한 아내의 남편이자…” 대사를 하는 것처럼 카리스마 넘치게 요구사항을 말하고 담판 결과를 기다린다.

하지만 잊지 말자. 우리는 빨래판 복근과 검투사의 글라디우스 검을 무장한 것이 아니다. 우리는 도수 높은 안경과 단정한 뱅뱅 청바지, 그리고 체크무늬 남방을 입었을 뿐이다. 담판 결과는 처참하다. 보기 좋게 패배했다.

담판에 패배한 개발자는 이제 막시무스가 아니라 <캐스트어웨이>의 톰 행크스가 되어버렸다. 심각한 수면 부족과 스트레스로 인해 톰 행크스는 판단이 잘 서지 않는다. 어디서부터 일이 잘못 되었는지 짐작도 안 가고 “우리 회사는 왜 매번 이런 식으로 일을 할까?” 하는 생각이 머릿속을 지배하기 시작한다. (조직의 의도된 무능함에 철저하게 공략 당한 것이다.) 노총각이 되어버린 톰 행크스는 스스로 뗏목을 만들어 윌슨과 함께 이 이상한 조직에서 탈출하든가 아니면 그냥 그렇게 수긍하고 살든가 선택해야 한다.

56163.jpg

나의 경험에 의하면 이런 류의 담판은 90% 확률로 개발자가 패배한다. 합리적인 회사 및 사업구조와 그에 상응하는 임원 및 직원으로 구성된 회사라면 애초에 이 지경까지 잘 오지 않는다. (오더라도 상응한 보상이 주어지는 경우가 많다) 즉, 이 지경까지 왔다는 것은 개발자가 싸워 이길 수 없는 거대한 조직적, 사회적 제도의 결함이 배경에 있는 것이다.

그리고 무능한 상사와 임원들은 이 결함들을 더욱 견고히 하거나 촉진시키는 촉매제의 역할을 하며 그들도 그런 환경에 오랜 기간 노출되었기에 사회생활과 회사생활은 원래 그런 것이라고 철석같이 믿고 있다.

그렇다면 무능하고 높으신 분들이 정말 그렇게 많을까? 아직 취업하지 않은 분들께 한번 고자질하는 심정으로 말해보자면, 조직의 장 혹은 그 이상 정도 되면 엄청나게 실적이 화려하고 레전드 사건이 하나 정도 있을 것 같지만, 뭐 어쩌다 보니 그 자리에 올라가 있는 양반들이 많다. 물론 정말 능력 있고 인품 좋은 분도 있다. 하지만 세상에 좋은 것은 항상 드물게 있다. 그리고 좋은 것은 항상 내 것이 아니다. 엄마 친구 아들 같은 개념이다. 그래서 당신 친구가 “우리 상사님들은 다 좋아”라고 말한다면 그 친구는 바보거나 아니면 부러움의 대상이다.

그들은 과연 어떤 부류일까? 최악 중에 최악은 욕설을 하고 폭력을 휘두르는 상사가 아니다. 걔들은 그냥 신고해서 체포당하도록 하자. 걔들은 오히려 대처하기가 편하다. 정말 나쁜 질의 상사는 눈에 잘 띄지 않지만 그런 상사와 함께 있으면 당신은 서서히 넋 나간 부랑자가 된다. 심지어 그들은 개발자의 전문성이 사라지게 만드는 일등 공신 중 하나다. 그리고 무서운 이야기지만 당신을 도자기 빚듯이 노총각 형상으로 빚어가는 것이다.

그런 상사의 특징은 무엇일까?

한 두 차례가 아니라 아래의 양상이 동일하게 반복된다면 당신의 노총각 지수는 올라간다.

1) 원론적인 이야기들

2) 말 뒤집기

3) 그래서 대안은?

위의 사안들을 예시로 한번 살펴보자.

원론적인 이야기와 조언들은 뭐 그게 별거냐 싶지만 알고 보면 동점 만루 상황에서 병살타 같은 것이다. 스마트폰 개발자라 가정하고 다음의 이슈를 반드시 해결해야 한다고 상상해보자. 음성 통화가 연결되어 있고 인터넷 브라우저로 인터넷을 하고 있던 도중 스마트폰이 꺼져버렸다. 로그를 뒤졌지만 아쉽게도 단서가 남지 않았다. 그렇다면 이 일은 통화 관할 부서와 브라우저 관할 부서 중 누가 주도권을 가져야 할까?

각 부서의 당사자와 회의를 가졌지만 나름대로의 이유로 인해 협의점을 전혀 찾을 수 없었고, 부서 간 분위기는 더 험악해졌다. 이에 상급 부서에서 조율이 필요하다 판단하여 부서장을 찾아갔다. 하지만 부서장은 원론적으로 다음과 같이 말한다.

“서로 사이좋게 잘 풀어야지 이렇게 맞지 않으면 앞으로 일을 어떻게 하나? 둘이서 잘 해결해 봐. 서로 양보 좀 하고 웃으면서 일해야지. 과장, 대리씩이나 되어서 말이야.”

과장, 대리씩 되는 그 사람들도 잘 안다. 서로 양보하고 사이좋게 살아야 한다는 것을 말이다. 심지어는 노란 봉고 타고 다니는 유아원 어린이도 그 사실은 잘 안다.

883db900f601cb99bea31d0686ca7a12.jpg

부서 간 논쟁이 있을 때마다 “역시 해결책은 러시안 룰렛이지!!!”를 외치며 권총을 들고 달려오는 미치광이가 존재하지 않는 이상, 원론적인 말들은 산업의 최전선에서 기술적 문제의 해결에는 거의 도움이 되지 않는다. 대리, 과장씩이나 되는 자신들 상황에서는 찾을 수 없는 선례나 해결책이 필요한 것이지, 여름방학식의 반짝반짝 대머리 교장 선생님 훈시가 필요한 것이 아니다. 즉 스스로 해결할 수 없는 일에 도움이 필요한 것이지, 훈계나 도덕 교과서 같은 말이 필요해서 상사들을 찾는 것이 아니다.

그럼 원론적인 말은 누가 하느냐 하면, 바로 실무 감각이 거의 없는 무능한 상사들이다. 일단 아는 건 없고 높은 사람이기에 가만히 있을 수 없어 액션을 취할 경우 저런 원론적인 대안을 낼 수밖에 없는 것이다. 이제 과장, 대리는 반짝반짝 대머리 교장 선생님 훈시 덕에 공공의 적을 만들어 절친이 되거나 멱살 잡기 직전으로 가서 일이 터지든 둘 중 하나로 갈 가망성이 크다. (내가 리더인데 훈시 밖에 생각이 나지 않는다면 이제 업무시간에 골프, 낚시 동영상은 과감히 끄고 조직원과 업무를 돌아보도록 하자)

말 뒤집기 또한 지독하다. 새로운 프로젝트를 시작하면서 “이번 일이 끝나면 휴가 길게 한 번씩 보내주겠다”는 격려가 거짓말 같지만 내 월급은 소중하니까 과천 경마장의 경주마처럼 달렸다. 하지만 프로젝트가 끝나기도 전에 또 다른 프로젝트가 시작되었고 거기에는 나의 이름이 포함되어 있다. 물론 휴가는 물 건너가고 새로운 일을 시작하고 말았다.

“회사 생활이 원래 다 그런 것 아니겠어? 다음엔 꼭 보내줄 테니 이왕 시작한 일 잘하자고!”

이상하다. 분명히 1년 전에도 비슷한 이야기를 들은 것 같고, 6개월 전에도 들은 것 같은 느낌이 오면 당첨이 확실하다. 약속이나 업무상 일정 등 이행 사항을 쉽게 뒤집는 상사는 부하 직원들의 상황에 크게 관심이 없다. 그리고 상위 부서나 타 부서 간에 업무 조율을 전혀 못해 자신의 부서가 고스란히 그 데미지를 받아내는 경우가 많다. 이는 오로지 자신이 곤란에 빠지기 싫은 상황을 결정하는 것이고 그 상황에 맞게 부하 직원들을 공수 부대 낙하시키 듯이 투하하는 것이다.

그런 분위기에 장기적으로 노출되면 ‘회사 생활이란 원래 그런 것’에 점점 현혹되어 어느 순간 낙하산을 항상 휴대한 성실한 공수 부대원이 되어 있을지도 모른다. (그렇지 않은 회사 생활도 존재한다는 것을 잊지 말자)

그리고 순간적으로 모두를 침묵시킬 수 있는 마법은 다음과 같다.

“그래서 대안이 뭐야?”

직급의 상급자들은 당연히 실무 하나하나 상세한 부분을 잘 모를 수밖에 없다. 그래서 보통 실무적인 논의는 간혹 부하 직원들이 대안을 마련하고 그에 따른 선택 및 조언을 구하기도 한다. 하지만 부하 직원으로서 도저히 해결할 수 없는 사항들을 논의하고자 할 때도 “그래서 대안이 뭐야?”라고 말하거나 항상 대안을 가지고 오라고 하는 상사가 있다면 빨리 그 조직에서 탈출하자.

그렇지 않으면 시스템의 중대한 결함을 발견하고 순진하게 최초 발견자의 포상 따위나 상상하면서 도움을 요청하러 들어갔다가 대안까지 같이 고민해야 되는 이상한 인생을 살게 된다. 당신 스스로 대안이 충분할 경우 굳이 직장 상사를 찾아가서 도움을 청할 필요가 있겠는가?

439.jpg

위 3가지를 글로 표현하니 별로 와닿지 않는다. 그렇다면 상황으로 한번 보자. 3가지가 합쳐지면 무적이 될 수 있다. 사전 설명도 필요 없고 대화 형식으로 보자.

개발자 : 이 많은 개발 과제를 저 혼자 하는데 기간이 3개월 밖에 안 되면 어떻게 합니까.

부서장 : 일이 그렇게 된 걸 어쩌겠어. 힘들겠지만 주인의식을 가지고 좀 해봐. 과장이잖아. 회사 생활 다 그런 것 아니겠어. 연말에 꼭 챙겨줄게.

개발자 : 작년 프로젝트 마지막에 다음 프로젝트는 인원 더 투입해주기로 약속하셨는데 인력 투입도 안 시켜주시면 저희는 할 수 없습니다.

부서장 : 나도 알지. 아니까. 일단 이번엔 시작하고 다음에 꼭 투입해준다니까.

개발자 : 이렇게는 정말 더 못합니다. 너무 힘들어요.

부서장 : 막무가내로 못한다는 말만 하지 말고 그럼 어떻게 하면 좋을지 대안을 가져와 보라고. 과장씩이나 되어서 말이야…

자신만의 서비스를 하는 회사나 자체 개발 조직을 보유하고 있는 회사는 위의 예시들 같은 일이 일어날 확률은 조금 낮을 수도 있다. 하지만 외주 개발을 주로 하는 SI/SM 전담 업체들에게서는 아주 높은 확률로 일어나며 더욱 더 극적인 양상으로 발생하기도 한다.

요즘은 사회적 분위기가 점점 많이 유연해지고 있는 추세인 것 같다. 하지만 아직도 ‘회사와 사회 생활은 원래 그런 것’ 때문에 공수 부대 낙하산을 메고 열정이라고 적힌 별똥별 배경의 깃발을 펄럭이며 불구덩이 속으로 낙하하고 있는 개발자들은 많다. 슬픈 사실은 낙하산 따위는 메고 싶지 않다고 막무가내로 반항하기도 쉽지 않다는 점에 있다.

갑-을-병-정 순으로 외주의 파도를 몇 번이나 넘다 보면 과도한 입찰 경쟁 속에서 일의 일정이란 줄어들다 못해 쪼그라들고 투입 인원은 줄어들다가 증발해 버린다. 이제는 당장 급해져서 불구덩이에 떨어지기까지 낙하산이라도 제대로 펼쳐지기만을 바라야 하는 이런 상황에 과연 합리적인 업무 진행이 가능이나 하겠는가. 이런 환경이 계속되고 개선되지 않는 이상 반짝반짝 대머리 교장 선생님 괴물들은 지속적으로 탄생할 수밖에 없다.

높으신 분들에 대한 험담이 길었다. 그럼 직원들인 개발자들은 어떨까? 아주 짧게 답할 수 있을 것 같다.

만약에 우리가 ‘멍청하고 못된’ 개발자로 주목받고 있다면 ‘멍청하고 못된’ 개발자 노릇을 당장에 때려치우도록 노력하자. (방법은 주변 동료들이 다 알고 있다!) 왜냐하면 이 상태로 남는다면 우리는 언젠가 ‘멍청하고 못된’ 상사가 될 테니 말이다.

이야기가 길었지만 어찌 되었든 우리들은 장기판의 졸과 같은 삶에다가 조건에 따라 주화입마에 언제든지 먹힐 수 있는 삶을 살았고, 그리고 살아가야 한다. 오블라디 오블라다 개발자의 인생은 하드코어하게 흐른다.

부산행 버스를 탔으면 부산으로 가야 한다. 부산행 버스를 이미 탔는데 목포를 그리워해봐야 의미 없다. 부산행 버스가 싫다면 휴게소에서 내리는 수밖에 없다. 우리는 이미 개발자 타이틀을 달았고 취업과 동시에 장기판에 던져졌다.

장기판에 던져진 하나의 졸로서 2006년부터 어떻게 한 칸씩 움직여왔는지 그리고 졸 뒤에 휑하니 남겨진 격자무늬의 장기판들이 어떻게 보이는지 이제 하나하나 곱씹어 볼까 한다.

DEWoLxQXsAAZ-qS.jpg

—-

Read in my feedly

나의 iPhone에서 보냄

윈도우를 빠르게 사용하기 위한 5가지 정리 방법

2018/02/21

—-
윈도우를 빠르게 사용하기 위한 5가지 정리 방법
// ITWorld Korea

PC 또는 노트북을 좀 더 빠르게 사용할 수 있는 간단한 방법 5가지가 있다. 윈도우가 제공하는 기본 도구를 사용해 바탕 화면과 하드 드라이브의 복잡성을 줄이고 더 빠르게 만드는 방법이다. 물론 비용은 들지 않는다. PC 또는 노트북이 자신이 원하는 속도보다 느리게 작동하는 경우, 속도를 높이기 위한 5가지 방법이다. 더 이상 사용하지 않는 애…
—-

Read in my feedly

나의 iPhone에서 보냄

윈도우 10 우분투에 Zsh 사용하기

2018/02/21

—-
윈도우 10 우분투에 Zsh 사용하기
// 이상한모임

윈도우 10 우분투의 기본 쉘은 BASH 입니다. 하지만 저는 평소에 zsh을 사용하고 있어서 zsh을 설치해보기로 했습니다.

zsh 설치는 간단합니다.

$ sudo apt-get install zsh 

설치하고 나서 chsh 을 이용해서 기본 쉘을 bash 에서 zsh로 변경합니다.

$ sudo chsh -s which zsh 

우분투를 재시작하면 기본 쉘이 zsh 로 변경한것을 확인 할 수 있습니다.

zsh 만 설치하면 아쉬우니 oh-my-zsh 도 설치합니다.

$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 

문제점 수정

위의 방법으로 설치후 zsh 을 사용하다보면 백그라운드에서 프로세스를 실행하려고 하면 오류가 발생합니다.

$ test & 이런식으로 백그라운드에서 실행하려고 하면 오류가 발생하죠.

이 문제는 .zshrc 파일에 아래 내용을 추가하면 해결됩니다.

unsetopt BG_NICE 

마지막으로

zsh 설정하면서 pure 라는 zsh prompt를 설치하지 못한것은 아쉽습니다. 평소에 사용하던거라 설치하려고 했는데 ZSH 5.2+ 이상을 요구 하고 있어서 설치하지 못했습니다. 윈도우 10 우분투에서는 apt로 설치하는게 5.1 버전까지 입니다. 직접 컴파일해서 설치 할 수도 있겠지만 그렇게까지는 하고 싶지 않았습니다.

참고정보

원본 게시글의 아마존, iTunes 링크들을 통해 구매를 하시면 제휴(Affiliate) 프로그램에 의해 저에게 일정 금액이 적립될 수 있습니다. ^_____^

The post 윈도우 10 우분투에 ZSH 사용하기 appeared first on 이상한모임.

—-

Read in my feedly

나의 iPhone에서 보냄

Docker and OOM(Out Of Memory) Killer – asbubam’s blog

2018/02/21

Docker and OOM(Out Of Memory) Killer – asbubam’s blog

https://blog.2dal.com/2017/03/27/docker-and-oom-killer/

Security updates for Jenkins core

2018/02/17

—-
Security updates for Jenkins core
// Jenkins Blog

We just released security updates to Jenkins, versions 2.107 and 2.89.4, that fix multiple security vulnerabilities.

For an overview of what was fixed, see the security advisory. For an overview on the possible impact of these changes on upgrading Jenkins LTS, see our LTS upgrade guide.

While the severity score works out as medium for all the vulnerabilities, we strongly recommend that anyone operating publicly accessible Jenkins instances update as soon as possible, as their secrets on disk might be at risk by SECURITY-705.

Subscribe to the jenkinsci-advisories mailing list to receive important notifications related to Jenkins security.

—-

Read in my feedly

나의 iPhone에서 보냄

BIkorea 모바일 사이트, 우리은행 차세대, 가동 연기 원인과 향후 일정은

2018/02/16

BIkorea 모바일 사이트, <초점>우리은행 차세대, 가동 연기 원인과 향후 일정은

http://m.bikorea.net/news/articleView.html?idxno=19444

Docker Log — Steemit

2018/02/14

Docker Log — Steemit

https://steemit.com/kr/@calmlake79/docker-log

직원 절대 가르치지 말라

2018/02/01

직원 절대 가르치지 말라

https://brunch.co.kr/@hanuuri/2