오래된 기술로 개발하면 어떤 이점이 있습니까? [닫은]


28

작은 배경 :

Windows XP를 사용하고 VB6 / VB.Net에서 Winforms를 코딩하고 VB.Net에서 일부 WebForms (95 % 유지 관리 코드)를 코딩하는 대기업에서 일하고 있습니다. 하나의 4 : 3 19 "화면이 있습니다. 최신 버전의 Windows는 곧 나오지 않을 것이며 그 소리에 의한 그린 필드 작업도 아닙니다!

회사에 입사했을 때 나는 이것에 대해 아무 말도하지 않았으며, 훨씬 더 최신 기술과 프레임 워크로 작업 할 것이라고 생각하게되었습니다.

최신 프레임 워크 및 기타 프로그래밍 언어를 사용하여 이전 작업에서 얻은 최신 경험을 보유하고 있으며 다른 회사의 개발자 친구를 따라 잡을 때 최신 ASP MVC 프레임 워크를 사용하는 방법에 대해 들었습니다. 방랑자 / 루비 온 레일즈 / 등 나는 녹색 눈을 얻고 있습니다!

나는 다른 직업과 아주 빨리 정리할 수 있었지만이 기회를 한 번 더 주어야 할 것 같은 느낌이 든다.

질문 :

나는 나의 현재 직업이 그렇게 나쁘지 않다는 것을 스스로 확신 시키려고 노력하고있다. 이런 역할의 장점은 무엇입니까? 오래된 기술로 작업 할 때 이점이 있습니까? 더 현대적인 기술로 작업하지 않는 기술이 있습니까? 아니면 직업이 죽는 곳입니까, 여전히 영혼이있는 동안 나가야합니까?


1
핵심 질문에서 개인 이력을 깨끗하게 분리하기 위해 질문 본문을 다시 작성하고 싶을 수도 있습니다.
DougM

2
로켓을 만들고 있거나 항공 교통 관제를하고있는 것처럼 가장 할 수 있습니다. 이러한 필드는 일반적으로 모든 버그가 수정되었거나 알려진 시점에서 매우 오래된 기술을 사용합니다. 그러나 로켓이나 항공 교통 관제 엔지니어조차도 10 피트 폴로 VB6을 만지지 않습니다. :)
DXM

3
고용 안정? ....
Robert Harvey

2
저는 10 년 전에 델파이 방식으로 코딩했습니다. 나는 그것을 즐겼다. 그것은 좋은 언어 였고 VB 마당보다 낫지 만 일이 진행되는 것처럼 보이지는 않았다. 나는 뛰어 올랐다. 그러나 오늘날까지 델파이 일자리는 계속해서 버블 링을하며 좋은 돈을 지불하고 있습니다! 댕
MrWhite

11
나는 당신이 나쁜 상황을 최대한 활용하려고 노력하고 있다는 사실에 감탄하지만, 당신의 현재 직업이 그렇게 나쁘지 않다는 것을 확신하려고 시도하지 마십시오. 경험에서 말하기 : 오래된 기술을 사용하는 직장에서 너무 오래 머물고 쉽게하는 구멍에 돌 수 정말 취업 지혜의 자신을 발굴하기 어렵다. 최소한 가능하다면 더 현대적인 기술로 놀아보십시오.
Evicatos

답변:


26

내가 듣는 것은 최신 ASP MVC 프레임 워크 또는 Vagrant / Ruby on Rails 등을 사용하는 방법에 관한 것입니다.

아, 그러나 그들은 장난감을 가지고 놀고 있으며, 솔루션을 달성하기 위해 일을하는 도구를 사용하여 실제 작업을하고 있습니다.

그것은 당신이 고려해야 할 것입니다-소프트웨어는 종종 멋진 새로운 기술에서 다음 최신 유행으로 뛰어 드는 사람들과 아마추어 일입니다. 그런 다음 도구가 사용자가 만든 제품이나 솔루션만큼 중요하지 않은 훨씬 전문적인 경력으로 취급하는 사람들도 있습니다.

오래된 기술을 새로운 것으로 교체해야하는 곳이 있지만 일반적으로 도매 교체가 아닌 단지 업그레이드 일뿐입니다. 예를 들어 VB6은 VB.NET으로 업그레이드되고 Visual Studio 2002는 Visual Studio 2012로 업그레이드됩니다. 완전히 다시 작성하는 사람은 항상 새로운 도구를 사용하여 그다지 환상적이지 않다는 것을 알게됩니다. (그래서 Joel은 다른 사람들 중에서도 다시 쓰기가 항상 잘못된 대답이라고 말합니다)

최신 완구로 게임을하고 싶어서가 아니라 (어쨌든 곧 버려 질 것이므로, 절대적으로 원하는 것을 유지하는 것입니다.) 작년의 멋진 기술 로 코딩 한 사람들이 작성한 시스템 )


1
DOS가 Windows NT로 업그레이드 된 것보다 VB6이 더 이상 VB.NET으로 업그레이드되지 않았습니다. FWIW.
DougM

21

실제로 회사가 오래된 기술을 고수하는 데는 몇 가지 이점이 있습니다.

  1. 레거시 항목은 때때로 새로운 항목과 작동하지 않습니다

    회사는 단순히 새로운 언어 나 운영 체제에서 작동하지 않는 시스템에 많은 돈을 투자했을 수 있습니다. 전형적인 예는 IE6 및 IE6과 호환되는 많은 인트라넷 웹 앱입니다. Windows XP + IE6을 고수하고 작동 시스템을 버리고 새로운 시스템에 돈을 투자하는 것 사이의 선택은 분명하지 않습니다.

  2. 변화를위한 변화는 현명한 선택이 아닙니다

    예 : 많은 은행이 여전히 원래 COBOL로 작성된 응용 프로그램을 유지 보수합니다. 문제가 해결 될 때, 비즈니스에서 중요한 비즈니스 시스템을 다시 작성하는 비용과 시스템 오류를 일으킬 위험이 있고 새로운 버그가 많이 생기면 다른 언어로 다시 작성하기로 결정한 이유는 무엇입니까? (이유 중 하나가 아래에 설명되어 있습니다)

  3. 라이센스 비싸다

    회사에 Windows XP를 사용하는 수백 대의 데스크톱이 있다고 가정 해 봅시다. 그들은 Windows 8로 옮기기를 원합니다. Windows 8 Enterprise의 단일 라이센스 비용은 얼마입니까? 이 비용에 기계 수를 곱하면 어떻게됩니까?

    서버가 더 나빠집니다. Oracle 또는 Microsoft SQL Server 용 단일 라이센스 비용은 약 $ 30-$ 40 000입니다. 회사에 데이터베이스 서버가 50 대인 경우 볼륨 라이센스를 사용하더라도 비용이 매우 많이 듭니다.

    우리 회사에서는 Visual Studio 2010을 사용하고 있습니다. 수많은 버그로 인해 어려움을 겪고 있으며 Microsoft가이 버전을 포기한 이후로 해결되지 않을 것입니다. 그러나 다른 버전에서는 사용할 수없는 고유 한 기능으로 인해 Ultimate 버전이 필요하기 때문에 $ 13,000가 너무 커서 Visual Studio 2013으로 업데이트 할 수 없습니다.

그러나 중요한 단점도 있습니다.

  1. 유산은 새로운 인재를 끌어 들이지 않습니다

    이는 COBOL 앱을 유지 관리하는 회사의 문제 중 하나입니다. 저렴한 개발자를 찾는 데 어려움을 겪고 있습니다. 또한 메인 프레임 작업과 COBOL 코드 작성은 창조적 인 사람들에게는 매력적이지 않습니다.

    견고성을 유지해야하는 백본 시스템에 적합한 선택이지만 이러한 시스템과 언어는 지속적인 혁신이 필요한 제품에는 적합하지 않습니다.

  2. 오래된 것은 안전하지 않다

    새로운 언어로 제품을 다시 작성하면 새로운 버그가 발생할 수 있으므로 더 이상 지원되지 않는 오래된 시스템을 유지하는 것도 위험 할 수 있습니다. Windows 98에서 버그가 발견되어 전체 시스템을 손상시킬 수 있다고 상상해보십시오. Microsoft가이를 해결하기 위해 업데이트를 릴리스 할 것입니까?

  3. 레거시 바이러스 성

    레거시 시스템과 최신 시스템 간의 비 호환성으로 인해 이전 제품, 언어 또는 인프라를 고수 할 때 다른 곳으로 업그레이드 할 수없는 경우가 종종 있습니다. IE6에서만 작동하는 기존 인트라넷 응용 프로그램은 모든 데스크톱에서 Windows XP로 연결되므로 새 Active Directory 버전으로 마이그레이션 할 수 없으므로 최신 Active Directory 버전이 필요한 새 응용 프로그램을 사용할 수 없습니다. 곧.

  4. 생산력

    새로운 버전의 제품은 때로는 생산성을 향상시키는 새로운 기능을 제공합니다. Visual Studio 2013 및 .NET Framework 4.5는 향상된 Intellisense, Entity Framework 및 코드를 줄이는 수천 가지 다른 기능을 제공하기 때문에 Visual Basic 6.0에서 1 시간이 걸리는 작업은 Visual Studio 2013에서 1 시간 이내에 완료 될 수 있습니다. 코드 작성 속도를 높이고 버그가 발생할 위험을 줄입니다.

    예가 명확하지 않은 경우 여기 또 다른 예가 있습니다. Windows 3.1에서 시스템 관리자는 모든 머신을 하나씩 직접 설정합니다 (알지 못하는 자동화가없는 한). 오늘날에는 PXE 및 Windows 평가 및 배포 키트를 사용하여 몇 분 안에 수천 대의 컴퓨터에 새로운 OS 및 소프트웨어를 자동으로 배포 할 수있었습니다.

    이전 버전을 사용하면 비용이 많이들 수 있습니다. Windows 95를 사용하는 것을 좋아하는 일부 사용자에게는 분명하지 않지만 개발자, 시스템 관리자, 디자이너, 과학자 및 하드웨어 및 응용 프로그램의 힘에 크게 의존하는 다른 사람들에게는 훨씬 더 분명합니다.


Linux 및 Eclipse 또는 MonoDevelop를 사용하십시오. 라이센스 비용 : $ 0.
Demi

7

오래된 기술로 개발하는 데에는 몇 가지 장점이 있지만, 이러한 기술이 대체 기술에 대한 유창함을 잃는 데 드는 비용을 능가하는지 여부와 이들과의 작업 고통은 당신과 그들 사이의 개인적인 선택입니다.

쓸모없고 교체 된 기술로 작업 할 때의 세 가지 이점을 생각할 수 있습니다.

  1. 오래된 기술 자체에 대한 지식

    여전히 사용중인 유일한 기술은 다른 곳에서 교체하는 것보다 유지 관리 비용이 저렴하다고 결정한 기술입니다. 이러한 오래된 기술로 작업 경험을 나열 할 수 있으면 그 자체로 같은 영역에서 다른 직업을 얻는 데 도움이 될 수 있습니다. 그리고 점점 더 많은 개발자들이 갈수록 그러한 작업에 대해 청구 할 수있는 프리미엄이 높아집니다.

  2. 새로운 것을 배우는 연습을 할 수있는 기회

    다른 사람이 가르쳐 준 언어로만 프로그램 할 수 있다면 실제로 프로그래머가 아닙니다. 기술과 모델을 구형 기술에 적응하려면 새로운 기술에 적응하는 데 필요한 것과 거의 동일한 기술이 필요합니다.

  3. 왜 교체되었는지에 대한 깊은 이해

    VB.NET 또는 C #이 기술 자체에 익숙하지 않은 경우 VB.NET 또는 C #이 VB6보다 우수한 이유는 프로그래머가 아닌 HR 또는 Executive 유형에 대해 설명하기가 어렵습니다. 또한 후자에 대해 잘 모르는 경우 대체 된 내용을 학습하면 대체품이 어떻게 작성된 지 이해하는 데 도움이 될 수 있습니다.


위에서 말한 것처럼, 회사가 너무 오래된 기술로 작성된 응용 프로그램을 유지 관리해야 할 이유는 전혀 없습니다.

문서화되지 않은 버그로 인해 런타임이 실패 할 때까지 단독으로 남겨 둘 수 있다면, 한 가지입니다. 그러나 개발자가 전환 계획없이 오래된 기술에 소비하는 시간당 기업은 결국 기술 비용을 지불해야합니다.


9
"기업이 너무 오래된 기술로 작성된 응용 프로그램을 유지 관리해야 할 이유는 전혀 없습니다."에 동의하지 않습니다. 회사가 유지 보수 비용보다 더 많은 돈을 벌고 있다면 유지해야합니다. 그들은 더 현대적인 솔루션으로 교체해야하지만 돈을 벌고 쉽게 교체 할 수는 없지만 유지 관리해야합니다.
Stephen

때때로 사실이지만, 소프트웨어가 돈을 "저축"하는 대신 "돈을 버는"경우 누군가가 고객에게 장애를 겪고 있습니다.
DougM

소프트웨어는 고객의 비용을 절감하고이를 개발하는 회사를 위해 돈을 절약 할 수 있습니다. 모든 것이 사내 응용 프로그램은 아닙니다. 소프트웨어도 고객을 위해 돈을 벌 수 있습니다. Visual Studio를보십시오. 판매자 (Microsoft)와 구매자 (소프트웨어 회사) 모두에게 돈을 벌고 있습니다.
Stephen

그래, 내가 그렇게 말한 이유야 그리고 반복해서, 10 년 동안 죽은 플랫폼에 구축 된 소프트웨어를 판매하는 경우 고객은 서비스를 중단하게됩니다.
DougM

1
동의하지 않습니다. 개발자로서 항상 최신 기술을 사용하고 싶습니다. 그러나 사용자 관점에서 볼 때 유지 관리중인 이전 VB6 프로그램에서 큰 가치를 얻을 수 있습니다. 처음부터 다시 개발하는 것이 경제적이거나 실용적이지는 않지만 유지 보수 할 가치가있을 수 있습니다 (특히 틈새 시장이 매우 작은 특수 소프트웨어의 경우 더욱 그렇습니다).
Stephen

6

어느 시점에서 회사는 VB6의 수명 종료에 대해 걱정해야하지만 슬프게도 VB.NET은 약간의 숨결이 남아 있습니다.

하나의 소형 모니터에서 작업해야하는 관련 이유가 있습니까? 잘 테스트 된 기술에 대해 걱정하는 것보다 회사가 더 싼 것처럼 들립니다. 21 인치 모니터 몇 개가 버그를 도입하는 것과는 다릅니다.

당신의 기술을 날카롭게 유지하고 돈을 벌려면 빌드, 테스트 및 배포 설정을 살펴 보는 것이 좋습니다. 이것은 구축 및 배포에 레이크, 파워 쉘 및 / 또는 낸트를 사용하여 최신 기술을 도입 할 수있는 기회가 될 수 있습니다. 단위 테스트가 없으면 추가를 시작하십시오.

하루가 끝날 때 회사가 기술 분야에 있지 않으면 항상 보조 기술이됩니다. 핵심 비즈니스 운영을 보호하기 위해 안정성을 유지하는 것이 좋습니다.

나는 진로 조언을하지 않을 것이며, 다른 사람들이 그 기초를 다룰 것이라고 확신한다.



3

여러 가지 장점이 있습니다.

1) 널리 사용되지 않은 기술이 모호하지 않으면 기술에 사용할 수있는 많은 자원이있을 것입니다.

2) 회사의 다른 사람들도 변경되지 않은 기술에 정통 할 수 있기를 바랍니다.

3) 새로운 개발이 많지 않으면 이전 코드를 더 리팩토링하거나 더 빠르게 리팩토링 할 수 있습니다. 이 오래된 기술을 유지하는 상점 유형은 그것이 얼마나 끔찍한 지에도 불구하고 "작동하는"코드를 변경하는 것에 반대 할 수 있습니다.


5
코드가 작동 하면 피할 수 있으면 변경 해서는 안됩니다 . 개발자가 변경을 할 때마다 새로운 버그가 발생할 가능성이 있으며 새로운 버그는 이전 코드를 사용하는 이점을 크게 무효화합니다.
DougM

그것을위한 변화는 분명히 좋은 생각이 아닙니다. 그러나 소프트웨어가 특정 수준의 성숙도에 도달하면 응용 프로그램의 느린 부분을 조정하는 데주의를 기울이는 경우가 많습니다.
Robbie Dee

3

구식 기술의 장점이 다른 응답에서 충분히 다루어 졌기 때문에이 질문의 단점, 즉 새로운 기술 사용의 단점에 집중할 것입니다.

우리는 여전히 큰 Visual Studio 6 코드 기반을 가지고 있으며 곧 교체 될 것 같지 않습니다.

그러나 우리는 새로운 개발을 위해 할 수있는 새로운 기술을 개발하고 있습니다.

당신이 암시하는 것처럼 COM을 사용하여 레거시 VB6 코드와 잘 어울리는 VB.NET을 작성할 수 있습니다.

최첨단 기술을 사용하는 것은 종종 상당한 생산성 이점을 가져다주기 때문에 재미 있습니다. 그러나 단점은 며칠 / 주를 되돌려주는 버그 / 결함을 발견 할 수 있다는 것입니다. 이유 때문에 출혈 가장자리라고합니다!

회사가 소프트웨어를 업그레이드하기 위해 돈을 버는 경우에도 (개인 경험에서 찾은 바와 같이) 회사가 선택하는 방식에 약간의 드래그가 될 수 있습니다.

소프트웨어 포트

소프트웨어는 다시 작성되었지만 사용자를 화나게하지 않기 위해 이전 소프트웨어와 정확히 동일하게 표시되어야합니다. 새로운 GUI 마법사를 사용할 수 없다는 사실로 인해 새로운 기술로 작업하는 즐거움이 무시됩니다.

Visual Studio 업데이트

한 버전의 스튜디오에서는 잘 작동하지만 다른 버전에서는 작동하지 않는 코드에서 결함을 해결하는 데 많은 시간을 소비하면서 새로운 기능을 제대로 사용하지 못합니다.

기능적 마이그레이션

핵심 기능을 유지하면서 소프트웨어를 마이그레이션합니다. 이를 통해 개발자의 관점에서 최대한의 자유를 얻을 수 있지만 새로운 부가 가치 기능이 포함되지 않은 경우 회사가 그러한 운동의 가치에 의문을 제기 할 수있는 버그가 발생할 수 있습니다.

대부분의 개발자를위한 열반은 현대 기술에 대한 양질의 교육, 배운 내용을 연습 할 수있는 기회,이를 해결하기위한 그린 필드 프로젝트입니다.

당신이해야 할 일은 크게 당신의 사람의 유형에 달려 있습니다. Neophiles는 항상 새로운 기술로 작업하기를 원하지만, luddites는 오래된 기술이 최고라고 생각합니다. 우리 대부분은 중간에 있습니다. 편안한 곳에서 운동해야합니다. 당신이 현 상태로 살 수 있다고 생각한다면, 그렇지 않으면 지금 동전을 가져 와서 더 적합한 위치를 위해 절반을 주시하십시오.


1

이것은 정확히 당신이 요구하는 것이 아닐 수도 있지만, 몇 가지 제안이 있습니다.

가장 큰 혜택은 고용주가 마이그레이션이 필요하다는 사실을 알게되면 전문성 측면에서 고용주에게 제공 할 수있는 것입니다. XP는 올해 중단 될 예정 이므로 IT 부서에서 이미 마이그레이션 전략을 고려하고 있다고 생각합니다. (그렇지 않으면 회사가 오래 가지 않기 때문에 이력서를 준비하십시오.)

이를 염두에두고 OS / 플랫폼 마이그레이션과 함께 기본 소프트웨어 툴셋을 마이그레이션 할 경우 이점 목록을 컴파일하는 것이 좋습니다. 새로운 기술과 관련하여 ROI와 관련하여 기술적으로 정통하지 않은 관리 체인을 교육 할 수 있습니다. 관리자는 위즈 뱅 프레임 워크와 테크 토이에 대해 관심을 가지지 않지만 지속적인 유지 관리 비용, 향후 개발 등의 비교 비용에 관한 장기 계획에 관심 을 가져야합니다 .

이 같은 줄을 따라이 기회를 통해 고객 (소프트웨어를 사용하는 직원)의 만족도를 알아볼 수 있습니다. 그들은 어떤 개선을보고 싶습니까? 어떤 버그가 그들을 미치게 하는가? 효율성을 크게 향상시키는 기능은 무엇입니까? 고용주에게 기술에 대한 새로운 투자가 실질적으로 수익에 영향을 줄 것이라고 보여줄 수 있다면 Technical Migration Manager라는 제목을 얻게 될 것입니다.

그리고 그것은 모든 이력서에서 좋아 보일 것입니다.

업데이트 : 귀하는 업계에서 혼자가 아닌 것 같습니다 : " 세계 ATM의 95 %가 XP를 실행합니다 ". 실수하지 마십시오. XP는 훌륭합니다. 저는 항상 팬이었습니다. 그러나 일단 보안 패치 및 업데이트가 끝나면 XP는 은행에 적합한 제품이되지 않습니다. 귀하의 업무 (은행 고객을 위해)는 퇴직 일 이후에 XP를 유지하기 위해 연장 된 서비스 계약 또는 공격 완화로 더 많은 비용을 지불하게 될 것이라고 관리자에게 자비 롭게 그러나 지속적으로 알리는 것입니다. @RobbieDee의 링크에서 지적했듯이, 2015 년 7 월 14 일까지만 가능합니다. 이제 교체 시스템을 설계, 구현 및 배포하기에 충분한 시간입니다 (지금 시작한 경우).

(하지만 방금 전사적 인 XP 설치에서 사인온 한 사람에게이 아이디어를 판매하려고 시도하지 마십시오. 그는 귀하의 동맹이 아닙니다. 그런 판단으로, 그 역할을 수행 한 그의 시절은 번호가 매겨집니다. 더 현명한 머리가 우선합니다.)


참고로-지원은 (최소한) 2014 년 마감일을 초과했습니다 : bbc.co.uk/news/technology-25758308
Robbie Dee

답변 감사합니다. 최근에 (2013 년 후반) 회사 (은행)는 PC 리프레시를 통해 체인의 모든 컴퓨터를 Dell의 새로운 키트로 교체하는 데 많은 돈을 소비했습니다. 그런 다음 IBM 직원에게 지불하여이 모든 기계를 닦고 XP를 설치하십시오! 그들이 더 현대적인 OS로 업그레이드하기를 원한다면 그것은 황금 기회였습니다. 일반적으로 귀하의 답변은 확실한 조언이 될 것입니다. +1
prisoner24601

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