저는 주니어 소프트웨어 개발자이며 1 년 미만의 회사에서 근무하고 있습니다.
저는 항상 소프트웨어 개발자가 소프트웨어와 코드를 개발하는 것을 의미한다고 생각했지만 Jenkins, SQL Replication 설정 등과 같은 관리 작업이 더 중요합니다.
이러한 유형의 작업이 개발자 역할에 포함되어 있습니까, 아니면 개발자 만 소프트웨어를 개발합니까? 이에 대해 관리자와상의해야합니까? 이것이 기업이 "개발"기술을 평가하는 일반적인 방법입니까?
저는 주니어 소프트웨어 개발자이며 1 년 미만의 회사에서 근무하고 있습니다.
저는 항상 소프트웨어 개발자가 소프트웨어와 코드를 개발하는 것을 의미한다고 생각했지만 Jenkins, SQL Replication 설정 등과 같은 관리 작업이 더 중요합니다.
이러한 유형의 작업이 개발자 역할에 포함되어 있습니까, 아니면 개발자 만 소프트웨어를 개발합니까? 이에 대해 관리자와상의해야합니까? 이것이 기업이 "개발"기술을 평가하는 일반적인 방법입니까?
답변:
그들이 실제로 주니어를 원했기 때문이 아니라 선배를 줄 수 없었기 때문에 주니어를 고용 한 것 같습니다. 나는 더 잘 모르는 관리자들에 의해 그 결정이 내려진 팀을 관리했습니다.
그는 사용자를위한 교육용 비디오 제작과 같은 모든 종류의 불행한 일을 끝내고 지금도 죄책감을 느낍니다. 그러나 나는 압박을 받고 개발실에 머리를 추가하는 것만으로 속도가 빨라질 것이라고 기대했습니다. .
그것은 당신과 당신의 상사를 까다로운 위치에두기 때문에 불행한 일입니다.
그는 아마도 그가 후배에게 맡길 수있는 일이 없을 수도 있고, 노인들도 일상에서 멀어 질 수는 없습니다. 쉬운 방법은 주니어에게 많은 비 개발 작업을 제공하는 것입니다. 그는 또한 수석 개발자의 시간을 낭비하고 싶지 않습니다.
그러나 이로 인해 몇 가지 문제가 발생합니다.
첫째, 그가 당신에게 제공하는 일종의 devops 작업에는 실제로 선임 개발자가 필요합니다. 특히, 빌드 서버는 소프트웨어를 구축하는 사람이 어디에 문제가 있는지 알고 있어야합니다.
둘째, 주니어는 더 유용하지 않습니다. 5 년이 지난 후에도 실제 개발 작업을 신뢰할 수 없기 때문에 여전히 동일한 작업을 수행하게됩니다.
셋째, 후배는 (당신이있는 것처럼) 그들이 자신의 경력을 돕고 있지 않다는 것을 깨닫게됩니다. 후배가 경험이 낮고 찾는 것이 아니라 품질이 낮다는 가정은이 산업에서 끔찍하지만 매우 흔한 실수입니다.
그렇습니다. 상사와 함께 앉으십시오. 그러나 그가 처한 처지를 이해하십시오. 모든 사람의 문제를 해결하는 어떤 준비를 할 수 있는지보십시오. 시니어 멘토가 필요하며 현재 진행중인 업무 중 일부는 시니어에게 전달되어야합니다. 이로 인해 프로젝트 속도가 느려지지만 장기적으로는 성과를 거둘 수 있습니다. 그것이 당신의 상사, 그리고 아마도 그들의 상사에게 가야 할 요점입니다. 또한 비용을 줄이기 위해 제공 할 수있는 것을 찾을 수 있는지 확인하십시오.
당신이 할 수 없다면 다른 곳을보고 싶을 수도 있습니다.
"Software Developer"라는 용어는 "Programmer"와 동의어입니다. 따라서 소프트웨어 개발자는 코드를 작성하는 것이 주된 책임이있는 사람입니다. 첫 번째 직업에서 제목은 "개발자"였으며, 주된 책임은 소프트웨어를 디자인하고 코딩하는 것이 었습니다. 그러나 나는 그 용어의 정확한 정의가 없다고 생각합니다. 그것은 사람들마다 다르게 사용되므로 그 의미는 흐려집니다.
그러나 개발 팀이 효율적으로 작업하려면 CI 서버, SQL 복제, 테스트 서버에 배포, 테스트 서버 모니터링, 빌드 아카이브 등을 설정해야합니다. .
이러한 작업은 프로젝트 초기 단계에서 많은 시간이 걸리지 만, 좋은 설정을 실행하면 더 적은 시간이 걸립니다.
불행히도 개발자는 빌드 서버를 관리하는 것보다 코드를 작성하는 것이 좋습니다. 따라서 고위 개발자가 더 중요한 작업을 수행하기 때문에 이러한 지루한 작업은 후배 개발자의 손에 달려 있습니다.
기술을 평가하는 수단으로 이러한 작업을 사용하는 회사는 경험하지 못했습니다.
현재의 책임에 불만이 있다면, 귀하의 라인 관리자에게 문제를 해결하는 것이 좋습니다.
때에 따라 다르지. 다른 회사들은 이것을 다르게 정의하고 일부는 기술 기능의 배열에 대한 포괄적 인 용어입니다. 일부는 제목 일뿐입니다. 전에도 같은 질문을하면서 "개발자 만이이 기능을 수행 할 수있는 능력이 개발자에게 있습니다"라는 대답을 얻었습니다.
이론적 인 대답은 개발자 (코더 / 프로그래머와 비교)는 "무언가 코딩"과 관련이 없어도 "문제를 해결하는"사람이라는 것입니다.
더 많은 코딩 작업을 원한다면 관리자에게 더 많은 코딩 작업을 요청하거나 코딩으로 수행하는 작업 중 일부를 수행 하시겠습니까? 운영 관련 사항을 언급 했으므로 일부 기능은 DevOps 프레임 워크 ( chef 및 puppet 확인)로 수행 할 수 있습니다. 이 기능을 사용하면 기능을보다 효율적으로 개발할 수 있습니다.
개발자가 일부 시스템 관리 기술 을 보유하는 것은 드문 일이 아닙니다 . 선임 개발자 인 저는 약 5 %의 시간이 그러한 작업에 소비되는 것으로 추정합니다.
당신이 일을하지 않는 경우, 어떤 코딩, 그때는 아마 코딩 작업을 얻기에 관하여 당신의 관리자에게 문의해야합니다. 결국 코딩 경험을 쌓고 싶습니다. 또한 시스템 관리자보다 프로그래머로서 더 가치가 있습니다.
중소 기업의 개발자는 일부 서버 관리자 / DBA / 일반 구성 작업을 수행하는 것이 일반적입니다.
그러나 이러한 업무가 대부분의 책임이되기 시작하면 경력 목표에 따라 고려해야 할 수도 있습니다. 일반 기술자로서 특정 회사 내에서 번창 할 수 있지만 새로운 회사로 이사해야 할 경우 전환 과정에서 많은 문제가 발생할 수 있습니다. 전통적인 개발을하고 있지 않다면, 이력서에서이를 분명히해야합니다. 당신이 묘사 한대로 일을 마친 후 곧바로 발전하기를 원한다면, 업계에서 몇 년 동안 "과도한"자격을 가진 것을 받아 들여야 할 수도 있습니다.
반면에 다양한 기술을 가진 개발자를 찾는 회사가있을 수 있습니다. 그러나 현재 인터뷰에서 코드를 작성하는 추세에 따라 일단 작업에 코드가 거의 필요하지 않더라도 최고의 코딩 기술이 필요합니다.
현재 위치에 갇히고 싶지 않으면 곧 상황을 해결하려고 노력할 것입니다.