고급 소프트웨어 개발의 동적 특성에 어떻게 대처하십니까? [닫은]


25

본인은 고급 소프트웨어 개발자라고 생각합니다. 나는 많은 것을 읽는 것을 즐깁니다. 그리고 그것은 저의 경력 과정에서 도움이되었습니다. 잘 지내고 있다고 생각합니다.

지금은 새로운 것을 배우는데 많은 시간을 보냅니다. 지금은 코드를 작성하는 데 어려움을 겪지 않지만 가족을 시작하려고합니다. 14-15 년의 경험을 가진 많은 노인들을 정기적으로보고 있습니다. 프로그래밍에서. 그들은 어떤 시점에서 영감을 얻은 인물이지만 더 이상은 아닙니다.

기본 사항은 절대 변하지 않는다고 주장 할 수도 있지만 10 년 동안 Delphi에서 코딩 할 때 갑자기 모든 사람이 .NET 프레임 워크를 사용하는 경우에는 차이가있는 것으로 보입니다. 숙련 된 개발자가 새로운 프레임 워크를 배울 때 시간이 덜 걸리지 만 여전히 시간과 노력 필요합니다.

소프트웨어 개발자는 가족의 시작과 같이 직장에서 반드시 필요한 일에 집중할 수있는 동시에 직업의 요구를 어떻게 관리합니까?


1
특이점을 관리 할 수 ​​없다고 생각하십니까? 좋은 개발자라면 누구나 가능합니다! -농담, 내 말을 듣지 마세요 ...
Klaim

답변:


30

"나는 14-15 년의 경험을 가진 많은 노인들을 정기적으로 본다. 그들은 지금 프로그래밍에 빠진다"고 말했다. 그것은 경험을 가진 사람들을 페인트하기 위해 사용하는 꽤 광범위한 브러시 스트로크입니다. 고려해야 할 몇 가지 사항을 지적하고 싶습니다.

  • 젊거나 경험이없는 실무자들은 선배들이 X 나 Y를 어떻게하지 못하는지를 지적하는데, 경험이 그 아이디어가 나쁜 것으로 나타났음을 이해하지 못하는 경우. 그러나 각 세대의 실무자들은 이러한 실수를 반복하고 싶어하는 것 같습니다. 이 현상은 프로그래밍뿐만 아니라 모든 직업에 공통입니다.
  • 수년 동안 일한 모든 사람들이 경험이 많고 성숙하거나 선한 것은 아닙니다. 더 나아지기 위해서는 노력이 필요합니다. 어릴 때 많은 노력을 기울이면 나중에 경험할 수있는 좋은 경험을 쌓을 수 있습니다.

아마도 당신이 말하는 사람들은 결코 좋지 않았습니다. 그들이 당신을 생각하고있는 것이 가능한 한, 왜 어려운 일을한다고 주장 하는가?

그러나 가족을 시작할 때 새로운 장난감을들이는 데 훨씬 적은 시간이 걸린다는 것은 사실입니다. 자녀가 어릴 때보 다 나이가 들수록 실제로 시간 이 줄어 듭니다 . 장난감은 더 나은 프로그래머가되지 않습니다. 도구도 마찬가지입니다. 좋은 점은 문제를 해결하고 효과적인 솔루션을 구축하는 능력입니다. 당신을 위대하게 만드는 것은 다른 사람들에게 선을 가르치는 능력입니다. 그곳에서 경험이 빛나기 시작합니다.


1
downvote를 정교하게 관리 하시겠습니까? 내가 말한 것을 좋아하지 않을 수도 있지만 사실입니다.
Berin Loritsch

4
인식 그가 가지고 그의 수수께끼의 큰 부분이다. 내가 한 것은 그 인식을 직접 다루는 것이었다. 요컨대, 나는 노련한 좋은 개발자 가되는 그의 능력보다 도구 추적에 더 관심이 있습니다. 그는 심지어 될 수 있습니다 위대 . 그의 모든 경험에 따르면 나이 많은 개발자가 짜증을내는 것은 일어나지 않을 것입니다. 그가 원하는 곳에 도착하기 위해 노력하는 것은 끔찍한 파괴자입니다.
Berin Loritsch

1
@Berin Loritsch : 이건 좋은 지적입니다. 당신의 의도는 좋았습니다. // 미국에서는 너무 많은 사람들이 일반화를 위해 다른 사람들을 꾸짖기 위해 스스로를 여행합니다. 나는 당신이 이것을하고있는 것처럼 보였기 때문에 당신의 응답을 예외로했습니다.
Jim G.

1
시간이 지남에 따라 배우는 것은 새로운 기술을 배우는 데 시간을 투자하고 기술을 무시할 때입니다. 결론은 시간이 소중한 자원이라는 것입니다. SOAP / XML RPC가 처음 나왔을 때 실제로 무엇을하는지 말하기에는 너무 이르다. 이제 몇 년 동안 벨트를 사용하면서 고통스러운 교훈을 얻었으며 REST 기반 서비스로 접근 방식을 수정했습니다. 게다가, 우리 노인들에게는 학습에 시간을 투자 할 가치가있는 것을 알아 내기 위해 무한한 에너지를 가진 젊은이들이 필요합니다. 방아쇠를 당기는 데 약간 느려질 수 있지만 속도를내는 데 시간이 오래 걸리지 않습니다.
Berin Loritsch

2
@Berin Loritsch : 아마도 나는 지금 그것을 얻는다. 사실, 나는 문제 해결과 관련하여 단순히 흔들리는 일부 노인 (현재 상사 포함)을 보았습니다. 내가이 프레임 워크를 사용하여 X를 쉽게 할 수 있다고 말하면 그는 기쁨으로 뛰어 들지 않지만 실제로 유용하다고 볼 때 그것을 사용하는 것을 두려워하지 않습니다. 아마 좋지 않은 다른 노인들은 결코 그렇지 않았기 때문에 좋지 않습니다. 새로운 기술 때문에 연락이 끊 겼기 때문이 아닙니다. 나는 지금 훨씬 나아졌다. (내가 쓴 것이 의미가 있기를 바랍니다)
Hemant

20

미래를 예측하기는 어렵습니다. 그러나 기술에 관계없이 가장 중요한 것은 확실한 것입니다.

문제를 해결할 수 있는 개발자의 능력 입니다.

많은 개발자 품질은 기술에 독립적입니다. 예를 들어 분석 능력 은 내가 아는 가장 중요한 품질입니다. 수학을 배우는 것과 같습니다. 그것은 영원합니다.


1
예, 사용 가능한 도구 / 기술이 문제를 해결 하지 못하는시기를 알 수있는 능력 / 정직 . 새로운 것을 배우고 "문제 해결 능력"으로 돌아갑니다.
피터 로웰

1
어 .. 이건 좀 모호하고, tbh, 약간의 copout입니다. 개발자가 여전히 vb6에서 "문제 해결"에 만족한다면 ... 글쎄, 나는 그들의 코드로 작업하고 싶지 않습니다. 현재를 유지하는 것은 미래를 예측하는 것이 아니며 시간 / 근로가 필요하며 가족이있을 때 기회가 적습니다.
Steven Evers

5

나는 긍정적이거나 구체적으로 생각하기를 원하지만 프로그래머가 최신 상태를 유지하고 일과 가정의 균형이 프로그래머마다 다르다는 것을 생각합니다.

임의의 생각 :

  • 모든 소프트웨어 프로젝트 나 회사가 소프트웨어에서도 절대적인 최신 기술을 필요로하는 것은 아닙니다. 변화의 최전선에서 가장 급격한 변화가 일어납니다. – 최첨단에 약간 뒤쳐져있는 회사는 종종 성장과 변화의 기회가 많지만 지속적인 변화에 대한 광범위한 긴급한 요구는 없습니다.
  • 프로그래머가 경험이 많을수록 최신 / 최고의 유행어 대신 경험을 활용할 수 있어야합니다. 업계에서 20 년 이상 가장 존경하는 사람들이 최신 C #이 80 년대 후반의 C에 대한 문제에 대한 완벽한 해답이되는 방법에 대해 많은 은유를 가지고 있음을 알게되었습니다. 이전 문제와 해결책을 활용함으로써 그들은 적은 연구로 테이블에 대한 이해를 높이십시오.
  • 팀에서 프로그래머를 평가해야 할 때마다 일을 끝내고 다른 사람들과 잘 어울리는 능력은 프로그래머가 일하게 된 다양한 기술을 능가했습니다. 업계가 경쟁하는 새로운 언어, API 및 도구를 많이 발전시킬지라도 프로젝트 는 한 번에 경쟁 업체 만 사용할 가능성이 높습니다 . 그러나 IM, 소셜 미디어, 스마트 폰 및 기타 디지털 시대의 모든 것이 프로그래밍의 측면을 바꾸지 않는 것이 아니라 일을 끝내고 다른 사람들이 똑같이 행동하도록 돕는 것은 결코 스타일에서 벗어나지 않고 어떻게 진행되는지 훨씬 느리게 발전합니다. .

3-4 년이라고 말하면, 최첨단 뒤에서 약간의 퍼터를 운영하는 회사에서 일하는 것도 흥미로울 수 있습니다. 다른 사람들이 저지른 실수를보다 명확하게 볼 수 있으며보다 성숙한 도구와 구현을 활용할 수 있습니다.
Michael K

동의한다. 나는 실제로 나 자신보다 조금 뒤에서 일하고 있으며, 나는 그것을 시도하기 전에 다른 사람들이 머리에 대고 머리를 때렸다는 것을 알고 싶다. :)
bethlakshmi

5

첫째, Microsoft는 해당 소프트웨어를 실행할 소프트웨어 개발 도구 및 플랫폼을 판매합니다. 이것은 그들이 필요하든 없든 변경하도록 장려합니다. 그것은 모든 변화가 쓸모 없다고 말하는 것이 아닙니다. 단지 우리의 직업에 훨씬 더 안정적인 영역이 많이 있다는 것입니다. 경험을 통해 어떤 밴드 왜건이 즉시 뛰어 올라야하는지, 그리고 어느 정도 성숙 할 때까지 기다릴 수 있는지 더 잘 알 수 있습니다.

둘째, 경험에는 시간이 필요합니다. 15 년의 경험이있는 대부분의 개발자는 15 년 전에는 나빴습니다. 무능에 의해 적절하게 설명 할 수있는 것을 노화에 오도하지 마십시오.

셋째, 구식 지식을 필요로 할 때 최신의 가장 큰 것을 사용할 수 없다는 것을 혼동하지 마십시오. 거기에 무엇이 있는지 아는 것만으로도 충분합니다. 예를 들어, 최근까지 내 웹 프로그래밍 지식은 90 년대 후반에 빈티지했지만 형제를위한 웹 사이트를 구축하고 싶을 때 CSS, jQuery 및 콘텐츠 관리 시스템과 같은 "새롭고 새로운"기술을 확인하기에 충분했으며 몇 주 안에 속도를 올릴 수 있습니다. 다시 말해서, 지난 10 년 동안 무언가가 필요하지 않았다면 지금 당장 속도를 높이고 싶은 비상 사태는 없을 것입니다.

마지막으로, 부모가되는 것은 정말로 큰 시간의 헌신이지만, 많은 어린이가없는 사람들보다 생각하는 것보다 적은 시간입니다. 부모는 여전히 책을 읽고, TV를보고, 게임을하고, 웹 서핑을하고, 때로는 수업을 듣습니다. 쇼커, 알아 당신은 그것을 작은 부분으로하고 우선 순위를 정합니다. 내가 완전히 포기한 것은 재실행을 보는 것뿐입니다.


3

10 년에서 15 년 후에 프로그래밍 기술이 열악한 사람들은 실제로 소프트웨어 개발을 내면화하지 않았 음을 확신 할 수 있습니다. 도구 세트를 마스터하는 것은 소프트웨어 개발 기술을 마스터하는 것과 다릅니다.

저는 30 년 이상 코드를 작성해 왔습니다. 나는 외부 의무 및 / 또는 이익으로 인해 오토 파일럿에 경력을 쌓아야하는 여러시기를 겪었습니다. 나이가 들어감에 따라 배워야 할 것은 기술 악 대차에 일찍 뛰어 들지 않는 것입니다. 대부분의 기술은 과대 광고에 부응하지 못합니다. 직장 밖에서 의무가있는 고령의 실무자로서 자신의 시간에 인색해야합니다. 숙련 된 실무자는 소프트웨어 개발 기술을 이미 마스터했기 때문에 새로운 기술이 성숙하기까지 몇 년을 기다릴 여유가 있습니다.


새로운 기술이 성숙 할 때 업데이트를 유지하는 것이 어렵지 않습니까?
Hemant

1
이 산업은 주기적입니다. 대부분의 신기술은 오래된 아이디어를 다시 포장하는 것 이상입니다. 펀더멘탈이 강하면 유지하는 데 아무런 문제가 없습니다. 소프트웨어 엔지니어로서 적절한 생활을하기 위해 최첨단 기술을 사용할 필요는 없습니다.
bit-twiddler

2

오랜 세월에 걸친 경험 :

  • 언어가 변경되었습니다 (보통 비교적 느리게).
  • 실제로 해결 될 수있는 문제의 범위가 커졌습니다 (약간 더 빠름).
  • 솔루션의 크기와 복잡성이 증가했습니다 (상대적으로 빠르게).
  • 무언가가 있습니다 flavor of the day(때로는 좋고 때로는 나쁩니다).

패턴에 대한 논의에서 언급했듯이, 4 명의 갱은 패턴을 발명하지 않았습니다. 그들은 이미 적용되는 솔루션에 대한 용어 및 템플릿을 생각해 냈습니다.

다른 많은 분야와 달리 여전히 일반적인 관행은 아닙니다. 나는 많은 최첨단 물건들이왔다 갔다하는 것을 보았다. 이것들 중 다수는 이미 실제로 사용 된 기술을 표현한 것이며 대개 어느 정도 성공했습니다. 다른 사람들은 어느 정도 사라졌으며 대부분 새로운 접근 방식이 있습니다. (최근에 5 세대 언어를 본 사람이 있습니까?)

내가 가장 효과적인 프로그래머는 검증 된 구성 요소를 선택하여 작동하는 솔루션으로 조립할 수 있습니다. 여기에는 일반적으로 프로젝트 위험을 증가시키는 첨단 기술이 거의 포함되지 않습니다. 이미 수행 된 작업을 기반으로하는 기능을 통해 가능한 범위를 확장 할 수 있습니다.

프로그래밍 언어는 상대적으로 적은 가족에 속합니다. 가족 중 한 언어를 잘 알고 있으면 비슷한 언어로 쉽게 작업 할 수 있습니다. 언어로 제공되는 라이브러리를 이해하고 활용하면 생산성과 신뢰성이 크게 향상 될 수 있습니다. 일반적으로 적절한 라이브러리가없는 새로운 언어보다 적절한 라이브러리가있는 오래된 언어를 선택합니다.

새로운 기술을 적용 할 때 Because We Can 증후군 . 올해의 맛이기 때문에 새로운 기술을 추가하면 해결하는 것보다 더 많은 문제가 발생하는 경향이 있습니다. 기술이 실제 문제를 해결할시기와 복잡성을 추가 할시기를 아는 것은 유용한 기술입니다.

정말 좋은 프로그래머는 새로운 문제를 해결하고 나머지는 기존 솔루션을 사용합니다. 최첨단 기술을 필요로하는 회사는 거의 없으며 모두 견고한 솔루션이 필요합니다.

나는 보통 면도날을 미끄러 져 내리는 것을 후회한다. 입증 된 기술을 사용하여 후회 한 적이 있습니다. 그러나, new기존의 무언가를 재 포장 하는 것으로 설명되는 많은 것들이 있습니다. 일반적으로이 리 패키징을 통해 상황을보다 쉽게 ​​이해하고 적용 할 수 있습니다.


2

아무도 모든 것을 따라갈 수 없습니다. 아마도 Microsoft 제품을 사용하는 데 바빴을 것입니다. RAILS 및 Python 및 NoSQL 데이터베이스와 Hadoop 및 모바일 앱 작성, CSS 및 HTML5, jQuery 및 ExtJS 및 Ruby에서 Ruby를 살펴 보셨습니까?

나는 꽤 오랫동안 소프트웨어를 사용했습니다. 나는 대규모 병렬 데이터베이스에 대한 새로운 아이디어와 같은 정말 새로운 기술을 유지하려고 노력하고, 추악한 것 (예 : MFC, WinForms, SOAP, XML, EJB)과 가능한 사소한 것을 무시합니다. 대부분 우리는 단지 훌륭한 오래된 아이디어가 재 포장되고 마침내 채택되는 것을 본다. 기능적 프로그래밍? 1977 년에 INTERLISP를 사용하고있었습니다. 휴대폰 앱? 우리가 30 년 이상 해왔 던 것과 같은 이벤트 중심 UI 및 2D 그래픽입니다. 물론 작은 터치 스크린에 사용할 수있는 앱을 디자인하는 기술이 있지만 프로그래밍은 전혀 새로운 것이 아닙니다.


1

귀하의 기술이 귀하의 언어 영역이 아닌 문제를 해결하는 데 @Amir에 동의하지만 귀하의 우려에 감사드립니다.

현재 언어를 자유롭게 선택할 수 있다면 가능한 한 첫 번째 원칙에 가까운 것을 선택하십시오 (예 : C ++ 유형 언어) 직업이 새로운 영역으로 밀릴 때 학습 곡선은 적습니다. 당신 위에 추상화. 현재 고급 언어에만 투자하면 추상화를 내리는 것이 훨씬 어렵습니다 (지각 만해도).

만약 당신이 그 feedom을 가지고 있지 않다면 간단히 직장에서 8 시간을 최대한 활용하십시오. 당신의 열정이 높으면 "고착"되지 않을 것입니다. .


1

작업과 원하는 작업에 따라 다릅니다. 개발자들이 여전히 오래된 기술을 사용하고있는 입장이 있습니다. 여전히 많은 코볼이 계속되고 있습니다 (뭔가 바뀌었을 것입니다.).

앞에서 설명한 것과 같이 주요 스위치를 사용하는 회사에서 근무하면 일부 사람들이 업무에서 벗어날 수 있습니다. 때로는 회사에서 교육을받는 대신 투자를해야하는 경우도 있습니다.

가족이 있으면 직업 선택이 제한 될 수 있습니다. 덜 모바일로 만들 수 있습니다. 아이들과 모기지가 아닌 큰 월급 날을 희망하여 급여의 절반을 처음 시작할 때 일할 수 있습니까?

새로운 것이 항상 더 좋은 것은 아니며 많은 사람들이 지속되지 않습니다.


1

나는 의료 분야에 있지 않지만 개발자와 의사의 비유는 어떻습니까? 두 분야 모두 지난 20 년 동안 엄청난 변화를 겪었으며 변화 속도는 더욱 빨라졌습니다. 모든 의사는 계속 유지합니까? 아니요. 모든 개발자가 계속 활동합니까? 14-15 년의 경력을 가진 개발자 나 의사에 대해 일반화 할 수 있습니까? 경험이 많을수록 유사한 문제에 대한 답변이 더 많아집니다. 경험이 관심보다 우월합니까? 장기적으로는 아닙니다.

계속 수영하거나 죽어야하는 상어처럼 생각하십시오. 계속 배우거나 죽는다 (또는 개발 경력 라인이 약 10-15 년에 정점에 이르면 경영진으로 이동).


본인이 살고있는 상황에 대해서는 잘 모르겠지만 호주에서는 의료 전문가가 등록을 유지하기 위해 지속적인 교육 및 시험에 참여해야합니다 (따라서 의약품을 연습 할 수있는 능력).
Sedate Alien

0

나는 내 마음의 뒷면에 같은 관심사를 가지고 있지만, 이것에 대한 나의 최근 생각은 적응하고 적응하는 능력을 예측하는 것을 멈추는 것입니다. 나는 내가 유지할 수 있다고 가정하면 보통은 할 뿐이라는 것을 알았습니다. 내가 구식이되는 것에 대해 걱정한다면, 그것은 자기 성취적인 예언이 될 수 있습니다.

당신이 말했듯이, 발가락에 남아 있습니다. 그리고 유지할 수 없다면 너무 땀을 흘리지 마십시오. 테크놀로지에는 재미난 방법이 있습니다. 주류에서 뛰어난 성능을 발휘할 수 있습니다.

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