대부분의 구인 서비스가 일반적인 개발자가 아닌 <여기의 언어> 개발자를위한 이유는 무엇입니까? [닫은]


10

이상적인 세상에서 :

패트릭 맥켄지 (Patrick McKenzie)는 훌륭한 기사 인 자신을 프로그래머라고 부르지 말고 다른 직업 조언 에서이 언어는 중요하지 않다고 설명합니다.

  • 개발자는 일반적으로 문제를 해결하는 사람입니다. 개발자는 특정 언어로 코드를 작성하는 사람이 아닙니다.

  • 비즈니스는 당신이 알고있는 언어에 관심이 없습니다. 특정 언어로 작성된 프로젝트를 위해 개발자를 고용해야하고 경험이 많지만이 언어로 코드를 작성하지 않은 후보자가있는 경우에도 그는 여전히 고용됩니다.

개발자와 다른 개발자를 고용해야했던 사람의 경험에 따르면 관찰 결과는 매우 유사합니다.

  • Java에서의 N 년 경험이나 C #에서의 N 년 경험은 중요하지 않습니다. 중요한 것은 응시자가 문제를 해결하는 방법을 알고 스파게티 코드와 잘 생각 된 아키텍처를 갖춘 깨끗한 코드의 차이점 등을 알고 있다는 것입니다.

  • 나는 당신이 전에 사용한 언어에 관심이 없습니다. C # 프로젝트의 경우 C # 만 알고 초보자를 배우지 않고 Java, Python 및 Ruby on Rails 코드를 작성하는 데 소비 한 전문 개발자를 고용합니다 .

  • 한 언어를 사용하여 얻은 지식과 경험은 대부분 다른 언어에서도 재사용 할 수 있습니다.

    웹 개발에 Ruby on Rails를 사용하고 Oracle을 사용하여 Java 데스크탑 애플리케이션을 작성하는 데 경력을 쌓은 숙련 된 개발자는 Microsoft SQL Server를 사용하는 ASP.NET MVC 프로젝트에 완벽하게 적합합니다. 이 사람 은 몇 가지 특정 사항과 구문 차이를 제외 하고이 작업에 필요한 모든 것을 이미 알고 있기 때문입니다.

    반면에 ASP.NET MVC 소규모 웹 사이트를 몇 개만 수행 한 사람은 MVC 아키텍처를 완전히 이해하지 못하고 SQL 프로파일 링이 무엇인지 알 수 있으며 다른 필수 요소가 부족할 수 있기 때문에 전혀 적합하지 않습니다. 지식.

    CodeIgniter를 사용한 적이없는 PHP 웹 사이트에서 작은 문제를 해결할 수 없다고 말하지 마십시오.

실제로:

실제로 프리랜서 일자리를 검색 할 때 일반적으로 채용 공고를 보면 언어별로 매우 다릅니다.

일부는 Magento에서 2 년의 경험을 가진 PHP 개발자를 검색 할 것입니다. 다른 사람들은 VB.NET 경험이 3 년 이상인 사람을 찾고있을 것입니다. 6 년 동안 C # 개발을했지만 VB.NET에 대해 언급하지 않았다는 이력서를 보내면 귀찮게하지 않습니다. 대답합니다. Firebird에 경험이있는 사람을 요청하면 10 년간 Oracle에 대한 경험을 듣지 않을 것입니다.

이론과 Patrick McKenzie와 제가 상식이라고 묘사 한 것과 실제 구인의 세계 사이에 그러한 차이가있는 이유는 무엇입니까?


12
Don't tell me that I'm unable to fix a small problem with a PHP website which uses CodeIgniter just because I never used CodeIgniter before.문제를 완벽하게 해결할 수는 있지만 근본 원인이 CodeIgniter (프레임 워크의 몇 가지 단점 중 하나이거나 수많은 버그 중 하나) 인 경우 문제를 해결하는 데 훨씬 더 많은 시간이 걸립니다.
yannis

12
태그를 잊었습니다 <rant>...</rant>.. 진심으로, 여기에 진짜 질문이 있습니까?
Cyclops

6
"저는 이전에 사용한 언어에 신경 쓰지 않습니다. C # 프로젝트의 경우 C # 만 알고 초보자도 아닌 Java, Python 및 Ruby on Rails 코드를 작성하는 데 평생을 보낸 전문 개발자를 고용합니다. "나쁘게." -밀짚 꾼을 잡아! 이것은 이분법입니다. 당신의 분노는 초보자에게는 정확하지만 특정 플랫폼에 대한 깊은 지식이 필요한 위치에는 적합하지 않습니다.
Jim In Texas

1
언어에 경험이있는 사람은 그 일을 훨씬 더 빠르고 더 깨끗하게 할 것입니다. 그렇지 않으면 생각은 망상 일뿐입니다.
토마스 보니 니

내가 고용하는 사람 일 때, "Technobabble Terms X, Y, Z를 사용해야했습니다"라는 목록이있는 사람이되었습니다. 그 사람을 찾을 수 있다면 그들을 고용 할 수 있습니다. 내가 직업을 찾는 사람 일 때, 나는 두뇌의 국수 만 있고 그들이 원하는 정확한 경험이 없기 때문에 나를 보지 않은 것에 대해 그들을 원망할 수 있습니다. 그 자리에서 고용 될 수 있습니다. 결국, 그것은 그들의 부름입니다.
Warren P

답변:


16

많은 회사들이 HR 드론을 가지고 있기 때문에 그에 대해 전혀 모르는 채용을하고 있습니다. HR이 "후보자는 어떤 자격이 필요합니까?"라고 말할 때 "좋은 코드를 작성"하는 것보다 "6 년 C #"을 말하는 것이 훨씬 쉽습니다. 그 무인 항공기는 "좋은 코드 작성"이 어떤 것인지 또는 좋은 코드를 작성할 수 있는지 여부에 따라 이력서를 필터링하는 방법을 모릅니다. 그러나 이력서를 빨리 ​​읽고 "5 년 3 년 C #"을보고 버릴 수 있습니다.


3
바로 그거죠. 비 개발자와 경영진은 유사한 기술을 가진 사람을 찾고 있다고 말하지만 업무에 익숙하지 않은 경우 처음에는 업무에서 공정한 비트 (예 : 개념이 아닌 특정 구문)를 배워야한다고 묻습니다.
Michael Durrant

HR 원숭이라고 생각했는데 ... 전적으로 동의하지만 팀에 <언어>를 사용하는 것이 좋습니다.
Lukasz Madon

3
광고에 "좋은 코드 작성"을하는 것은 말이되지 않습니다. 모두가 좋은 코드를 작성한다고 생각합니다. 우수한 코드 작성 기술로 가장 유죄 판결을받은 사람들은 대개 최악의 코드를 작성하는 사람들입니다.
nikie

1
@ nikie : 단순화입니다. 물론, 당신은 그것을 광고에 정확하게 넣지 않을 것입니다.
DeadMG

3
HR 부서가없는 소규모 신생 기업이 정확히 동일한 작업을 수행하기 때문에 이것이 주된 이유라고 생각하지 않습니다.
J. Maes

22

언어 Y에서 X 년의 경험을 가진 개발자가 언어 Y2로 완벽하게 전환 할 수 있다는이 신화를 잠식 할 때가되었다고 생각합니다. 이것이 작동하는 방식이 아닙니다.

예를 들어, 언어를 구문과 일반적인 패턴으로 취급하면 C #으로 이동할 때 Java가 큰 도움을 줄 것입니다. 그러나 WCF, WPF, Click Once, 다양한 스레딩 라이브러리 Linq에 대해서는 준비하지 않으며 브로셔가 작동하는 내용에 대해서는 확실히 준비하지는 않지만 실제로는 그렇지 않습니다.

당신은 당신이 언어에 대해 말하는 것이 아니라, 일반적으로 플랫폼에 대해 말하는 것을 봅니다. 그리고 .NET이 좋은 예이고 많은 언어를 지원하는 곳에서는 사람들이 선호하는 선택에 수렴하는 경향이 있습니다.

따라서 C # 개발자를 요청할 때 실제로 C # 프로젝트에 경험이있는 .NET 플랫폼 개발자를 광고하고 있습니다. 이들은 .net 서버 프로젝트, winforms / wpf 프로젝트 인 경향이 있습니다.


동의한다. 물론 가능하지만 어렵습니다. C 패밀리 구문은 쉽게 전달할 수 있지만 전체 플랫폼 및 도구 세트에 대한 실제 이해는 이해하는 데 많은 시간이 걸립니다. 젊은 개발자 / 프로그래머 / 분석가 / 코더에 대한 나의 충고는 모든 사람이 아직 초보자 인 동안 자신의 시간에 새로운 기술에 뛰어 드는 것입니다. 2 ~ 3 년 전에 HTML5, iOS 및 Android 개발에 참여한 사람들은 이제 상태가 양호합니다. 물론 잘못된 것을 추측 할 수 있지만 (Flex에 대해 질문) 세상의 끝은 아닙니다.
Jim In Texas

이것은 Java-> C #이 C-> C ++와 유사하기 때문에 기술적으로 동일한 기초에 구축 될 수 있지만 C #에는 실제로 사용하려는 더 많은 기능이 포함되어 있습니다. C #에서 Java로 전환하면 역변환이 훨씬 쉬워집니다.
DeadMG

11

몇 가지 이유를 생각할 수 있습니다.

  1. 직원 대 컨설턴트-컨설턴트를 고용하는 경우 이미 사용중인 기술 스택에서 속도를 높이기를 바랍니다. 컨설턴트는 학습을 상각하기 위해 오래 걸리지 않기 때문에 매우 신속하게 효율적일 것으로 예상됩니다.
  2. 공급 / 수요-Doc이 말했듯이, 내가 할 수있는 가장 경험이 많은 후보자를 고르려고한다면. 그리고 기술 스택은 기존 기술에 중요합니다. Go에서 개발할 사람을 찾고 있다면 (몇몇 사람들이 알고있는 언어 선택), 그 경험이 거의 없으며, 일반적으로 개발자로서 스킬 셋으로 돌아갑니다.

4

모든 프로그래밍 작업이 동일한 것은 아닙니다. 내 현재 직업은 확실히 당신의 모델에 맞습니다. 여기에는 많은 임시 데이터 분석이 필요하며 필요에 따라 도구를 선택하여 내려 놓습니다. 새로운 도구로 빠르게 생산성을 높일 수 있다는 기록을 가지고 있었기 때문에 부분적으로 고용되었습니다.

다른 한편으로는 일자리가 되는 특정 기술 전문 지식을 찾고은. 90 년대에 저는 소규모 소프트웨어 상점에서 일하고 있었고 C ++에 대한 전문 지식을 빠르게 개발해야했습니다. 광고에서 C ++에 대한 전문 지식을 명시 적으로 요청했지만 대부분의 지원자는 내가하는 것보다 C ++에 대해 덜 알고있었습니다. "하지만 C ++을 빨리 배울 수 있습니다!" 그들은 모두 말했다. 글쎄, 나는 당신이 할 수 있다고 확신하지만, 나도 할 수 있으며, 이미 다른 사람들도 그렇게 할 수 있습니다. 우리는 이미 C ++을 이미 알고있는 사람을 찾고 있었기 때문에 나머지 사람들이 속도를 내면서 사내 전문 지식을 얻을 수있었습니다. 팀에 다른 초보자가 있으면 도움이되지 않았을 것입니다.


1
+1 : TEAM 은 일부 또는 대부분의 개발자가 언어를 처음 접하게 할 수 있지만 다른 모든 사람을 가르 칠 수있는 언어 전문가를 확보하는 데 많은 도움이됩니다.
TREE

3

비즈니스는 당신이 알고있는 언어에 관심이 없습니다. 특정 언어로 작성된 프로젝트를 위해 개발자를 고용해야하고 경험이 풍부한 후보자가 있지만이 언어로 코드를 작성하지 않은 경우에도 그는 여전히 고용 될 것입니다.

.NET / C # 작업 후보를 찾고 있다고 가정 해보십시오. 직업 후보가 두 명인 경우, 둘 다 똑같이 경험이 많지만 첫 번째는 Java 생태계에서 경험을 쌓았으며, 두 번째는 .NET 생태계에서 경험을 쌓았습니다.

다른 사람들은 VB.NET 경험이 3 년 이상인 사람을 찾고있을 것입니다. 6 년 동안 C # 개발을했지만 VB.NET에 대해 언급하지 않았다는 이력서를 보내면 귀찮게하지 않습니다. 대답합니다.

왜 답을 얻지 못하는지 누가 말할 수 있습니까? 아마도 VB.NET 개발자가 작업을 신청하는 데 충분한 경험이 있습니까? 아마도 인사 부서는 프로그래밍 언어 경험을 필터로 사용하여 작업 응용 프로그램의 수를 100에서 10으로 줄였습니다. 아마도 잘못된 회사와 이야기했을 것입니다. 위에서 설명한).


2

대부분의 프로젝트 기반 작업 결과는 신속하게 필요하며 사람들은 가능한 빨리 수익을 창출해야합니다.

이러한 요구를 충족시킬 수 있고 특정 언어에 구속되지 않는 사람들은 드물고 결과적으로 너무 비쌉니다. 이 사람들은 놀라운 기술을 요구하는 대기업에 의해서만 고용됩니다.

문제를 해결할 수는 있지만 특정 언어를 빨리 배울 수없는 사람들은 드물다. 그들은 여전히 ​​많은 비용이 들며 특정 언어를 배우는 데 추가 시간이 필요합니다.

언어 별 프로그래머를 요청하면 이러한 추가 시간 비용이 줄어 듭니다. 그는 이미 필요한 기술을 습득했으며 결과를 빠르게 제공 할 수 있습니다.

간단히 말해, JAVA에서 수행해야하는 프로젝트에는 값 비싼 놀라운 소프트웨어 개발자가 필요하지 않으며 언어 / 프레임 워크를 배우는 데 시간이 필요한 평균 .net 개발자가 필요하지 않습니다. JAVA에 이미 경험이 있고 비교적 문제 해결 능력이 좋은 사람이 제공하는 최소 금액의 즉각적인 결과가 필요합니다.

항상 그렇듯이 돈과 투자 수익을 극대화하는 것입니다.


2

표준 문구 "<언어 여기> 개발자"를 잘못 해석 한 것 같습니다. 회사는 다른 언어를 경험 한 개발자를 막기 위해 광고에이 문구를 넣지 않습니다. 유능한 개발자를 저지하려는 이유는 무엇입니까? 고용주의 관점에서 볼 때 후보자가 많을수록 좋습니다. 관심이없는 사람들을 항상 초대 할 수는 없습니다 .

문구의 실제 요점은 독자에게 구인 제안에 수반되는 내용을 알려주는 것입니다. 그리고 그것은 많은 의미가 있습니다, IMHO. Z80 어셈블리 언어로 개발 한 직업을 신청 하시겠습니까? 아니면 코볼? 아니면 포트란?

그리고, 회사에 다른 방식으로 똑같이 똑똑한 두 명의 후보가 있다면, <언어 여기>에 경험이있는 후보가 이깁니다. 더 이상 아무것도 없습니다. (사람이 단일 프로젝트 또는 이미 늦게 진행된 프로젝트 또는 회사가 <언어 여기>에서 개발 한 첫 번째 프로젝트를 위해 고용 된 특별한 경우 있습니다. 그러나 나는 그들이 규칙이라고 생각하지 않습니다.

당신이 제안처럼 덧붙여, 우리 회사는 한 번 광고를 썼다 (이 보인다 는 의미가 같은 어쨌든). 결과는 황폐했다. 작업에 관심이있는 사람들은 단순히 광고를 건너 뛰었습니다. 열린 입장에 적용되는 절망적 인 사람 만 적용됩니다. 다시는 시도하지 않았습니다.


1

물러서서 전제에 대해 생각하십시오. 사람이 .net 작업을 수행하기를 원합니다. 당신은 당신의 직업 설명에 넣어 당신은 그 기술을 가진 후보자를 찾습니다! 이것은 상식입니다.

나는 그것이 좋은 생각이 아닐 수있는 이유에 대한 더 자세한 철학에 동의하지만, 대부분의 사람들은 지금 필요한 기술을 갖춘 후보자를 광고하고 요구하며 찾을 것입니다. 그것은 그렇게 간단하기 때문에 이것이 왜 당신의 질문의 제목에 답한다고 생각합니다.

그들이 후보를 전혀 얻지 못하거나 몇 가지 나쁜 후보를 겪을 수 없다면 조금 연구하고 세부 항목에 더 잘 적응할 수 있습니다. 실제로 내가 (Ruby on Rails)에있는 지역에는 현재 "경험이 필요없고 훈련시킬 것입니다"등의 광고가 많이 있습니다. 훈련 할 수있는 "나쁜 습관없이"후보자들에게 매우 개방적입니다. 따라서 일부 조직에서는 올바른 접근 방식을 제공합니다.

대부분의 광고는 외부 채용 담당자 나 기술이 아닌 내부 채용 담당자가 설명하는 것처럼 '측면 적'지식이없는 광고임을 염두에 두십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.