한 언어를 사용하는 선임 개발자가 다른 언어를 사용하는 선임 개발자가 될 수 있습니까? [닫은]


27

한 언어 (예 : Java)로 개발자로 일하고 Senior Developer까지 일하는 경우 다른 언어 (예 : Ruby)를 사용하는 직책의 선임 개발자가 될 수 있습니까?


2
@Philip-이 질문은 실제로 몇 가지 전선에 대한 경계 질문입니다. 경계선은 "너무 현지화되어 있습니다."실제로는 귀하에게만 가치가 있으며 경계선은 "건설적이지 않습니다"이므로 FAQ에 나열된 질문을하기위한 지침을 실제로 다루지 않기 때문입니다. 이 질문을 편집하고 지침을 제시 할 수 있다면 질문을 저장하는 것이 좋습니다.
Walter

8
@Walter-현지화에 대한 첫 의견에 동의하지 않습니다. 한 언어의 선임 개발자가 다른 언어의 선임 개발자 자격을 부여하는지 여부에 관한 일반적으로 적용 가능한 질문 / 답변입니다.
Craige

1
@Walter-현지화 문제를 제거했습니다. 지금은 아마도 합리적이라고 생각합니다.
Jon Hopkins

1
@Walker-죄송합니다.이 질문은 Craige의 말입니다. 주니어로 여겨지는 대부분의 프로그래머가 언젠가 선임 개발자가 되길 원한다고 가정했기 때문에 방금 그렇게 썼습니다. 그러므로 올바른 주니어 포지션을 선택하는 것이 중요합니다.
Philip

11
이 질문은 "선임 개발자"가 일반적으로 받아 들여지는 의미를 가지고 있다고 가정 한 것 같습니다. 일반적으로 직책은 일종의 직책이며 직책은 귀하와 고용주가 동의 할 수있는 모든 것입니다.
David Thornley

답변:


33

이에 대한 가장 좋은 방법은 개발자와 선임 개발자의 차이점을 확인하는 것입니다. 시간이 지나지 않는다고 가정하면 일반적으로 개발자와 수석 개발자 모두가 다음을 수행 할 수있을 것으로 기대합니다.

  • 역할에 필요한 언어로 유능한 코드 작성
  • 버그 진단 및 수정
  • 단위 테스트 작성
  • 표준 및 합리적인 모범 사례 (버전 관리, 문서)를 따릅니다.
  • 광범위한 기본 기술 역량 보유
  • 전문적으로 행동하십시오

또한 수석 개발자는 다음을 기대합니다.

  • 모범 사례에서 다른 직원을 멘토링
  • 팀에서 사용하고있는 언어 중 적어도 일부에 대한 참조 점이어야 함
  • 새로운 모범 사례 영역을 적극적으로 연구하고 옹호
  • 보다 복잡한 문제 / 코드 영역의 기술 소유권을 확보하고 확실한 솔루션을 제공하십시오.

그렇다면 질문은 당신이 당신의 두 번째 (또는 세 번째 또는 네 번째) 언어에 대한 확장 된 기준을 충족합니까? 나는 선임 개발자의 대부분이 양도 가능한 경향이 있기 때문에 당신이 당신이 옮기고있는 언어로 기술적으로 충분히 유능한 한, 그렇습니다.


1
이것은 실제로 환경, 특히 보스에 달려 있습니다. 어떤 "Sr 's"는 모든 주제에 대한 지식을 보여줄 필요가 있다고 느낀다. 특히 "jr"가 주제에 대해 더 많은 지식과 경험을 가지고있을 때. C ++ 배경의 Sr.이 C # 프로젝트에서 작동하면 심각한 긴장이 생길 수 있습니다. "jr"은이 특정 프레임 워크에 대한 더 큰 지식 기반을 가질 수 있습니다. 이것은 특히 보스가 듣고있을 때 격렬한 전투를 일으킬 수 있습니다.
P.Brian.Mackey

@ P.Brian.Mackey-충분히 공평하지만, 같은 직책을 가진 다른 직업들 간에는 상당히 큰 차이가 있습니다. 나는 상당히 일반적인 (그리고 합리적인) 정의라고 생각했지만 "30 세 이상"부터 "모든 것에 관한 모든 것을 알고있다"까지 다양 할 수있다.
Jon Hopkins

1
BF보다 복잡한 언어의 후자는 행운을 빕니다. C조차도 예상보다 더 어두운 구석이 있습니다!
SamB

'일부 "Sr 's"는 모든 주제에 대한 지식을 보여줄 필요가 있다고 생각합니다.' 이 사람들은 차가워 지라고 말해야합니다. 모르는 것이 있다는 것을 인정하지 않으면 아무 것도 배울 수 없습니다. 무언가에 대한 무지를 자유롭게 인정하는 능력은 약점이 아니라 힘의 표시입니다.
PeterAllenWebb

1
+1 모든 기술이 아닌 일부 기술이 양도 가능 하다는 점을 지적한 것에 대해 . 그것을 넣는 좋은 방법.
Nicole

5

현재 상태에 관계없이 원하는 회사의 모든 직책에 지원할 수 있습니다.

이력서 / 커버 레터 / 인터뷰에서 본인이 해당 직종의 사람임을 증명하는 것은 귀하에게 달려 있습니다.


5

Sr. Developers를 인터뷰 할 때 다음과 같은 특성을 찾습니다.

  • 여러 언어로 일했습니다
  • 적어도 하나의 전문가, 적어도 하나의 전문가, 다른 패러다임의 전문가
  • 선택한 분야의 최신 기술, 최신 기술 등을 인식
  • 우수한 CS 기준 (알고리즘, 알고리즘 비용, 데이터 구조 등)
  • 특정 문제의 세부 사항과 큰 그림 사이를 전환하는 기능
  • 사물이 잘못된 방향으로 움직일 때와 그 이유를 표현하십시오. 그런 다음 잘못된 방향으로 계속 진행할 수 있습니다 (일명 전문성).
  • 멘토 능력
  • 팀 내부 및 팀과 함께 작업 할 수있는 기능

내가 찾은 수많은 다른 것들이 있지만 이것이 주요 요점입니다.

직장에서 사용되는 언어 전문가가 아닌 Sr. 개발자를 고용하는 것이 좋지만 비슷한 언어의 전문가였습니다.


3

신청할 수는 있지만, 적어도 제가 채용을하고 있다면 고용 할 수도 있고 고용하지 않을 수도 있습니다.

연대는 (적어도) 두 영역과 관련이 있습니다. 일반 개발 전문 지식 및 언어 / 프레임 워크 전문 지식. (현재 의도적으로 비즈니스 공간 지식을 제외하고 있습니다). 저의 책에서 선임 개발자가 되려면 수준의 설계 / 아키텍처 전문 지식도 포함됩니다. 우수 / 테스트 가능한 시스템 등을 구축하는 방법

자바에서이 수준으로 얻는 것은 해야한다 기타 (유사 / 절차 적) 언어에 대한 좋은 대신에 당신을 서있다.

그러나 즉각적인 생산성이 기대되는이 시대에는 Java만큼 Ruby에 대해 거의 알지 못할 것입니다. Java 친화적 인 구문 대신 시스템을 Ruby 친화적 인 구문으로 나누는 방법 Rails 나 다른 Ruby 관련 사항이 아닌 일부 Java 프레임 워크를 알고있을 것입니다.

인터뷰 중에 루비로 화이트 보드 코딩을 해달라고 요청했다면 할 수 있습니까?

이 모든 것들이 어느 수준에서든 당신을 고용하기로 결정했습니다. 그러나 특히 고위 역할을 위해 .

행운을 빕니다


귀하의 답변에 감사드립니다. 예. Ruby로 화이트 보드 코딩을 할 수 있습니다 (C ++, Java와 동일). 사실 나는 현재 시점에서 Java보다 Ruby에 능숙하다고 생각합니다. 왜냐하면 1 년 동안 Ruby를 기반으로하는 개인 프로젝트를 수행하기 때문입니다.
Philip

3

아니.

그것은 우리의 직업과 다른 '공식적인'직업의 큰 차이점 중 하나입니다. 20 년 동안 유언장과 재산을 담당하는 변호사로 일한 경우 해당 분야에 20 년의 지식이 쌓여 있기 때문에 높은 비율 을 요구하게됩니다 .

당신이 15 년 동안 C ++ /는 Win32 / MFC를하고왔다면, 그건 정말, 레일즈 개발자로 수석 자리를 충족하지 못하는 경우에도 여전히 동일한 도메인에 같은 문제를 해결하는 경우 ... 의료 말한다 예를 들어 청구.

더 나쁜 것은, 대부분의 회사는 거의 비슷한 위치에 대해 당신을 고려하지 않을 것입니다 ... 적어도 데스크톱에는 /.NET이 매우 빠릅니다 . 불행히도 대부분의 회사는 그렇게 생각하지 않습니다.


4
나는 "대부분의"회사들이 그렇게 생각한다는 것을 모른다. 현재 경기 침체 문제는 이미 C #을 알고있는 사람이 너무 많아서 숫자만으로 검색 범위를 좁힐 수 있다는 것입니다.
Sanko Wonko

대부분의 기술과 경험은 양도 할 수 있다고 생각합니다. 새로운 구문을 배우는 것은 쉽습니다. 불행히도, 당신이 옳습니다. 당신이 생각하는 것이 아니라 당신이 고용하는 사람이 생각하는 것입니다.
아무도

3

그것은 달려있다

"프로그래밍"을 제거하십시오. 대신 당신은 전문 번역가 인 척하십시오.

영어가 모국어이고 프랑스어도 능숙하다고 가정합니다. 스페인어를 상당히 쉽게 배울 수 있습니다.

그러나 중국의 많은 방언을 빠르게 습득 할 수는 없습니다. 언어 학자로서의 경험은 언어를 배우는 데 도움이되지만 외국어를 배운 적이없는 사람보다 유리할 수는 있지만 "전문가"(예 : "노인")가되기까지는 훨씬 더 오랜 시간이 걸립니다 ) 해당 언어로 번역합니다.


2

예, 아니오

언어가 비슷한 경우 C ++, Java 또는 Ruby와 같이 고려해야합니다. 그 사무실에 앉아있는 사람들의 유연성에 따라 전투 기회가 생깁니다.

그러나 언어가 크게 다르기 때문에 Haskell에 대해 관심을 보인 COBOL 직원이라면 10 년 이상의 COBOL 기회에도 불구하고 인터뷰를 확보하는 것조차 좋아하지 않을 수도 있습니다.

그런 상황에서 당신의 마음에 드는 것들 :

  1. 이미 여러 언어를 알고 있고 동일한 언어에 대한 경험이있는 경우 C ++에 능숙하지만 Perl, Tcl 및 일부 Ruby를 기꺼이 Java로 고려할 것입니다. 사실 나는 이력서에서 C ++로 Java 작업을 한 사람들을 알고 있습니다.
  2. 경험이 관련 영역에 있다면 그럴 가능성이 높습니다. 예를 들어 C ++ 게임 프로그래머라면, 멀티 스레딩이 필요한 C # 작업에 채용 할 수없는 이유가 없습니다.

1
루비는 어떻게 C ++이나 Java와 같은가요? C ++ 및 Java는 모두 C 스타일 언어이며 Ruby는 Perl, Python 및 Smalltalk에서 파생됩니다.
Craige

나는 OOP를지도 테마로 언급하고있었습니다.
Fanatic23

2

언어를 기반으로 한 "고급"타이틀은 거의 보지 못했습니다. 수석 시스템 프로그래머 몇 명, 수석 프로그래머 몇 명, 수석 COBOL 프로그래머 한 명을 알고 있습니다.

프로그래밍은 다면적이며 제공해야 할 몇 가지 분야가 있습니다. 수석 웹 개발자 (제목, 프로그래머와 개발자는 상호 교환이 가능할 것임)가 웹 개발에 사용되는 몇 가지 주류 언어에 능숙 할 것으로 기대합니다. 이것이 파이썬과 PHP 전문가를 C #의 즉각적인 전문가로 만드는가? 다른 한편으로, 모든 C # 전문가들이 프로젝트 관리 및 리더십의 예술을 습득 한 것은 아닙니다.

저는 수석 시스템 프로그래머 일뿐만 아니라 회사에서 CTO 역할을 수행했습니다. 그러나 필자가 필요로하는 프로젝트를 만나면 계획이나 LISP 전문가에게 기쁘다. 좋은 리더가되기 위해서는 자신의 한계와 단점을 먼저 이해해야합니다 .

하나의 언어에만 초점을 둔 회사 나 부서에서 일하고 싶을 지 모르겠습니다. 그것은 담배 연기가 항상 할 것이라고 말한 것처럼 들립니다. 현실이 실제로 더 나쁠 때 성장을 방해합니다.

타이틀을 쫓지 말고 지식을 쫓아 라. 그러나 공정하게 말하면, 현재 지도력을 발휘할 수있는 직책에서 맡은 직무는 해당 언어에 대한 역량을 보여 주면 더욱 유리할 것입니다.


0

나는 그것이 선임 개발자로 인식하는 것에 달려 있다고 생각합니까? 그것이 건축가 역할에 더 가깝다면, 많은 디자인 원칙과 디자인 패턴은 언어와 상관없이 개발자로서의 경험으로부터 당신을 대신 할 것입니다. 그래서 그것은 플러스입니다 ;-)

그러나 가능한 한 생산적이고 유지 관리 가능한 응용 프로그램이나 코드를 만들 때 (슬리브 비트 롤업) 언어, IDE 및 / 또는 프레임 워크를 전환 할 때 동일한 경험 수준으로 들어갈 수 있다고 생각하지 않습니다.

그러나 runrun이 말했듯이, 이것은 당신이 아무것도 신청하지 못하게합니다.


0

이는 일반적으로 신입 사원 채용 방법을 추진하는 내부 인사 절차이므로 인터뷰 대상 회사에 따라 크게 달라집니다. 대기업은 매우 단호한 경향이 있으며 특정 언어에 대해 n 년 간의 경험 이 있어야 상급 레벨로 간주 될 경우 중간 레벨 개발자에게만 도움이 될 것입니다.

그럼에도 불구하고, 이것은 당신이 입장을 신청하는 것을 방해해서는 안되며 그들이 인터뷰를 위해 당신을 데려 오면 그것은 당신이 논의해야 할 것입니다.


0

언어가 저수준이거나 기계 친화적 일수록 전문가가 더 많다고 말하고 싶습니다.

Java / C # 전문 지식은 ASM / C / C ++ 전문 지식보다 비용이 적게 듭니다.

후자의 언어는 메모리 관리 및 프로그래밍 할 때 실제로 중요한 기타 작업을 수행합니다.

그러나 다른 "쉬운"언어의 경우, "쉬운"언어를 만드는 기능을 빠르게 비교해야하지만 쓸모가 없습니다. 쉬운 언어 경험은 코드 점화기 또는 장고 또는 Apache 또는 RoR과 같이 작업에 사용했던 CMS / 기타 코드로 더 잘 측정됩니다.

저에게 선임 개발자는 커널, 시스템, 임베디드 하드웨어 등을 프로그래밍하는 사람들입니다. 기계에 익숙하지 않은 언어를 사용하는 프로그래머는 나에게 선배가 아닙니다. 그들은 단지 일을하지만 그게 전부입니다.


재미있는 의견. C ++이 훨씬 더 고통 스럽다는 것에 동의합니다. 반면에 (현재) 언어의 일부가 오래되어서 많은 C ++의 고통이 있습니다. 최신 언어에는 훨씬 많은 라이브러리 함수, Lambdas, for-each-loops 및 많은 것들에 대한 덜 암호화 된 구문이 있습니다. 이러한 문제는 실제 저수준에 집중하는 데 방해가 될 수 있습니다.
Philip

이것은 흥미로운 의견입니다. 필자의 경험에 따르면 상급자는 코드를 작성하지 않아도 될뿐만 아니라 하위 수준의 자료를 비 기술자에게 번역하는 데 더 많은 경험을 가지고 있기 때문에 경영진과 더 많은 관계를 갖습니다. 당신은 확실히 그 능력을 존중할 수 있습니다. 당신의 관점은 30 명의 웹 개발자로 구성된 팀에서 질문을 제기합니다. 커널을 작성할 수 없기 때문에 그들 중 누구도 수석이 아닙니까? 그들이 모자이크에서 일했거나 방금 고등학교를 마쳤다해도 당신에게 별 차이가 없습니까?
Steve Jackson

30 명의 웹 개발자? 개발자? 글쎄, "노인"은 그 사람이 오랫동안 코딩을했거나 더 나이가 들었다는 것을 의미합니다. 그러나 경험과 지식 측면에서 "고급"이라고 생각한다면 가비지 수집 언어를 사용하면 프로그래밍 경험이라고 부를 수 없다고 생각합니다.
jokoon
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.