“소프트웨어 개발자”역할을 정의하는 것


10

저는 주니어 소프트웨어 개발자이며 1 년 미만의 회사에서 근무하고 있습니다.

저는 항상 소프트웨어 개발자가 소프트웨어와 코드를 개발하는 것을 의미한다고 생각했지만 Jenkins, SQL Replication 설정 등과 같은 관리 작업이 더 중요합니다.

이러한 유형의 작업이 개발자 역할에 포함되어 있습니까, 아니면 개발자 만 소프트웨어를 개발합니까? 이에 대해 관리자와상의해야합니까? 이것이 기업이 "개발"기술을 평가하는 일반적인 방법입니까?


9
뾰족한 머리 보스가 누구인지에 따라 다릅니다.
Neil

각 회사는 역할을 약간 다르게 정의합니다. 관리자에게 역할에 따른 책임과 기대 사항을 문의하십시오.
Bernard

4
목수가 목재를 싣거나 수레를 밟아야하는시기가 있습니다. 그것은 모두 일의 일부입니다. 경험이없는 목수라면 아마도 노인 목수보다 더 많은 일을하고있을 것입니다.
Bryan Oakley

1
소프트웨어 개발> 코드 작성 소프트웨어 개발자가 설정 / 사용 방법을 알지 못하거나 Jenkins와 같은 도구의 가치를 모르는 경우, 정의에 따라 (매우) 주니어 소프트웨어 개발자가됩니다. 실무 교육을 고려하고 일정 수준의 소프트웨어 품질을 유지하기 위해 자체 시간에 유지되는 자체 VM에서 자체 CI 서버를 실행해야하는 환경에서 일하지 않는 것이 운이 좋을 것입니다. 그러나 이러한 도구가 (대부분 수동) "프로세스"에서 허용되지 않는 경우 실제로는 권장하지 않습니다.
michael

답변:


11

그들이 실제로 주니어를 원했기 때문이 아니라 선배를 줄 수 없었기 때문에 주니어를 고용 한 것 같습니다. 나는 더 잘 모르는 관리자들에 의해 그 결정이 내려진 팀을 관리했습니다.

그는 사용자를위한 교육용 비디오 제작과 같은 모든 종류의 불행한 일을 끝내고 지금도 죄책감을 느낍니다. 그러나 나는 압박을 받고 개발실에 머리를 추가하는 것만으로 속도가 빨라질 것이라고 기대했습니다. .

그것은 당신과 당신의 상사를 까다로운 위치에두기 때문에 불행한 일입니다.

그는 아마도 그가 후배에게 맡길 수있는 일이 없을 수도 있고, 노인들도 일상에서 멀어 질 수는 없습니다. 쉬운 방법은 주니어에게 많은 비 개발 작업을 제공하는 것입니다. 그는 또한 수석 개발자의 시간을 낭비하고 싶지 않습니다.

그러나 이로 인해 몇 가지 문제가 발생합니다.

첫째, 그가 당신에게 제공하는 일종의 devops 작업에는 실제로 선임 개발자가 필요합니다. 특히, 빌드 서버는 소프트웨어를 구축하는 사람이 어디에 문제가 있는지 알고 있어야합니다.

둘째, 주니어는 더 유용하지 않습니다. 5 년이 지난 후에도 실제 개발 작업을 신뢰할 수 없기 때문에 여전히 동일한 작업을 수행하게됩니다.

셋째, 후배는 (당신이있는 것처럼) 그들이 자신의 경력을 돕고 있지 않다는 것을 깨닫게됩니다. 후배가 경험이 낮고 찾는 것이 아니라 품질이 낮다는 가정은이 산업에서 끔찍하지만 매우 흔한 실수입니다.

그렇습니다. 상사와 함께 앉으십시오. 그러나 그가 처한 처지를 이해하십시오. 모든 사람의 문제를 해결하는 어떤 준비를 할 수 있는지보십시오. 시니어 멘토가 필요하며 현재 진행중인 업무 중 일부는 시니어에게 전달되어야합니다. 이로 인해 프로젝트 속도가 느려지지만 장기적으로는 성과를 거둘 수 있습니다. 그것이 당신의 상사, 그리고 아마도 그들의 상사에게 가야 할 요점입니다. 또한 비용을 줄이기 위해 제공 할 수있는 것을 찾을 수 있는지 확인하십시오.

당신이 할 수 없다면 다른 곳을보고 싶을 수도 있습니다.


이들은 "고급 개발자"작업이 아닙니다. 이 (jenkins)는 지침을 따르고 있습니다. 선임 개발자는 경험을 통해 경로를 결정하고, 주니어 개발자는 경로를 따릅니다. 주니어 개발자가 젠킨스를 설치하는 것에 대해 불평했다면 다른 주니어 개발자를 찾고 싶습니다. 설정하는 데 걸리는 시간은이 질문을 게시하고 응답을 읽는 시간보다 짧습니다. (나는 hudson / jenkins를 여러 번 설정했기 때문에 알고있다. 그리고 데이터베이스 복제. 여러 번 Sooo.) "그냥해라."그러면 당신은 방법을 알게 될 것이다. 당신이 아무것도하는 법을 배우지 않고 리드를 기대한다면, 당신은 훈련의 PHB에 지나지 않습니다.
마이클

@michael_n : 완전히 동의하지 않습니다. 안전한 원 클릭 배포 등을 허용하면서 모든 개발자의 노력을 줄이는 방식으로 Jenkins를 설정하는 것과 전체 빌드 환경을 설정하는 것에는 차이가 있습니다. 이는 주니어가 제공하는 것의 차이점입니다. 빌드 서버 설정 요청시 Senior가 제공하는 내용
pdr

...하지만 아직 동의합니다. "Jenkins 설정과 전체 빌드 환경 설정에는 차이가 있습니다." 바로 그거죠. 그래서, 당신이 질문을 문자 그대로 해석하는지에 달려 있습니다. 젠킨스 설치는 오후입니다. make / ant / maven 빌드를 설정하는 데 며칠이 걸리며 쉽게 몇 주가 될 수 있으므로 올바르게 수행해야합니다. 훌륭한 관리자는 경험에 따라 문제를 해결하고 위임 할 수 있습니다 (이 점에서 저는 과거에 나쁜 관리자였으며 실제로 더 빠르기 때문에 모든 것을 스스로 선택했습니다. 그러나 그것은 확장되지 않습니다. 팀 "은 진화하지 않습니다.)
michael

@michael_n : 무슨 말인지 알겠습니다. 관리자에 대한 기대치가 낮은 경향이 있습니다. 특히 미래 계획보다는 재정적 인 이유로 주니어를 고용하는 사람.
pdr

7

"Software Developer"라는 용어는 "Programmer"와 동의어입니다. 따라서 소프트웨어 개발자는 코드를 작성하는 것이 주된 책임이있는 사람입니다. 첫 번째 직업에서 제목은 "개발자"였으며, 주된 책임은 소프트웨어를 디자인하고 코딩하는 것이 었습니다. 그러나 나는 그 용어의 정확한 정의가 없다고 생각합니다. 그것은 사람들마다 다르게 사용되므로 그 의미는 흐려집니다.

그러나 개발 팀이 효율적으로 작업하려면 CI 서버, SQL 복제, 테스트 서버에 배포, 테스트 서버 모니터링, 빌드 아카이브 등을 설정해야합니다. .

이러한 작업은 프로젝트 초기 단계에서 많은 시간이 걸리지 만, 좋은 설정을 실행하면 더 적은 시간이 걸립니다.

불행히도 개발자는 빌드 서버를 관리하는 것보다 코드를 작성하는 것이 좋습니다. 따라서 고위 개발자가 더 중요한 작업을 수행하기 때문에 이러한 지루한 작업은 후배 개발자의 손에 달려 있습니다.

기술을 평가하는 수단으로 이러한 작업을 사용하는 회사는 경험하지 못했습니다.

현재의 책임에 불만이 있다면, 귀하의 라인 관리자에게 문제를 해결하는 것이 좋습니다.


1
조건에 따른 차이가 .
Bernard

1
도에 따르면
smp7d

2

때에 따라 다르지. 다른 회사들은 이것을 다르게 정의하고 일부는 기술 기능의 배열에 대한 포괄적 인 용어입니다. 일부는 제목 일뿐입니다. 전에도 같은 질문을하면서 "개발자 만이이 기능을 수행 할 수있는 능력이 개발자에게 있습니다"라는 대답을 얻었습니다.

이론적 인 대답은 개발자 (코더 / 프로그래머와 비교)는 "무언가 코딩"과 관련이 없어도 "문제를 해결하는"사람이라는 것입니다.

더 많은 코딩 작업을 원한다면 관리자에게 더 많은 코딩 작업을 요청하거나 코딩으로 수행하는 작업 중 일부를 수행 하시겠습니까? 운영 관련 사항을 언급 했으므로 일부 기능은 DevOps 프레임 워크 ( chefpuppet 확인)로 수행 할 수 있습니다. 이 기능을 사용하면 기능을보다 효율적으로 개발할 수 있습니다.


2

개발자가 일부 시스템 관리 기술 을 보유하는 것은 드문 일이 아닙니다 . 선임 개발자 인 저는 약 5 %의 시간이 그러한 작업에 소비되는 것으로 추정합니다.

당신이 일을하지 않는 경우, 어떤 코딩, 그때는 아마 코딩 작업을 얻기에 관하여 당신의 관리자에게 문의해야합니다. 결국 코딩 경험을 쌓고 싶습니다. 또한 시스템 관리자보다 프로그래머로서 더 가치가 있습니다.


1

코드는 응용 프로그램에 제대로 내장되어 있지 않거나 올바른 데이터에 액세스하지 않으면 크게 유용하지 않으므로 나열된 활동이 개발자의 작업과 일치하는 것처럼 보입니다. 소프트웨어 개발자들도 문서화와 테스트 과정에서 매우 혼동된다고 덧붙여 야합니다. 소프트웨어 제작에 필요한 활동입니다.

회사에 이러한 작업을 수행 할 수있는 전문가가있는 경우 유용하지만 그렇지 않은 경우 소프트웨어 개발자는 응용 프로그램을 프로덕션에 배포하고 지원할 수있는 모든 것을 책임집니다.


0

중소 기업의 개발자는 일부 서버 관리자 / DBA / 일반 구성 작업을 수행하는 것이 일반적입니다.

그러나 이러한 업무가 대부분의 책임이되기 시작하면 경력 목표에 따라 고려해야 할 수도 있습니다. 일반 기술자로서 특정 회사 내에서 번창 할 수 있지만 새로운 회사로 이사해야 할 경우 전환 과정에서 많은 문제가 발생할 수 있습니다. 전통적인 개발을하고 있지 않다면, 이력서에서이를 분명히해야합니다. 당신이 묘사 한대로 일을 마친 후 곧바로 발전하기를 원한다면, 업계에서 몇 년 동안 "과도한"자격을 가진 것을 받아 들여야 할 수도 있습니다.

반면에 다양한 기술을 가진 개발자를 찾는 회사가있을 수 있습니다. 그러나 현재 인터뷰에서 코드를 작성하는 추세에 따라 일단 작업에 코드가 거의 필요하지 않더라도 최고의 코딩 기술이 필요합니다.

현재 위치에 갇히고 싶지 않으면 곧 상황을 해결하려고 노력할 것입니다.

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