한 언어 (예 : Java)로 개발자로 일하고 Senior Developer까지 일하는 경우 다른 언어 (예 : Ruby)를 사용하는 직책의 선임 개발자가 될 수 있습니까?
한 언어 (예 : Java)로 개발자로 일하고 Senior Developer까지 일하는 경우 다른 언어 (예 : Ruby)를 사용하는 직책의 선임 개발자가 될 수 있습니까?
답변:
이에 대한 가장 좋은 방법은 개발자와 선임 개발자의 차이점을 확인하는 것입니다. 시간이 지나지 않는다고 가정하면 일반적으로 개발자와 수석 개발자 모두가 다음을 수행 할 수있을 것으로 기대합니다.
또한 수석 개발자는 다음을 기대합니다.
그렇다면 질문은 당신이 당신의 두 번째 (또는 세 번째 또는 네 번째) 언어에 대한 확장 된 기준을 충족합니까? 나는 선임 개발자의 대부분이 양도 가능한 경향이 있기 때문에 당신이 당신이 옮기고있는 언어로 기술적으로 충분히 유능한 한, 그렇습니다.
Sr. Developers를 인터뷰 할 때 다음과 같은 특성을 찾습니다.
내가 찾은 수많은 다른 것들이 있지만 이것이 주요 요점입니다.
직장에서 사용되는 언어 전문가가 아닌 Sr. 개발자를 고용하는 것이 좋지만 비슷한 언어의 전문가였습니다.
신청할 수는 있지만, 적어도 제가 채용을하고 있다면 고용 할 수도 있고 고용하지 않을 수도 있습니다.
연대는 (적어도) 두 영역과 관련이 있습니다. 일반 개발 전문 지식 및 언어 / 프레임 워크 전문 지식. (현재 의도적으로 비즈니스 공간 지식을 제외하고 있습니다). 저의 책에서 선임 개발자가 되려면 수준의 설계 / 아키텍처 전문 지식도 포함됩니다. 우수 / 테스트 가능한 시스템 등을 구축하는 방법
자바에서이 수준으로 얻는 것은 해야한다 기타 (유사 / 절차 적) 언어에 대한 좋은 대신에 당신을 서있다.
그러나 즉각적인 생산성이 기대되는이 시대에는 Java만큼 Ruby에 대해 거의 알지 못할 것입니다. Java 친화적 인 구문 대신 시스템을 Ruby 친화적 인 구문으로 나누는 방법 Rails 나 다른 Ruby 관련 사항이 아닌 일부 Java 프레임 워크를 알고있을 것입니다.
인터뷰 중에 루비로 화이트 보드 코딩을 해달라고 요청했다면 할 수 있습니까?
이 모든 것들이 어느 수준에서든 당신을 고용하기로 결정했습니다. 그러나 특히 고위 역할을 위해 .
행운을 빕니다
아니.
그것은 우리의 직업과 다른 '공식적인'직업의 큰 차이점 중 하나입니다. 20 년 동안 유언장과 재산을 담당하는 변호사로 일한 경우 해당 분야에 20 년의 지식이 쌓여 있기 때문에 높은 비율 을 요구하게됩니다 .
당신이 15 년 동안 C ++ /는 Win32 / MFC를하고왔다면, 그건 정말, 레일즈 개발자로 수석 자리를 충족하지 못하는 경우에도 여전히 동일한 도메인에 같은 문제를 해결하는 경우 ... 의료 말한다 예를 들어 청구.
더 나쁜 것은, 대부분의 회사는 거의 비슷한 위치에 대해 당신을 고려하지 않을 것입니다 ... 적어도 데스크톱에는 /.NET이 매우 빠릅니다 . 불행히도 대부분의 회사는 그렇게 생각하지 않습니다.
예, 아니오
언어가 비슷한 경우 C ++, Java 또는 Ruby와 같이 고려해야합니다. 그 사무실에 앉아있는 사람들의 유연성에 따라 전투 기회가 생깁니다.
그러나 언어가 크게 다르기 때문에 Haskell에 대해 관심을 보인 COBOL 직원이라면 10 년 이상의 COBOL 기회에도 불구하고 인터뷰를 확보하는 것조차 좋아하지 않을 수도 있습니다.
그런 상황에서 당신의 마음에 드는 것들 :
언어를 기반으로 한 "고급"타이틀은 거의 보지 못했습니다. 수석 시스템 프로그래머 몇 명, 수석 웹 프로그래머 몇 명, 수석 COBOL 프로그래머 한 명을 알고 있습니다.
프로그래밍은 다면적이며 제공해야 할 몇 가지 분야가 있습니다. 수석 웹 개발자 (제목, 프로그래머와 개발자는 상호 교환이 가능할 것임)가 웹 개발에 사용되는 몇 가지 주류 언어에 능숙 할 것으로 기대합니다. 이것이 파이썬과 PHP 전문가를 C #의 즉각적인 전문가로 만드는가? 다른 한편으로, 모든 C # 전문가들이 프로젝트 관리 및 리더십의 예술을 습득 한 것은 아닙니다.
저는 수석 시스템 프로그래머 일뿐만 아니라 회사에서 CTO 역할을 수행했습니다. 그러나 필자가 필요로하는 프로젝트를 만나면 계획이나 LISP 전문가에게 기쁘다. 좋은 리더가되기 위해서는 자신의 한계와 단점을 먼저 이해해야합니다 .
하나의 언어에만 초점을 둔 회사 나 부서에서 일하고 싶을 지 모르겠습니다. 그것은 담배 연기가 항상 할 것이라고 말한 것처럼 들립니다. 현실이 실제로 더 나쁠 때 성장을 방해합니다.
타이틀을 쫓지 말고 지식을 쫓아 라. 그러나 공정하게 말하면, 현재 지도력을 발휘할 수있는 직책에서 맡은 직무는 해당 언어에 대한 역량을 보여 주면 더욱 유리할 것입니다.
나는 그것이 선임 개발자로 인식하는 것에 달려 있다고 생각합니까? 그것이 건축가 역할에 더 가깝다면, 많은 디자인 원칙과 디자인 패턴은 언어와 상관없이 개발자로서의 경험으로부터 당신을 대신 할 것입니다. 그래서 그것은 플러스입니다 ;-)
그러나 가능한 한 생산적이고 유지 관리 가능한 응용 프로그램이나 코드를 만들 때 (슬리브 비트 롤업) 언어, IDE 및 / 또는 프레임 워크를 전환 할 때 동일한 경험 수준으로 들어갈 수 있다고 생각하지 않습니다.
그러나 runrun이 말했듯이, 이것은 당신이 아무것도 신청하지 못하게합니다.
언어가 저수준이거나 기계 친화적 일수록 전문가가 더 많다고 말하고 싶습니다.
Java / C # 전문 지식은 ASM / C / C ++ 전문 지식보다 비용이 적게 듭니다.
후자의 언어는 메모리 관리 및 프로그래밍 할 때 실제로 중요한 기타 작업을 수행합니다.
그러나 다른 "쉬운"언어의 경우, "쉬운"언어를 만드는 기능을 빠르게 비교해야하지만 쓸모가 없습니다. 쉬운 언어 경험은 코드 점화기 또는 장고 또는 Apache 또는 RoR과 같이 작업에 사용했던 CMS / 기타 코드로 더 잘 측정됩니다.
저에게 선임 개발자는 커널, 시스템, 임베디드 하드웨어 등을 프로그래밍하는 사람들입니다. 기계에 익숙하지 않은 언어를 사용하는 프로그래머는 나에게 선배가 아닙니다. 그들은 단지 일을하지만 그게 전부입니다.