Scala를 공부하며

요즘 Scala 언어를 공부하고 있다. Programming in Scala를 읽었는데 책을 잘 샀다는 생각이 든다. 700 페이지가 넘는 상당한 두께인데, 온라인에서 구할 수 있는 간단한 문서만 보아서는 알기 힘든 여러가지 면을 잘 설명하고 있는 거 같다. 

Scala는 상당히 복잡한 언어다. 객체 지향과 함수형 개념이 섞여 있으니 원래 만만하지 않겠지만 강력한 표현력을 만들어 내기 위해 컴파일러가 처리하는 일이 많기 때문에 더 그러한 거 같다.  복잡하기로는 C++와도 견줄 수 있다하니 말 다한 셈이다. 너무 강력하기에 남용하기 쉬워 오히려 코드를 알아보기 힘들게 만들 수 있는 면도 여럿 있다.

하지만 그 개념은 아주 매력적이다. 순수 객체 구조에 가까우며 - 모든 데이타가 객체이며 연산자 또한 객체의 메서드로 구현된다 - 거기에 함수형 개념도 융합되어 있다. 정적 타입 시스템이면서도 동적 언어가 가지고 있는 간결함도 갖추고 있다. 각종 언어 구문들도 확장할 수 있게 되어 있다. DSL 만들기에 딱 좋은 언어다.

Scala가 인기를 끌 수 있을까? 그건 모르겠다. Twitter에서 백엔드 시스템을 개발할 때 사용했다는 것이 알려지며 관심이 증가했지만 벌써부터 복잡하다는 얘기도 나오고 있다. 어떤 언어의 성공은 기술적 수준만으로 이루어지는 것이 아니니 쉽사리 예측할 수 없다.  Lift 프레임워크까지는 살펴 본 후 사용을 결정하려 한다.

by Corund | 2009/06/26 10:05 | 트랙백 | 덧글(0)

개발자 채용을 진행하며

회사에서 개발자 채용을 진행 중이다.

우리 회사는 유명한 회사도 아니고 딱히 개발자에게 큰 메리트가 있는 회사라고도 할 순 없는 곳이다.  그래서 가끔 웹에 등장하는 어디어디처럼 무시무시한 시험을 보고 뽑을 사정이 되진 않는다 - 예전엔 해봤으나 그런다고 딱히 좋은 사람을 뽑을 수 있는 거 같지도 않았다.  그냥 입사지원서 보고 면접을 거쳐 뽑는다.

그래도 입사지원은 꽤 했다. 지금 입사지원서를 검토 중에 있다.

그런데 참 안타까운 생각이 든다.  입사지원한 사람들은 나름 사정이 다르겠지만 어쨌든 입사하기 전까진 절박한(?) 사정이라 할 터인데 - 더구나 지금과 같은 경기엔 말이다 - 입사 지원서를 잘 못 쓰는 사람이 너무 많다. 잘 쓰는 수준이 아니라 기본 수준 정도는 되길 바라는 건데 그 정도도 찾아보기 힘들다.  우리 회사가 허접한 편이니 찔러나 보자는 생각인가는 기분마저 들 정도이다.

그리고 상황은 신입이나 경력이나 별 차이가 나지 않는다.  신입은 미숙하니까라고 봐줄 수나 있지 경력자의 경우는 용서가 안 되는 거다.

이 글을 읽는 사람 중에 입사지원서를 쓰고 있는 사람이 있다면 다음 사항을 알아줬으면 한다. 다른 곳은 어떨지 모르겠지만 아마 크게 기준이 다르지는 않을 꺼라 생각한다.
  • 모집 공고를 확인하고 모집 공고에서 제시한 양식과 방식을 꼭 따라야 한다. 입사지원서 양식을 제시하였는데도 자신만의 양식으로 보내면 곤란하다.  입사지원서가 다운로드가 안 되어 자신의 양식으로 보낸다고 하는 사람도 있는데 이런 사람의 입사지원서는 바로 휴지통으로 들어가 버릴 것이다.
  • 격식을 갖춘 바른 표현을 쓰고 맞춤법과 문단 구성에 유의해야 한다. 개발자는 텍스트에 민감해야 한다.
  • 관련없는 자격증을 나열하지 말아라. 운전면허1종 자격증이 개발 능력과 무슨 관계가 있나? 워드프로세서 자격증 같은 것도 마찬가지다.
  • 뻔한 자기 소개는 하지 말아라. 자상하신 아버지 밑에서 자랐는지 관심없다. 군대에서 배우는 건 짱박히는 것 밖에 없다는 것도 모두 알고 있다.  '성장 과정', '성격상의 장단점', '학창 시절 및 사회 경험', '지원 동기 및 포부'와 같은 구성은 좀 그만 써라. 신입이면 직무와 관련하여 자신의 가능성을 알리는 데 집중해라.
  • 가능 기술을 나열할 때 너무 많이 나열하지 말아라.  어차피 신입은 채용 후 교육시킬 것을 생각하고 뽑는다. 나열한 기술을 잘 할 꺼라 별로 기대하지 않는다.  경력직인 경우는 더 조심해야 한다. 전문성이 없어 보이기 때문이다.
  • 또 기술을 나열할 때 범주는 제대로 맞춰라. 가능 언어로 Java, PHP, JSP, Servlet 이러면 곤란하지 않나? 해당 기술을 제대로 이해하고 있지 못하다는 평가를 내릴 수밖에 없다.
  • 그리고 제발 ... 다른 곳에 입사지원할 때 쓰던 거 그대로 보내지 마라. 우리 회사는 yyyy인데 'xxxx에 입사하며는'이라는 구절을 봤을 때 그 기분은 어떨까?
나는 위의 사항이 단지 나의 기분 또는 형식 준수의 문제가 아니라 지원자가 일을 대하는 태도, 일을 처리하는 방식과 관련되어 있다고 믿는다. 그래서 이것은 프로그래밍 지식보다 더 근본적인 채용 기준이라 생각한다.

PS. 글 올린 후 몇가지 사항을 추가하여 수정했습니다.

by Corund | 2009/06/17 16:21 | 트랙백 | 덧글(6)

Scala와 Lift framework 책이 왔다.


Programming in ScalaThe Definitive Guide to Lift가 도착했다.  Scala 책은 생각보다 두껍고(700페이지가 넘는다) Lift framework 책은 생각보다 얇다(230페이지 정도 된다).  Scala와 Lift라는 새 세계는 어떤지 궁금하다.

그나저나 언제 다 읽냐?

by Corund | 2009/06/17 15:08 | 트랙백 | 덧글(1)

Catalyst 책이 왔다.


주문했던 책이 도착했다. Perl MVC 프레임워크인 Catalyst Framework에 대한 책이다. 사진으로만 봤을 때는 좀 묵직해 보였는데 200페이지가 안 되는 얇은 책이다.

scala와 Lift framework에 대한 책도 같이 주문했는데 이건 아직 도착하지 않았다. 같이 배송하는 걸로 선택했는데 무슨 착오가 있었나보다. 어제 배송했다니까 오는데 일주일쯤 걸릴 것 같다. 그전에 먼저 이 책을 다 읽어야겠지.

Catalyst Framework에 관해서는 이 책을 다 읽고 나면 포스팅해 볼까 한다. 어쨌든 열심히 읽자.

by Corund | 2009/06/04 14:39 | 트랙백 | 덧글(0)

전산 개발에서 기본이란 과연 무엇일까?

전산 개발 기술에 관련하여 플레임이 벌어지다 끝무렵에 가면 꼭 이런 말이 나온다. '도구는 중요하지 않아요. 기본이 중요한 거죠'

그런데 과연 그 '기본'이란 무얼까?
그리고 그것을 과연 어느 정도까지 해야 '기본이 튼튼'하다는 걸까?

기본이 중요하다고 말하는 사람들을 보면 가끔은 '자기가 가장 잘 하는 분야'가 기본이라고들 하는 거 같은 느낌이 든다. 특히 C/C++ 로 저수준 개발을 주로 하는 사람들에게서 그런 경우를 꽤 보게 된다.

그런 경향을 일컬어 '기계어 근본주의'라고 하면 심한 말이 될까?

PS. 전산에 문외한인 기획자가 프로그래밍이 뭔지 좀 알고 싶어 공부 좀 해보겠다고 하는데 C/C++를 공부하라고 하는 사람들은 도대체 뭔 정신이야.

by Corund | 2009/05/14 22:04 | 트랙백(1) | 덧글(13)

◀ 이전 페이지다음 페이지 ▶