Category: Uncategorized

대한민국 병.

앞에 DBA 에 대한 비판글을 쓴적이 있다. 실제로 겪은 일이기도 하고 실제로 일어나는 일이기도 하다. 혹자는 “너의 경험이 전부가 아닐 진데, 전체로 매도하고 있다” 라고 항변하겠지만 전체적인 흐름을 모르고 하는 소리다.

환경의 변화 = 안해도되는 것들.

DBA 들도 환경의 변화를 겪고 있다. 적어도 내가 있는 분야, 그러니까 구체적으로 말하면 AWS 클라우드 시스템을 다루다보면 이러한 현상을 자주 목격한다.

AWS 클라우드에는 관리형 데이터베이스인 RDS 서비스가 존재한다. 데이터베이스 서버를 설치하거나 백업을 직접 구축하는 것이 없이 이러한 것들을 웹 인터페이스를 통해서 손쉽게 할 수 있다. 서버 설치는 아예 없고 그것을 관리하라고도 안한다.

문제는 DBA 들이 이것을 자신들의 직업적인 업무의 축소, 그러면서 단가는 그대로이면서 하는일을 떨궈버리는데 적극 활용한다는 것이다.

이들의 사고 방식은 간단하다. AWS 클라우드에서 제공하는 RDS 서비스이다 보니 그건 AWS 를 다루는 사람이 해줘야 한다는 것이다. 자신들은 이제 SQL 만 짜고 데이터만 만지면 된다는 사고방식을 고수한다.

더 웃긴건 그것이 이제 업계 표준인냥 떠들어 댄다는 것이다. RDS 백업 설정은 더 이상 DBA 가 하는 일이 아닌것이고 그것에 대한 업무 일채를 AWS를 다루는 사람이 해야 한다는 입장인 것이다. 그것이 자신의 주장일 뿐이라고 생각하는게 아니라 이제는 DBA 업계가 그렇게 하고 있다라고 주장한다.

AWS 클라우드 환경에서는 이게 DA나 DBA 들이 작정하고 주장하고 있는게 현실이다. 100이면 100 전부다. 자신들은 AWS 를 모른다고 강변하고 그것을 자신들이 알아야 할 이유가 없다고 강변하면서 SQL 만 잘 다루면서 단가는 그대로 가지고 갈려는 입장인 것이다.

자신이 해야할 일의 영역을 축소하고 적게 일하면서 돈을 많이 받는 계기로 삼게다는 심리가 아니고서야 이렇게까지 할 이유는 없다. 만일 자신이 진정으로 직업적 마인드나 윤리 의식이라도 가지고 있다고 한다면 적어도 AWS 클라우드에서의 데이터베이스를 공부라도 할 텐데, 그래서 RDS 가 무엇이고 S3 나 혹은 Dynamo DB 등과 같은 것들도 공부를 해야할 텐데 AWS 클라우드의 자원이니 자신들은 안해도 되는 거다라는 사고방식.

이쯤되면 이건 병이다.

개발자 = 코딩만 하고 결과만 나오면 그거까지.

DBA 만 깐거 같으니 DBA가 만고의 역적인 되는 느낌인데, 개발자들도 만찬가지다.

논의에 앞서 간단하게 내 경력을 말하면 거의 풀스택에 가깝다. DBA 로서 SQL 을 깊게 섭렵하지는 않았지만 데이터베이스 시스템을 꽤 다뤘었다. 개발자… 자바, 파이썬, Golang, Javascript.. C. 이래저래 할거는 다 해봤다. 특히나 프리랜서로 일을 하면서 요새는 자바를 자주 쓰는 거 같다. 한국에 SI 에서는 죄다 스프링기반으로 제작되고 있다보니 어쩔 수 없는 노릇이다.

이런 개발자적인 경력외에도 시스템 및 클라우드 경력도 가지고 있기에 어느 프로젝트에라도 가게되면 개발자로 지원해서 일을하다가도 어느샌가 시스템 인프라과 개발자들 사이에 뭔가를 중재하는 역할을 하는 경우로 바뀌게 되기도 한다.

이런 상황에 서 있다보면 개발자들을 아주 혐오하게 되는 경우가 아주 많다. 대표적인것이 자신이 만든, 자신이 작성한 코드로 작동하는 기능 혹은 결과물에 대한 성능지표를 계산하지 않는 것이다.

AWS 클라우드에 자바로 제작한 서버를 올린다고 가정해보자. 그러면 AWS 클라우드에서 이 서버를 운영하기 위한 자원이 필요할 것이다. EC2 Instance 를 생성해 그곳에서 자바 서버를 운영할거라면 어떤 타입이 적절한지에 대한 성능지표가 중요해진다.

그러한 성능지표는 누가 제공해야 할까?

당연히 개발자가 제공해야 한다. 성능이란 결국에는 그것을 만든 사람이 제일 잘 알 수밖에 없다. 굳이 코드를 눈으로 보지 않는다고 하더라도 머리속에서 대충 돌려보고 어디에서 병목구간이 생길수 있는지를 알수 있는 사람은 그것을 만든 사람이 제일 잘지 않겠나.

거기다 서버를 제작했다고 한다면 당연히 기획했던대로 성능이 나오도록 제작을 해야할 의무 또한 개발자에게 있다.

하지만 개발자가 자신이 제작한 서버에 대해서 성능지표를 제공하지 않는다. 적어도 한국의 SI 업계에서는 말이지.

이들의 사고방식은 어짜피 서버를 세팅하는 것은 인프라를 담당하는 사람이 하는 거니까 알아서 하라는 사고방식이다.

경력이 얼만데 서버 세팅하는데 감도 못잡아요?

개발자가 인프라 담당자에게 한 말이다. 인프라 담당자는 서버를 세팅해야하니 개발한 서버가 필요로하는 스펙을 알려달라고 했다고 한다.

용어에 혼동은 있었던 것 같다. 인프라 담당자는 “서버 스펙” 이라고 말을 했으니.. 개발자들이 그런 용어를 사용할 이유는 없는 것이였다. 그렇다고 해서 개발자가 그것을 경력 운운하면서 감도 못잡냐고 핀잔을 줄 권한은 어디에 있나.

그래서 내가 말을 바꿔 개발자 당신이 개발한 서버가 프로덕트 환경에서 동작하는데 필요로하는 메모리, CPU 사용량등의 대한 성능지표를 알려달라고 했다.

모르겠는데요. 테스트를 해봐야 하는데 성능 테스트는 제가 안해요.

단 1초의 망설임도 없이 나온 말이다.

적어도 자신이 개발한 결과물에 대해 어느정도의 성능을 가지고 있는지 정도는 파악하고 있어야 하는게 예의 아닌가? 아무나 개발자라는 딱지를 붙이지 않는다. 내가 볼때 개발자라면 최소한 성능지표정도는 자신있게 말할 수 있어야 하는 것이며 그것은 개발자라면 당연히 가져야할 책임이자 의무라고 생각한다.

하지만 성능을 알려면 테스트를 해야하고 그래서 테스트는 개발자가 하는게 아니라는 의식때문인지 그것은 개발자가 해야할 일이 아니라고 강변하는게 개발자들의 현실이다.

책임과 의무를 회피하기에 급급한 한국사회

프리랜서를 하다보면 다양한 사람들을 만나게 된다. 개발자, 기획자, 회사의 임원등등 다양하다. 개발자들의 경우에 대부분 자신들의 환경에 대한 불만을 많이 토로한다. 야근에다가 주말에까지 나와서 일을 해야하는 현실을 못마땅해하는 것이다. 거기다 경력 뻥튀기에 대해 비양심적인 행위라며 비난하기도 한다.

그들이 야근을 많이하고 일을 많이하는 것은 안타까운 일이다. 하지만 내가 여태까지 만나본 개발자들 중에 책임감을 가지고 일을 하는 사람은 단연코 단 한 사람도 없었다. 거기다 개발을 하는데 있어서도 이런 부분은 이런 기술을 적용하는 것이 낫겠다라는 고민을 하는 개발자도 단 한명도 없었다.

저마다 벽을 만들어서 그 벽을 넘어서려고 하지 않는다. 문제는 그 벽이라는 것이 개발자는 코딩만 하면 장땡, DBA 는 쿼리만 날리면 장땡이라는 벽이다. 나머지는 신경을 써야할 이유도 없고 그것이 내가 책임을 가지고 있어야 하는 이유도 없다는 인식이 팽배하다 못해 그것이 법처럼 여기지고 있다는데 있다.

개발자들의 잘못된 코드로 인해서 발생되어지는 시스템 장애를 인프라 담당자가 독박쓰면서 막고 있는 현실을 그들은 나몰라라 한다.

거기다 프로젝트를 수행하는 업체도 개발에서 발생한 문제를 인프라적인 요소로 땜빵할려는 마인드가 거의 지배적이다. 그렇게 하는 것이 정식인냥 떠들어대고 있으니…

한국 병이다. 개발자들이나 DBA 들을 보고 있노라면 이런 생각이 든다. 어디 SI, IT 분야만 이러겠나. 뭐든 일을 적게하면서 돈은 많이 받고 싶고, 뭐든 문제가 복잡해보이고 귀찮은 것은 남에게 떠넘기는 것이 능력으로 치부되는 사회.

뭐든 안하고 돈 받는게 능력으로 인정되는 사회… 양심, 책임, 의무.. 그런걸 주장하는 사람은 능력이 없는 사람이건 뭘 없어보이는 사람정도 평가 절하되는 사회.

한국 SI를 망치는건 프리랜서들이다.

프리랜서라는 길을 걷다보면 언제나 슬픈 이야기들을 자주 접하곤 한다. 짧은 일정으로 인한 월화수목금금금, 악독한 원청업체 거기다 중간에 사람만 채우고 돈만 때가는 보도방 등으로 인해서 한국 SI 가 발전이 없는 날이 계속된다는 슬픈 이야기…

물론 과도한 업무, 중간에 마진 갈취등은 개선되어야 한다. 누구나 다 인간적인 삶을 권리는 존재하니까.

하지만 프리랜서 생활을 하다 느끼점은 정 반대라는 것이 놀랍다. 프리랜서들 만큼이나 노력과는 거리가 먼 사람들도 없다는 것이 나의 결론이다. 그들을 보고 있자면 정해진 루틴, 자신이 프로젝트를 하면서 익힌 Tip 같은 것 외에는 거의 공부를 하지 않는다.

최근에 Spring Boot 를 사용한 MSA 로의 이행이 심심치 않게 프로젝트로 나오기도 한다. 근데, 웃긴건 무슨 용기가 인지 객끼인지 모르겠지만 15년차나 되는 개발자랍시고 오신분중에 자신은 오랫동안 Spring 으로 작업을 했었으니 이것도 금방 익혀서 할 수 있을 거라는 확신에 차 있다.

하지만 Spring Boot 를 사용한다는 것, 그래서 아키텍쳐 자체가 MSA 를 지향한다는 큰 틀 따위는 안중에도 없고 코딩을 한것이 어떻게 작동되고 아귀를 어떻게 맞추는지만 관심일 뿐이다. 잘 동작하면 그걸로 끝이다.

이론적 배경지식이나 그런것보다는 잘 동작하도록하는 Tip 을 익히는것으로 끝나는 것이 대부분이다.

불법복제 사용은 놀랄일도 아니다.

새로운 프로젝트를 투입되서 들어가보면 요새는 Windows 10 을 기본으로 사용한다. 거기다 가끔 문서작업을 위해서 MS Word 를 요구하는 곳도 있다.

투입된 프리랜서들의 노트북을 살펴보면 크랙된 Windows 10 에 크랙된 MS Office 가 당당하게 깔려있다. 10명이 필요한 프로젝트에 거의 9명, 아니 다 불법복제를 당당히 깔고 온다. 왜 그런지 물어보면…

돈 아까워서요…..

적어도 IT 에 몸 담고 있다면 타인이 만든, 혹은 기업이 만들어내는 소프트웨어가 얼마나 많은 사람들의 피와 땀으로 만들어진 결과인지를 알 것이다. 그럼에도 불구하고 돈이 아까워서 불법 소프트웨어를 당당하게 사용하겠다는 그 객끼…

프리랜서들이 자주가는 커뮤니티에 가면 다음과 같은 질문이 자주 나온다.

내가 몇년차 프리인데, 이정도 단가는 괜찮은 건가요.

프리랜서들은 현찰로 많은 돈을 지급 받는다. 그렇게 많은 돈을 지급하는데에는 ‘전문성’ 을 담보로 하는 것이다. 아무리 4대보험, 복지를 운운해도 프리랜서들이 현실세계에서의 돈을 더 많이 모으는 곳이 IT 프리랜서 세계다.

IT 프리랜서 생활을 하다 정규직으로 못가는 이유… 돈 때문 아니겠나. 그렇게나 돈돈하는 사람들이 타인이 피땀으로 만든 소프트웨어 하나 구입하는 것에 ‘돈이 아깝다’라는 말을 당당히 할 수 있는 갞끼….

Windows 10 Pro .. 온라인 가격으로 32만원이면 산다. MS Office Business 버전은 1년 구독으로 월 9,100 이다. 그것도 5명이게까지 라이센스를 공유할 수 있다. OneDrive 도 1TB 씩이나 준다. Windows 10 은 한번 사면 반 연구적이고 MS Office 는 1년에 고작해봐야 12만원 돈이다.

단가 400이요,, 500이요.. 600도 적다는 생각은 많고 50만원 돈 들이는게 그렇게나 아까운지…

Xshell 이라는 프로그램이 있다. Linux 서버 터미널 접속용으로 매우 좋은 프로그램인데, 유료든 무료든 기능상의 차이는 없다. 단, 개인용이나 학교등에서 사용할 경우에는 무료이며 상용으로 사용할 경우에는 구매를 해야 한다는 라이센스 규정이 존재한다.

무료 사용 약관
㈜넷사랑컴퓨터는 강력한 SSH와 SFTP/FTP 클라이언트 프로그램을 지난 10년간 무료로 배포해온 것에 대해 자부심을 느낍니다. 저희 무료 라이선스는 단지 비용만을 요구하지 않는 것이 아니라, 광고, 스파이웨어 또는 사용자의 어떤 정보도 요구하지 않습니다. 저희는 어떤 환경이나 조건의 사용자들도 강력하고 기능이 풍부한 SSH와 SFTP/FTP 프로그램을 배우거나 가르치는데, 심지어 단지 취미 목적에 상관 없이 접할 수 있어야 한다고 믿습니다.


㈜넷사랑컴퓨터의 Xshell과Xftp의 무료 라이선스는 비상업적 사용으로 제한됩니다. 업무 목적으로 저희 무료 라이선스를 사용하는 것은 저희 무료 라이선스 사용 동의서에 엄밀하게 반하는 것입니다. Xshell 또는 Xftp를 상업적 목적에 사용하고자 한다면 라이선스를 구매하기를 권합니다. 이는 저희가 저희 제품을 향상시키는 것을 돕는 일입니다.


저희 무료 라이선스 제품을 다운로드하는 것은 때때로 발송되는 판매 촉진을 위한 할인 정보나 프로그램 패치 안내와 같은 특별한 이벤트와 관련한 이메일 수신에 동의한 것을 의미합니다. 더이상 이런 이메일 수신을 원하지 않을 경우 해당 이메일 하단의 안내 링크를 클릭하여 등록을 해지할 수 있습니다. 저희는 절대로 귀하의 정보를 제 3자에게 제공하지 않습니다.

https://www.netsarang.com/ko/free-for-home-school/

아무도 안 지킨다. 아무도…… 언제부터 기능제한도 없고 광고도 없는 것이 무료 소프트웨어 라이센스가 됐나….

프리랜서는 엄밀히 말해 개인 사업자들이다. 그래서 노동자가 아니라 용역 수급자에 해당된다. 당연히 개인도 아니고 학교도 아니다. 당연히 돈주고 사서 써야하는 입장이지만 이걸 돈주고 사서 쓰는 인간 지금까지 단 한 사람도 본적이 없다. 돈두고 사서 쓰고 싶지 않다면 그야말로 무료 소프트웨어를 써라. 차라리 그것이 더 낫다.

돈은 프리로 받고 일은 정규직으로…

이율배반적인 행태는 또 있다. 프리랜서로 계약을 해놓고 일은 정규직처럼 하길 원한다는 것이다. 그래놓고 정규직처럼 일을 시킨다고 도급법 위반 운운한다.

진짜 프리랜서로 일해본적 있는가? 사람 할 짓 못된다. 마치 좋은 기업에서 가끔 시행하는 재택근무와 비슷하다. 말이 좋아 자유지 창살 없는 감옥이 따로 없었다. 재택이랍시고 일하고 싶을때 일하고 맘대로 침대에 누워 노트북으로 일을 할 수 있는게 아니다.

프리랜서도 마찬가지다. 근퇴도 없고 업무를 협의해서 해야하는 것이 마냥 좋아보이나.. 그렇지 않다. 개인적으로 도급법 위반 운운하는 사업장을 딱 한번만이라도 FM 프리랜서로 운영을 해봤으면 한다. 고도의 전문성을 요구하는 프리랜서, 그래서 진짜 법대로 한번 해보는 거다.

제발 그렇게나 불만이 높은 사업장, 불만만 토로하지 말고 고발을 하시라… 그렇게나 프리랜서로서 억울하면 제발 스스로 자신이 일하는 그곳을, 돈이 나오는 그곳을 고발을 하시라..

절대로 그렇게 하지 않는다. 그러면서 일은 정규직들처럼 9-6 시 사이에만 하는것으로 끝을 낼려고 한다. 개인 사업자에게 정해진 업무시간이 존재나 하나? 근퇴가 없는 것이 프리랜서들이라메…

마치 사무직들을 보는 것들만 같았다. 마치 공무원들이 컴퓨터에 저장된 와꾸(?) 를 꺼내서 말바꾸고 대충 근거를 찾아서 집어넣고 공문을 만드는 그런식의 프로그래밍… 연차가 쌓이는데 경험은 누가누가 Tip 을 더 많이 알고 있나…

단가를 왜 연차로 먹이는지 이해할 수 없다. 10년 차면 얼마… 호봉제가 따로 있지 않다.

인생은 항상 불공평 하지만은 않다.

도급용역계약서는 민법에서 정한 양자간 신뢰를 바탕으로 하는 상호 약속이다. 대부분 계약서를 문제로 불만을 토로하지만 계약서가 맘에 안들면 안하면 그만 이다.

프리랜서는 고도의 전문성을 필요로 한다고 했는데, 기술적인 부분만 필요한게 아니다. 협상력이 반드시 있어야 한다. 계약서를 읽을 줄 알아야하고 그것의 문제를 바로 끄집어내 협상을 해야 한다. 그럴 능력이 없으면 아예 프리랜서를 하지 않는게 낫다. 공급자는 당연히 싼 값에 사람을 부려먹을려고 할게 뻔한데, 그런 사람들을 상대로 협상을 하기란 쉽지가 않다.

자신이 처한 현실이 부당함을 목소리 높여 주장하기 전에 과연 나조차 그런 부당함을 눈감고 돈만 밝힌것은 아닌지 되돌아 봐야 한다.

왜 정규직 회사들이 프리랜서들의 경력을 인정해주지 않는지를 크게 생각을 해봐야 한다. IT 라는것이 정규직 프리랜서를 가르는 기준이 존재하나. 다 같은 기술이고 다 같은 사람들인데도 왜 정규직 채용시에 프리랜서 경력을 인정하려고 하지 않는지를 크게 생각을 해봐야 한다.

IT 라는 지식산업은 만만한 곳도 아니다. 숙련된 사람이 절실히 필요한데도 개인방송에서 할일 없으면 개발자나 하라고 앉았으니… IT 전문기업들이 왜 인재가 없다고 하는지.. 그것이 그냥 알른 소리가 아님을 알아야 한다.

기업이 프리랜서를 정규직으로 뽑지 않는 이유

나이가 먹어가면서 이런 저런 사회현상에 대한 답을 얻어가는 것 같다. 과거 어렸을적(?) 에는 그것이 왜 그렇게 되는지에 대한 의문만 가득했지만 시간이 약이라고 했던가…

한국 사회에서 나이가 가지는 특별함으로 인해서 나도 모르게 이제는 아랫사람이 생기고 과거에 윗사람에게 존댓말을 했던 내가 이제는 존댓말을 받을 위치에서 사회를 바라보게 됨에 따라서 과거에 못보던 것이 이제는 보이는 신기한 현상을 자주 겪는다.

개인적인 경력을 이야기를 하면 정규직 생활을 약 7년 정도하고 프리랜서로 전향한지 이제 약 5년쯤 됐다. 중간에 약 1년 쯤 놀았으니까 프리랜서를 개월수로 환산하면 만 4년 조금 될까…

지금도 그렇지만 과거에 이런 의문을 가진적이 있다.

다 똑같은 IT 기술을 가지고 일을 하는 사람들인데, 어째서 좀 나간다하는 기업에서는 프리랜서들을 정규직으로 고용하려고 하지 않는가?

과거에 가졌던 의문인데, 요새 그것이 정말로 맞는 말이라는 것을 절감한다.

새로운 프로젝트에 투입되고 새로운 인력을 뽑아 프로젝트를 지휘해야하는 입장에 있다. 문제는 SI 프리랜서에게 지급되는 월별 단가라는 것이 프리랜서 경력만 가지고 결정된다.

아무리 능력이 좋다고 한들 5년차라면 돈을 많이 못 받는다. 아무리 능력이 없다고해도 경력이 15년차면 특급대우를 해준다. 이력서에 많은 프로젝트를 뛰었다는 것이 그 사람의 IT 능력을 증명한다는 것이 웃기는 일인과 동시에 의문인데 이러한 의문 때문에 과거에 저런 질문이 절로 떠올라고 과연 맞는 말이라는 것을 절감한다는 것이다.

나랑 같이 투입된 15년차 프리랜서가 있다. 나이도 많아서 부장이라고 달았는데, 그야말로 기계적인 일만 한 경우였다. 그리고 그렇게 기계적인 일만으로 단가를 높게 받다보니 그것을 벗어나는 일은 절대로 하려고 하지 않는다.

더 웃긴건 한국 사회도 변화하고 있고 IT 세계도 그 변화에 흐름은 빗겨가지 못하고 있는데도 과거에 했던 버릇을 버리지 못하고 있다는데 있다.

한국 사회에서 저작권에 대한 생각이 많이 바뀌어 있고 그래서 요새 젊다하는 프리랜서들은 나름대로 소프트웨어 저작권에 대한 인식이 잘 갖춰져 있다. OS, MS Office 등은 업무에 필요한 필수 소프트웨어도 과거에 비해서 나름 저렴해진 것도 한 몫이다.

하지만 나랑 같이 투입된 15년차 프리랜서… MS Office 는 2007년 버전이고 그것도 크랙 버전이다. 사업장 마다 다르지만 소프트웨어 라이센스에 민감곳이 점점 많아지고 있는 시점이고 내가 있는 사업장도 불법 소프트웨어에 대해서 그렇게 좋게 보지 않는다. 한번 걸리면 사업장이라고 책임을 면할 수 있는 상황도 아니기 때문이지..

그래서 크랙 버전은 사용하면 안되고 문제가 될 거 같으니 돈 주고 사라고 권했다. MS Office 365 의 경우에 비지니스 버전 1년 구독으로 12만원이면 사용할 수 있다. 프리랜서 15년차면 단가가 적어도 700 은 넘을테니 1년 12만원 그냥 껍 아니겠나..

하지만 이 양반.. 그 돈이 아깝다는 거다. 계약을 체결한 회사가 제공해주지 않느냐는 질문부터 해서 어떻게든 싸게 구매할려는지 이커스 마켓에서 출처도 불문명한 3만원짜리 라이센스 구매가 어떠냐고 내게 물어보기까지…

더 웃긴건, 이 프로젝트에 투입된 그 인력은 인프라를 담당하는 사람이다. OS, Application 서버등을 운영, 모니터링, 장애대응이 주 임무다. IT 그것도 인프라 운영에 발을 들여논 순간부터 24시간 장애대응은 염두해 둬야하는 직업이다. 하지만 이 양반 집에 컴퓨터가 없다.

장애가 발생하면 집에서 회사까지 출근해서 할 사람으로 보이지도 않는데도 “어? 집에 컴터 없어요” 를 아주 대놓고 당당하게 하는 사람…

사업장에서는 그래도 야밤에 출근하는 불상사를 없애기 위해서 원격 접속 프로그램을 지원해 주고 있다. 실시간 대응이 필요한 서비스의 경우 이렇게 해주는 곳이 많은데 “어? 집에 컴터 없는데요~” 를 당당하게 말할 수 있는 배짱, 아니 객끼를 들어내는 사람..

나 같아도 정규직으로 안 뽑는다.

이 글을 읽는 사람이라면 프리랜서 전체를 매도하는게 아니냐고 하겠지만 안타갑게도 저렇지 않는 프리랜서 본적이 없다. 계약서를 따지고 단가를 계산하고 사업장에서는 정규직과 동일한 복지를 요구하면서도 진정으로 개인사업자에 준하는 대우와 그에 맞는 결과를 요구하면 그것이 매우 부당하다고 주장하는 이들… 출퇴근은 칼같이 지켜내야만 한다고 주장하는 사람… (원래 프리랜서는 출퇴근 개념이 없다.)

한국 사회에서 공무원들을 영혼없는 사람처럼 대하는데, 한국 프리랜서들도 별반다르지가 않더라는 거다. case by case 대로 Tip 을 많이 알고 있는 것이 한국 IT 인력들의 능력 수준일 뿐이다. 그것을 조금만 벗어나면 뭘 어쩌지 못하는 무능을 금방 들어내고야 많은 선배님들… 제발 빨리 은퇴하시고 치킨집 차리시길 권한다.

[펌]코딩하는 아내

나는 프로그래머의 아내다.

결혼한지 2년이 되었다. 오늘 남편과 나는 근사한 식당에 가서 맛있는 식사를 했고, 꽃다발도 선물로 주었다.

공대생 혹은 프로그래머는 보통의 여자들에게 인기 없는 부류의 사람일 수 있다. 부드러움, 따듯함, 이해심을 느끼기 어렵고, 공감 제로, 차갑고 논리적인 사람이라는 인상을 준다. 그래서 소개팅 후에… 몇 번 만나보고나서.. 아 별로야.. 이 사람 자상하지 않아.. 하고 만남을 그만두는 사람들 이야기를 들으면 한숨이 지어진다.

사실 프로그래머의 아내, 여자친구로 있는다는 것은 아쉬운 때도 있겠지만, 매우 매력적인 자리이다.

일례로, 집에서 ‘쿵’ 하는 굉음이 나며 내가 ‘아야!’ 하는 비명을 질렀다고 하자. 남편은 들여다보지도 않고 하던 일 계속 한다. 못들은 것이다. 뭐…. 자상함이고 배려심이고.. 뭔가 꼬인 마음이 있거나 한 것이 아니다. 무언가에 집중해있어서 단지 못들은 것 뿐이다.

실수가 많은 나는 자주 다친다. 부딪히고 까지고 지금은 발목 타박상을 입어 근육파열로 붕대를 감고 있다. 그런 내가 어디가 아파하면.. 교제할 시절의 남편은 슬쩍 보고 지나갔다. 아무것도 아니네.. 라고 생각한 것이다. 나는 서러웠다. 죽을 병이 아니어도.. 여자는 공감 받고 싶고, 위로 받고 싶다. 몇번의 아쉬움 끝에.. 나는 이야기를 했다.

나: 오빠! 내가 아플 때 걱정해주면 안돼?

남편: 나 걱정해. 걱정하는데? 아~~ 걱정된다.

나: 아니 그거 말고 정말 진심으로 걱정하면 안돼?

남편: 아니 뭐!! 그게 도대체 어떻게 하는건데?

나: (순간 고민…) 나라면.. 이렇게 하겠어. “으~~~~ 어떡해… 괜찮아?”

그 이후로 오빠는. 단 한번도 레파토리가 바뀌지 않은 채 ‘으~~~ 어떡해.. 괜찮아?’ 를 기계적으로 해준다. 단 한번의 응용도 없었고 순서가 바뀐 적도 없다. 하지만 나는 내가 원하는 걸 얻었다. 공감의 말…

여자는 요구가 어렵다.
알아서 해주길 원한다.
기념일엔 아라서 꽃다발 사줬으면 좋겠고…
알아서 케익 사왔으면 좋겠고…
알아서 데려다줬으면 좋겠다.
은근히 기대하고.. 기대대로 안 되면 실망한다. 그래서 혼자 삐지고 툴툴댄다.
하지만 남자 입장에서 말 안하고 꽁하고 있으면? 절대 모른다.
절대로 남초 집단에서 퀴즈와 과제로 밤을 꼴딱꼴딱 새는 남자집단에서 그런 여자 마을을 알리가 없다.
헛된 기대 금지.
그들이 특별하게 차가운 인간인 것이 아니다.
그들은 단지 모를 뿐이다.

프로그래머랑 사귄다는 것은 이런 점에서 그 매력을 십분 발휘한다. 그들의 습득력은 정말 놀랍다. 코딩을 해주면 정말 그것대로 반응한다. 그래서 나는 이런 저런 코딩을 한다.

오빠. 집에 들어오면 나한테 인사를 해.

오빠. 결혼 기념일에 꽃을 사줘.

오빠. 음식점에서 음식이 나오자마자 혼자 먹지 말고. 한번쯤 나 한입 먹여줘

이럴땐 이렇게.. 저럴때 저렇게…

몰라서 그렇지, 코딩해 주고 그게 이해가 되면 그대로 해준다. 그래서 뿌듯함까지 느낄 수 있다.

하루종일 컴퓨터와 대화하며 논리적 사고가 익숙해있는 남편과 이야기할 때면 가끔 기계랑 대화하는 것 같은 느낌이 들때가 있다. 하지만 기계의 장점이 있다. 예상이 가능하다.

남편은 가끔, 집에 신나서 달려온다.

혜린아!! 내가 오늘 하루종일 한게 뭔줄 알아?

봐봐!! 여기 이렇게 누르면 폴더가 스르륵 커지지?

이거 내가 한거야!! 멋지지?

사실 그 폴더가 스르륵 커지든 화들짝 커지든 아니면 안 커지든.. 나는 별로 관심도 없고.. 변화도 모르겠는데…

그들의 기쁨의 원천은 자신이 이룩한 결과물에 대한 인정이다. 이럴 땐 활짝 웃으며 멋지다!!! 어떻게 이런 걸 다 했어? 라고 해주면 또 신나서 달려 나간다.

그러므로 결론은?
프로그래머. 꽤 괘찮은 남편감이다. 아니, 훌륭하다.
다른 직업만큼 술 약속도 없고. 가정적이며 열정적이다!
그러니까 공대생. 프로그래머의 매력을 느껴보기 전에..
섣불리 여자 맘 모른다고 차버리지 말자.
그들은 순수한 것이다. 단지 그 순수함에 하나씩 코딩을 해주면 된다.
그러면 100 퍼센트 완벽한 남자친구. 남편이 될 수 있다. 남편 최고!

코딩하는 아내

어느 프로젝트의 면접 후기

지난주에 어떤 프로젝트를 위해서 면접을 봤다. 최근에 이슈가 되고 있는 어느 업체의 클라우드로 마이그레이션을 진행하는 프로젝트였다. 면접을 보는 내내 답답함 뿐이였다. 물론 그런 답답함은 그쪽도 느꼈는지, 자신들이 찾는 사람이 아닌거 같다는 말로 갈음했다.

클라우드내 있는 서비스들은 수백가지가 넘는다. 하지만 큰 카테고리로 혹은 덩어리로 분류를 할 수 있는데, 최근에 이슈가 되고 있는 IoT, Big Data, AI, Micro Service 그리고 내가 레거시(Legacy) 라고 여기는 전통적이고도 일반적인 서비스들로 나뉜다.

문제는 모든 것을 다 속속들이 다 알 수는 없다. 예를들어, 데이터베이스 서비스로 RDS 서비스와 Aurora 서비스가 있다. 만일 어떤 프로젝트를 수행함에 있어서 RDS 를 사용해봤다고 Aurora 는 그져 한번 검토하는 정도에서 끝났다고 치면 Aurora 에 대한 경험은 없는 것이다.

클라우드로 마이그레션을 하기 위해서는 한 두가지 서비스를 알아야하는 일도 아닐텐데, 그 많은 것을 다 알기도 힘들지만 그것의 내부 옵션이나 한계치를 모두 알고 있는 것은 이론적으로 머리속에 암기하는 수준으로는 안된다.

답답함은 차라리 어떤 서비스 영역에 대해서 집중적으로 물어봤으면 좋았을 텐데하는데 기인한다. 그런데, 이런 저런 서비스들에 대해서 알고 있는지를 물어보는데, 내가 신도 아니고….

또 다른 답답함은 Kinesis 물음 있었다. Kinesis 는 AWS 에서 제공하는 데이터스트림 서비스다. 이들이 동작 방법은 Shard 라고 불리는 블럭단위의 격리공간에 파티션키를 기반으로 데이터 스트림이 기록된다. 이렇게 기록된 데이트를 레코드(Record) 라고 한다.

문제는 Shard 에 대해서 알고 있냐 없냐와 적정 Shard 를 어떻게 나눌 거냐 하는 거다. 이거는 단순 계산식이 존재한다. 초당 1,000 에 1MB 이다. 그러면 초당 몇건이 들어오는지에 따라서 Shard 를 정하면 된다????

내가 기대했던 질문은 Shard 을 얼마나 정하는가가 아니라 Shard 를 늘리고 줄이는데 어떻게 할 거냐 하는데 있다. AWS 는 Elastic 아키텍쳐를 지향한다. 거기다 비용을 고려하게되면 데이터 양에 따라서 Shard 의 갯수를 늘렸다 줄였다 할 수 있어야 한다.

당연히 Kinesis 는 이를 지원하는데, 한가지 함정이 있다. Kinesis 의 Shard 의 증가는 단순하게 Shard가 추가되는 것이 아니라 부모 사드를 분리(Split) 된다. A Shard 가 열심히 데이터를 받는 상황에서 2개의 Shard 를 추가한다면 2개의 Shard 가 추가되고 A Shard 를 부모, 2개는 자식으로 관계를 맺는다. 2개의 자식이 추가되는 순간부터 부모 A Shard 에 데이터는 쌓이지 않는다.

문제는 A Shard 에 데이터를 자식에게 자동으로 넘겨주지 않는다. 프로그램에서 A Shard 에서 데이터가 남아있는지 검색해서 소비시켜줘야 한다. 여분의 Shard 를 없이기 위해서 병합을 할때도 이는 마찬가지다.

이것을 어떻게 할 것인가? Kinesis 는 AutoScaling Shard 가 안되는 건가? (된다.)

Kinesis 를 설계할때 핵심은 Shard 갯수라고 하기 어렵다. 대~~~충 적당한 갯수로 놓고 그때 그때 Shard 갯수를 조절할 수 있어야 한다. Shard 의 갯수는 돈이다. 24시간 거의 편차가 없이 초당 데이터 갯수가 들어온다면 문제가 안되지만 낮에는 100만건, 밤에는 1천건 들어오는데 100만건에 맞춰 Shard 갯수를 정할 건가?

Aurora … 만일 내가 면접자라면 이런 식의 질문은 하지 않는다. Aurora 의 사용경험도 물론 중요하다. 하지만 프로젝트가 마이그레이션이 주 목적이라면 반드시 데이터 이전이 동반된다. 이럴 경우 Oracle 에서 Aurora 로 이전하거하는 작업이 필요할텐데 이를 어떻게 할 것인가…. 쉬운 일이 아니다.

얼마나 Best Practice 아키텍쳐들을 알고 있는지도 중요하다. 하지만 단편적인 몇몇 서비스들에 대해서 “이거 아냐?” 하는 질문은 별로 인거 같다. 전체적인 아키텍쳐에 대해서 물어보고 세부 사항에 대해서 질문을 했다면 어땠을까 싶다.

마지막으로 짜증났던 것은 Maven 을 사용할줄 아냐?, 젠킨스로 빌드 시스템 구축 가능하냐?, Python 할줄 아냐?, Ansible 사용할줄 아냐?? 문서는 잘 작성하냐?

다 갖춘 슈퍼맨을 뽑는건지…..

한국 직장에 고질병

한국 조직문화의 고질병

한국의 조직의 고질병은 능력있고 성실한 사람에게 보상을 주기는 커녕 일을 더 준다는 것에 있다. 그래서 능력있는 사람은 못 견디고 떠나가고 능력없는 사람은 일도 없고 스트레스도 없으니가 조직에 오래 남을 수 있음. 결국 무능한 사람만 남은 무능한 조직이 된다..

일은 일잘하는사람에게 밀어주고
진급은 술잘마시는 사람에게 시켜주고 …

이것이 한국 직장 병패임.

 

똑똑하고 일 잘하고 회사를 위한 합당한 이의제기를 하는 사람 보다
윗 사람의 말에 절대 반기안들고 YES만 하는 사람이 오래다니죠
사장 옆에는 항상 항상 그런 사람이 있더라구요…

 

대부분의 조직에서 능력있는 사람은 나가고 능력없는 사람만 남는 건 맞는데, 꼭 저렇게 능력있는 사람에게 보상없이 일만 줘서라기보단 더 나은 보상을 받을 수 있는 조직을 찾아 떠나는 거죠. 그럴 능력이 안 되면 마땅히 갈데가 없으니 붙어 있는 거고. 조직마다 줄 수 있는 보상의 한계치가 다르니…

AWS 를 국내 기업도 다 하고 있다고???

국내기업과 세계적인 글로벌 기업인 AWS 와 기술력 별 차이가 없다고??? 기술력에 별차이가 없다라….

AWS 의 경우 가상화기술인 Xen 에 많은 기술적인 기여를 하고 있는데, 기술력으로 별차이가 없다는 국내기업은 무엇을 하고 있나? NoSQL 로 유명한 DynamoDB 를 만들었고 MySQL 코어를 수정해 Auroa DB 를 제작.. PostgreSQL 기반으로 RedShift 도 만들었다.

기술력에 별차이가 없다는 국내 기업은 과연 무엇을 만들 수 있나?

AWS, MS가 제공하는 서비스를 제공하고 있다고?? AutoScaling 서비스를 제공하는 업체가 있는가? ALB(Application ELB) 를 제공하고 Web Console 에서 제어가 가능한가?

국내 어디 업체냐? 구경이나 해보자.. 무료 1달 이용권 같은,, 아니 있으면 저렴한 가격 결제해서 사용해 본다.. 거기 어디냐?

기사출처: ‘AWS 서버장애’에…韓클라우드 산업 “자체 글로벌 경쟁력 키워야”

[펌,수정]기업이 좋은 직원을 잃는 과정… ㄷㄷㄷㄷㄷㄷ

사원 A 입사 (9월)

사원 B 입사 (12월)

3개월 정도 차이지만 A 는 코딩자체에 흥미도 없고 프로젝트 이해력도 떨어지고 심지어 노력도 안함.

문서 제한일이 다가와서 다들 야근 할 때도 자기가 할 일은 다 하지도 않은 채 자기는 칼퇴주의라며 칼퇴.

결국 그 사람 일 다른 사람이 맡아서 하고 그러다보니 또 다른 팀원은 야근 ㅋ

B 는 코딩을 좋아하고 이해력이 좋음. 빨리 적응했고 그러다보니 출장 관련 업무도 다 함.

잦은 출장을 가게되고 조그마한 파트도 맡아서 진행. 팀장은 믿는다면서 여러 일을 더 맡김ㅋ 일이 나날이 많아짐.

이 친구도 정시퇴근을 초반에 계속 하다가 업무량이 많아지니 야근을 할 수밖에 없게됨..

2년 지났는데 A 는 여전히 일 못하지만 팀장은 그냥 쟤는 원래 못하니까 라고 놔둠.

B 는 업무량 다 못채우면 믿었는데 어떻게 그럴수 있냐며 서운함을 표함 ㅋㅋㅋㅋㅋㅋ

B 에게 조기진급으로 대리를 달아주겠다고 호언장담 하더니 윗선(임원)에서 아직 이르다고 거절먹음ㅋㅋ

연봉자체를 공개하면 안되는데 회사에서 올해는 공평하게도 연봉을 모두 5% 씩 올려주겠다고 공표함ㅋㅋ

B 는 좆같네 하면서 기업 퇴사하고 카카오 감…

A 는 5% 좆같네 하면서 다른 기업 갔다가 적응 못하고 (거긴 못한다고 안봐주나보지 ㅋ) 거기도 퇴사하고 돌아오겠다지만

받아주지 않음 절대 ㅋ

실화입니다. 기업이 좆같은 이유는 인재관리도 좆같이해서 그렇습니다.

http://www.ddanzi.com/free/539055230


실제로 내가 사회생활을 시작하면서 지금까지 거의 한평생을 겪었던 일이다. 나는 컴퓨터를 다루는걸 좋아한다. 다른게 있다면 엔지니어가 됐다는 것 뿐이다.

대학때부터도 그랬고 지금도 그렇지만 Linux 를 다루는걸 좋아라했고 자연스럽게 OpenSource 프로그램들을 주로 다루게 되었다. 그리고 인터넷을 움직이게하는 필수 프로그램들에 대해서도 경험을 쌓게됐다. 심지여 DB 까지 어느정도 다뤘으니까.

이력서를 내놓으면 여기저기서 연락이 온다. 그것도 그냥 오는게 아니라 자주 온다. 그러면서 다음과 같이 말한다.

꼭 찾던 인물이다. 함게 했으면 좋겠다.

그리고 입사를 하면 혼자서 Web Server, Was Server, System Monitoring 까지 하는건 좋다. 그런데 DB 작업(설치, Replica, 업그레이드), WAS Memory leak 분석, 프로그램상의 오류를 디버깅하라고 한다. 서버에서 오류가 났으니 그걸 분석하다보면 결국에는 Java 프로그램상의 오류가 대부분이다.

이렇게 일하면서 연봉을 많이 받느냐? DBA 가 있음에도 그 사람은 다음과 같이 당당하게 말한다.

MySQL 설치, Replica, 업그레이드를 해본적이 없어요. Toad 열고 쿼리 작업만 해봤습니다.

한국 SI 산업의 가장큰 병폐가 이런것이다. 경력 13년차를 뽑아놓고 보면 ‘안해봐서 모른다’ 라는 답변하는 하는 사람들이 많다. 하지만 정작 ‘안해봤지만 MySQL 도 DB 니까 대충 이론은 같을 거고 사용법을 익히면 될거 같다’ 라는 말을 하는 인간은 못봤다.

의지를 안가지는 자들 vs 해보겠다는 의지를 보이는 자들

정확하게 저렇게 나뉜다. 많은 프로젝트를 돌아다니다보면 저런 인간들로 다 분류 된다. 자신이 하는 일 외에는 안한다고 하지만 앞서말한 DBA 처럼 자신이 하는 일조차도 자기 스스로가 결정한 영역일 뿐이다.

하지만 해보겠다고 의지를 보이는 자들은 자신이 하는 일에 대한 영역이 산업계에서 요구하는 영역과 일치하는 경우가 많다.

문제는 저렇게 두분류의 사람을 함께 일하게하면 기업들은 결국에는 의지를 가지고 있는 사람에게만 일을 준다. 그렇다고 의지를 안가지는 사람을 자르거나 뭐라하거나 하지도 않는다.  그리고 결정적으로는 둘다 필요한 사람들이라고 하고 대우를 똑같이 한다.

오히려 ‘뭔 불만이 그리 많냐’, ‘너는 일 쉽게 할 수 있지 않냐?’ 이런 답변으로 더 일을 시킬려고 든다.

의지를 가지고 일을 하지 않는 자들이 같은일을 반복하는 것에 최적화된 자들이 변화하는 뭔가에 대응하고 아이디어를 내서 오래된 시스템을 바꾸는 일은 없다. 그냥 월급루팡에 최적화된 프로젝트만 남는거지..

 

다얼유 LK158 블루투스 겸용 LED 기계식 키보드

USB와 블루투스를 함께 지원하는 텐키리스 기계식 키보드가 필요했는데, 다얼유 에서 출시해서 구매하게 되었다.

다얼유 LK158 블루투스 겸용 LED 기계식 키보드

이 키보드는 맥(Mac) 도 지원한다. 맥을 지원한다는 것은 맥에서 사용가능한 펑션키가 있다는 것이며 이는 편리성을 제공한다는 것이다.

내가 구매한 모델은 적축 모델이다. 다음은 블루투스 설정방법을 스크랩한 것이다.

블루투스모드, 유선모드 전환

다얼유 블루투스-USB 전환

블루투스 멀티페어링 전환

다얼유 멀티 페어링

 

블루투스 페어링 방법

다얼유 페어링 방법

LED 효과

다얼유 LED 효과
사용 후기

집에서 아주 만족해 하면서 사용하고 있다.  집에서는 Windows 10 에는 USB 로 연결하고 Mac Mini 를 블루투스로 연결해서 사용하고 있다. 하나의 키보드로 두개의 OS를 번갈아가면서 사용할 수 있어 너무 편하다. 특히나 맥용 키보드 맵핑이 되어 있어서 별도의 노력없이 바로 사용이 가능하다.

거기다 적축이라서 키압도 그리 높지도 않고 사무실에서 사용도 가능할 정도로 소리가 없다.

 

컴퓨터 영역이 너무 어려워 지고 있다.

컴퓨터 영역이 너무 어려워 지고 있다. 어찌보면 그런 수순으로 가고 있는게 당연한건지도 모르겠다. 과거에 등안시 했던 것들, 대표적으로 알고리즘 같은 것들을 요즘에는 중요하게 여기는 걸 보면 말이다.

과거나 지금이나 알고리즘은 중요하다. 하지만 유독 그것이 부각되고 나머지는 좀 덜한 중요도를 갖는것처럼 왜곡되고 있는게 문제가 되지 않을까 싶다. 그동안에 개인의 역량이란게 무엇으로 평가 되었는지는 모르겠지만, 요즘에는 코딩 알고리즘 문제가 기본이 되다보니 책방에 가서 보면 알고리즘 관련 서적들이 아주 많다.

거의 15년정도를 컴퓨터 분야에 있다보니, 요즘들어 그런 생각이 더 깊어지는 것 같다.  코딩으로 알고리즘을 구현하는 것도 중요하지만 그것보다 더 중요한 것이 ‘상황인식’ 그리고 ‘아이디어’가 아닐까 싶은데 나보다 어린 사람들을 보면 알고리즘은 잘 아는데 나머지는 모두 부족함으로 다가온다.

개인적으로 어떤 사람이 경력을 봤을때에 다음과 같은 질문을 먼저한다.

  • 문서 작성은 잘하는가? 그렇다면 어떻게 작성하나?
  • 협업을 할때에 주로 어떤걸로 하나? 메신저? E-메일?
  • Java 를 쓴다고 하는데 객체지향 프로그래밍이 뭔가?
  • 디자인 패턴을 잘 사용하나?
  • 코드 재사용성 고려에는 어떤게 있나?
  • 뭔가 관심을 넓히려고 하는가?

나는 문서 작성을 중요시 한다. 어느 회사에 잠깐 있었을때에 어떤 개발자는 ‘소스코드에 다 있다’ 라고 말했던게 기억난다. Jira 와 소스코드를 보라는 말만 되풀이했던 곳이 였다.

정작 소스코드를 보고 있자면 커다란 배치 프로그램을 보는 느낌이 들곤 한다. 하나의 메소드에서 여러가지 조건들을 처리하기 위해서 if 문이 수십게 있었던 기억들… 클래스 하나에 조건마다 메소드를 작성하다보니 1000 라인이 넘었던 클래스…..

알고리즘으로 뭘썻네 하기전에 객체지향 프로그래밍이라도 먼저 해줬으면 하는 바람이 요새는 더 크게 다가온다.

알고리즘은 대략 이런게 있다정도의 내용을 인지하고 있고 상황에 맞게 활용할수 있도록 떠올리는 정도면 그만이다. 현업에서 알고리즘을 온전히 내 머리속에서 생각해서 구현해보적은 별로 없었던게 이유이기도 했지만, 혼자 일하고 있다면 알고리즘만 생각하겠지만, 협업을 하는 경우에는 알고리즘 만큼이나 중요한 여러가지가 존재한다는 사실도 잊지 않았으면 좋으련만…  (사실 많은 사람들이 사용하는 킬러 애플리케이션들에서는 독창적인 알고리즘이 중요하다. OS를 제작한다던가, Office 와 같은 것들… 거대하기도 하지만 내부적인 기능들이 정교하면서도 깊이가 있는 것들은 알고리즘을 속속들이 알고 응용하고 독창적으로 개발하기도 해야한다.  하지만 지금 경력을 뒤돌아볼때에 그러한 정교한 것들을 만들어보긴 했지만 깊이가 있는 것들을 작성해본적은 거의 없다. 웹, 서버개발들을 했었지만 사실 주어진 알고리즘 라이브러리를 잘 활용해도 왠만한 안전한 프로그램은 나온다)

어떤 일을 하던간에 많은 고민을 하면서 했으면 하는 바람이 있다. 자바 프로그래밍을 할 경우에 java 8 로 프로젝트를 한다고 하더라도 미래에는 바꿀 수밖에 없는 운명일 거다. 그렇다면 호환성을 고려해 제작해야하는건 개발자라면 당연한 역량인데도 나중에 생각하자는 식..

지금은 모로가던 서울로 가기만 하자라는 식의 사고방식의 개발자들이 너무나 많아 보인다. 그런 사고방식을 하면서 결국에는 남탓, 환경탓을 하고 있는 사람들이 너무나 많아 보인다.