Apa keuntungan berkembang dengan teknologi yang sudah ketinggalan zaman? [Tutup]

28

Sedikit latar belakang :

Saya bekerja di sebuah perusahaan besar, menggunakan Windows XP dan coding Winforms di VB6 / VB.Net dan beberapa WebForms di VB.Net (95% kode pemeliharaan). Saya memiliki satu layar 4: 3 19 ". Versi Windows yang lebih modern tidak akan segera terjadi, juga tidak ada karya greenfield oleh suara itu!

Saya tidak diberitahu tentang hal ini ketika saya bergabung dengan perusahaan, saya salah kaprah untuk berpikir saya akan bekerja dengan teknologi dan kerangka kerja yang lebih mutakhir.

Saya memiliki lebih banyak pengalaman terkini dari pekerjaan sebelumnya, baik dengan kerangka kerja yang lebih modern dan bahasa pemrograman lain, dan ketika saya bertemu dengan teman-teman pengembang dari perusahaan lain yang saya dengar hanyalah bagaimana mereka menggunakan kerangka kerja ASP MVC terbaru, atau Vagrant / Ruby on Rails / etc dan saya mendapatkan mata hijau!

Saya bisa menyelesaikan pekerjaan saya dengan cepat, tetapi saya merasa seakan-akan saya harus memberi kesempatan ini lebih banyak.

Pertanyaan :

Saya mencoba meyakinkan diri sendiri bahwa pekerjaan saya saat ini tidak terlalu buruk. Jadi apa keuntungan dari peran semacam ini? Apakah ada keuntungan bekerja dengan teknologi yang sudah ketinggalan zaman? Mungkin beberapa teknik yang tidak saya ambil bekerja dengan yang lebih modern? Atau apakah ini tempat di mana karier pergi untuk mati, dan aku harus keluar sementara aku masih memiliki jiwa?

narapidana24601
sumber
1
Anda mungkin ingin mengucapkan kembali tubuh pertanyaan Anda, untuk memisahkan sejarah pribadi dari pertanyaan inti.
DougM
2
Anda bisa berpura-pura sedang membangun roket atau bekerja pada kontrol lalu lintas udara. Bidang-bidang tersebut umumnya menggunakan teknologi yang sangat tua karena pada saat itu semua bug sudah diperbaiki atau diketahui. Tetapi bahkan insinyur pengendali lalu lintas roket atau udara tidak akan menyentuh VB6 dengan tiang 10 kaki. :)
DXM
3
Keamanan kerja? ....
Robert Harvey
2
Saya menggunakan kode Delphi lebih dari satu dekade yang lalu. Saya menikmatinya, itu adalah bahasa yang baik, lebih baik daripada VB yardy yardy, tapi itu bukan cara yang tampaknya terjadi. Saya melompat. Namun hingga hari ini pekerjaan Delphi terus menggelegak dan mereka membayar banyak uang! Sial.
MrWhite
11
Meskipun saya mengagumi kenyataan bahwa Anda mencoba untuk melakukan yang terbaik dari situasi yang buruk, tolong jangan mencoba meyakinkan diri sendiri bahwa pekerjaan Anda saat ini tidak terlalu buruk. Berbicara dari pengalaman: tinggal terlalu lama di pekerjaan dengan teknologi yang sudah ketinggalan zaman dapat dengan mudah berubah menjadi lubang yang benar - benar sulit untuk menggali diri Anda dari pekerjaan. Setidaknya coba bermain dengan teknologi yang lebih modern di samping jika memungkinkan.
Evicatos

Jawaban:

26

semua yang saya dengar adalah bagaimana mereka menggunakan kerangka kerja ASP MVC terbaru, atau Vagrant / Ruby on Rails / etc dan saya mendapatkan mata hijau!

Ah, tetapi di sana mereka bermain dengan mainan mereka, dan di sana Anda melakukan pekerjaan nyata, menggunakan alat yang melakukan pekerjaan untuk mencapai solusi.

Itulah yang harus Anda pertimbangkan - perangkat lunak sering kali merupakan urusan amatir dengan orang-orang yang beralih dari satu teknologi baru yang keren ke mode terbaru berikutnya. Lalu ada orang lain yang memperlakukannya sebagai karier yang jauh lebih profesional di mana alat tidak terlalu penting seperti produk atau solusi yang Anda buat.

Ada tempat-tempat di mana teknologi lama perlu diganti dengan sesuatu yang baru, tetapi umumnya hanya upgrade, bukan penggantian grosir. Misalnya VB6 ditingkatkan ke VB.NET, Visual Studio 2002 ditingkatkan ke Visual Studio 2012. Siapa pun yang masuk ke penulisan ulang lengkap selalu menemukan bahwa hal-hal yang tidak begitu fantastis dengan alat-alat baru. (itulah sebabnya Joel, antara lain, mengatakan penulisan ulang selalu merupakan jawaban yang salah)

Jadi, berkonsentrasilah untuk mencapai hal-hal, dan tingkatkan di mana Anda bisa, perlahan dan hati-hati di mana itu masuk akal - bukan karena Anda ingin bermain dengan mainan terbaru (yang akan dibuang segera, dan hal terakhir yang mutlak Anda inginkan adalah mempertahankan sistem yang ditulis oleh orang-orang yang berkode dalam teknologi keren tahun lalu )

gbjbaanb
sumber
1
VB6 tidak lagi ditingkatkan ke VB.NET daripada DOS ditingkatkan ke Windows NT. FWIW.
DougM
21

Memang ada beberapa manfaat bagi perusahaan untuk tetap menggunakan teknologi yang sudah ketinggalan zaman:

  1. Barang warisan terkadang tidak berfungsi dengan barang baru

    Sebuah perusahaan mungkin telah menginvestasikan sejumlah besar uang dalam sistem yang tidak bekerja dengan bahasa yang lebih baru atau sistem operasi. Contoh klasik adalah banyak aplikasi web intranet yang kompatibel dengan IE6, dan hanya IE6. Pilihan antara bertahan dengan Windows XP + IE6 dan membuang sistem kerja dan menginvestasikan uang dalam yang baru tidak jelas.

  2. Mengubah demi perubahan bukanlah pilihan yang bijaksana

    Contoh: banyak bank masih terus memelihara aplikasi yang aslinya ditulis dalam COBOL. Ketika hal itu berhasil, mengapa sebuah bisnis memutuskan untuk menulis ulang dalam bahasa lain, mengingat biaya untuk menulis ulang sistem kritis bisnis yang besar, serta risiko untuk salah, memperkenalkan banyak bug baru? (Salah satu alasan dijelaskan di bawah)

  3. Lisensi yang mahal

    Katakanlah sebuah perusahaan memiliki beberapa ratus desktop yang menggunakan Windows XP. Mereka ingin pindah ke Windows 8. Berapa biaya satu lisensi Windows 8 Enterprise? Bagaimana jika kita mengalikan biaya ini dengan jumlah mesin?

    Bahkan menjadi lebih buruk untuk server. Satu lisensi untuk Oracle atau Microsoft SQL Server biayanya sekitar $ 30.000 - $ 40.000. Jika sebuah perusahaan memiliki, katakanlah, lima puluh server basis data, ia menjadi cepat sangat mahal bahkan dengan lisensi Volume.

    Di perusahaan saya, kami terjebak dengan Visual Studio 2010. Kami menderita banyak bug, dan kami tahu mereka tidak akan pernah terpecahkan, karena Microsoft meninggalkan versi ini. Tetapi $ 13.000 (mengingat bahwa kita memerlukan versi Ultimate karena fitur uniknya yang tidak tersedia di versi lain) terlalu tinggi bagi kita untuk memperbarui ke Visual Studio 2013.

Karena itu, ada juga kelemahan penting.

  1. Barang warisan tidak menarik bakat baru

    Itulah salah satu masalah perusahaan yang mempertahankan aplikasi COBOL: mereka kesulitan menemukan pengembang yang murah. Juga, bekerja pada mainframe dan menulis kode COBOL bukanlah sesuatu yang menarik bagi orang-orang kreatif.

    Meskipun menjadi pilihan yang baik untuk sistem tulang punggung yang harus tetap solid, sistem dan bahasa itu tidak cocok untuk produk yang membutuhkan inovasi terus-menerus.

  2. Tua bukan berarti aman

    Karena menulis ulang suatu produk dalam bahasa baru dapat memperkenalkan bug baru, menjaga sistem lama yang tidak didukung lagi bisa berbahaya juga. Bayangkan sebuah bug ditemukan di Windows 98, yang dapat membahayakan seluruh sistem: apakah Microsoft akan merilis pembaruan untuk menyelesaikannya?

  3. Warisan adalah viral

    Ketidakcocokan antara warisan dan sistem yang lebih baru berarti bahwa seringkali, ketika Anda tetap menggunakan produk, bahasa, atau infrastruktur yang lama, Anda tidak akan dapat memutakhirkan di tempat lain. Aplikasi intranet lama yang hanya berfungsi pada IE6 mengarah ke Windows XP pada semua desktop, yang berarti Anda tidak dapat bermigrasi ke versi Active Directory baru, yang berarti Anda tidak dapat menggunakan aplikasi baru yang memerlukan versi Active Directory terbaru, dan begitu seterusnya.

  4. Produktifitas

    Versi produk baru menghadirkan fitur baru yang, kadang-kadang, meningkatkan produktivitas. Tugas yang akan memakan waktu satu jam dengan Visual Basic 6.0 dapat dilakukan dalam waktu kurang dari satu jam dengan Visual Studio 2013, karena Visual Studio 2013 dan .NET Framework 4.5 membawa peningkatan Intellisense, Entity Framework, dan ribuan hal lain yang mengurangi kode yang dimiliki untuk menulis, meningkatkan kecepatan menulis kode dan mengurangi risiko memperkenalkan bug.

    Jika contohnya tidak cukup jelas, ini dia contoh lain. Di Windows 3.1, administrator sistem akan mengatur setiap mesin satu per satu, dengan tangan (kecuali ada beberapa otomatisasi yang tidak saya sadari). Hari ini, mereka akan menggunakan PXE dan Windows Assessment and Deployment Kit untuk menyebarkan dalam beberapa menit sebuah OS dan perangkat lunak baru ke ribuan mesin secara otomatis.

    Menggunakan versi yang lebih lama bisa menjadi penghalang biaya. Mungkin tidak jelas bagi beberapa pengguna yang senang menggunakan Windows 95, tetapi jauh lebih jelas bagi pengembang, administrator sistem, perancang, ilmuwan, dan orang lain yang sangat bergantung pada kekuatan perangkat keras dan aplikasi.

Arseni Mourzenko
sumber
Gunakan Linux dan Eclipse atau MonoDevelop. Biaya LIicensd: $ 0.
Demi
7

Ada beberapa keuntungan untuk dikembangkan dengan teknologi yang sudah ketinggalan zaman, tetapi apakah ini lebih penting daripada biaya yang Anda derita karena kehilangan kefasihan dengan penggantian mereka dan rasa sakit bekerja dengan mereka adalah pilihan pribadi antara Anda dan mereka.

Saya dapat memikirkan tiga manfaat dari bekerja dengan teknologi yang sudah usang dan diganti:

  1. Keakraban dengan teknologi yang lebih tua itu sendiri

    Satu-satunya teknologi lama yang masih digunakan adalah teknologi yang seseorang, di suatu tempat, memutuskan lebih murah untuk dirawat daripada diganti. Mampu membuat daftar pengalaman kerja dengan teknologi yang lebih tua dapat, dengan sendirinya, membantu Anda mendapatkan pekerjaan lain dengan bekerja di bidang yang sama. Dan karena semakin banyak pengembang yang pindah, premi yang dapat Anda bebankan untuk mengerjakannya naik.

  2. Kesempatan untuk berlatih mempelajari sesuatu yang baru

    Anda bukan benar-benar seorang programmer jika Anda hanya bisa memprogram dalam bahasa yang diajarkan orang lain kepada Anda. Mampu menyesuaikan teknik dan model Anda dengan teknologi lama membutuhkan banyak keterampilan yang sama persis yang Anda perlukan untuk beradaptasi dengan teknologi baru.

  3. Pemahaman yang lebih mendalam tentang mengapa mereka diganti

    Sulit untuk menjelaskan kepada HR non-programmer atau tipe Eksekutif mengapa VB.NET atau C # lebih unggul dari VB6 jika Anda tidak terbiasa dengan teknologi itu sendiri. Dan jika Anda tidak sepenuhnya terbiasa dengan yang terakhir, mempelajari apa yang mereka ganti dapat membantu memahami mengapa penggantian itu ditulis bagaimana mereka.


Semua hal di atas mengatakan, sama sekali tidak ada alasan perusahaan harus bertahan dalam pemeliharaan aplikasi apa pun yang ditulis dalam teknologi yang telah menjadi sangat ketinggalan zaman.

Jika itu bisa dibiarkan sendiri sampai runtime gagal karena beberapa bug tidak berdokumen, itu satu hal - tetapi setiap jam pengembang menghabiskan pada teknologi lama tanpa rencana transisi adalah hutang teknis yang pada akhirnya harus dibayar oleh perusahaan.

DougM
sumber
9
Saya tidak setuju dengan "sama sekali tidak ada alasan perusahaan harus bertahan dalam pemeliharaan aplikasi yang ditulis dalam teknologi yang telah menjadi sangat ketinggalan zaman." Jika itu membuat perusahaan lebih banyak uang daripada biaya untuk mempertahankan, maka mereka harus mempertahankannya. Mereka harus mencari untuk menggantinya dengan solusi yang lebih modern, tetapi sementara itu menghasilkan uang dan tidak dapat dengan mudah diganti itu harus dipertahankan.
Stephen
Terkadang benar, tetapi jika perangkat lunaknya "menghasilkan" uang, bukannya "menabung", seseorang membuat pelanggan mereka merugikan.
DougM
Perangkat lunak dapat menghemat uang bagi pelanggan dan membuatnya untuk perusahaan yang mengembangkannya. Tidak semuanya adalah aplikasi in-house. Heck, perangkat lunak juga dapat menghasilkan uang bagi pelanggan juga. Lihatlah Visual Studio. Itu menghasilkan uang baik untuk penjual (Microsoft) dan pembeli (rumah perangkat lunak).
Stephen
Ya, itu sebabnya saya mengatakannya seperti itu. Dan untuk mengulangi, jika Anda menjual perangkat lunak yang dibangun di atas platform yang mati sepuluh tahun, Anda merugikan pelanggan.
DougM
1
Saya tidak akan setuju. Sebagai pengembang, saya ingin selalu menggunakan teknologi terbaru. Tetapi dari sudut pandang pengguna, mereka mungkin mendapatkan nilai besar dari program VB6 lama yang sedang dipertahankan. Mungkin tidak ekonomis atau praktis untuk mengembangkannya kembali dari awal, tetapi mungkin layak untuk dipertahankan (ini terutama berlaku untuk perangkat lunak khusus yang hanya memiliki ceruk pasar yang sangat kecil).
Stephen
6

Pada titik tertentu perusahaan perlu khawatir tentang akhir hidup VB6 tetapi sayangnya VB.NET masih memiliki nafas panjang.

Apakah ada alasan terkait Anda perlu mengerjakan satu monitor kecil? Kedengarannya lebih seperti perusahaan yang murah daripada khawatir tentang teknologi yang teruji. Ini tidak seperti sepasang monitor berukuran 21 "yang akan memperkenalkan bug.

Untuk menjaga keterampilan Anda tetap tajam dan mendapatkan bayaran untuk itu, saya sarankan untuk melihat pembuatan, pengujian, dan penerapan pengaturan Anda. Ini mungkin kesempatan untuk mulai memperkenalkan beberapa teknologi baru dengan menggunakan rake, PowerShell, dan / atau nant untuk membangun dan penyebaran. Jika Anda tidak memiliki tes unit, mulailah menambahkannya.

Pada akhirnya, jika perusahaan tidak berada dalam ruang teknologi maka itu akan selalu menjadi sekunder bagi mereka. Sangat masuk akal bagi mereka untuk menjaga stabilitas untuk melindungi operasi bisnis inti mereka.

Saya akan menghindari memberikan nasihat karir, saya yakin orang lain telah membahas pangkalan.

crad
sumber
6

Bagi orang yang lebih tua, bergerak menuju akhir karir profesional mereka, menjual pengetahuan mendalam mereka tentang teknologi yang lebih tua kepada perusahaan yang masih menggunakan barang-barang lama, mungkin menarik secara finansial . Misalnya, jika Anda berpengalaman dalam PDP-11, Anda mungkin ingin pindah ke Kanada .

Namun, di awal karir Anda, saya akan merekomendasikan untuk melanjutkan.

Marcel
sumber
3

Ada beberapa keuntungan:

1) Akan ada banyak sumber daya yang tersedia untuk teknologi selama mereka tidak jelas yang tidak banyak digunakan.

2) Semoga orang lain di perusahaan akan fasih dalam teknologi karena mereka belum berubah.

3) Jika tidak ada banyak pengembangan baru, Anda dapat bekerja pada refactoring kode lama menjadi lebih bersih, atau lebih cepat. Perhatikan bahwa jenis toko yang menyimpan teknologi lama ini mungkin akan menentang perubahan kode apa pun yang "berfungsi" meskipun seburuk apa pun itu.

Aglassman
sumber
5
Jika kode itu berfungsi, itu tidak boleh diubah jika Anda bisa menghindarinya. Setiap kali pengembang membuat perubahan, ada kemungkinan memperkenalkan bug baru - dan bug baru sebagian besar meniadakan manfaat menggunakan kode lama.
DougM
Perubahan demi itu jelas bukan ide yang baik. Namun, begitu perangkat lunak mencapai tingkat kematangan tertentu, perhatian sering beralih ke bagian aplikasi yang lebih lambat.
Robbie Dee
3

Saya akan berkonsentrasi pada kebalikan dari pertanyaan ini yaitu kelemahan menggunakan teknologi baru, karena keunggulan teknologi yang sudah ketinggalan zaman telah cukup dibahas dalam tanggapan lain.

Kami masih memiliki basis kode Visual Studio 6 yang besar dan sepertinya tidak akan segera diganti.

Namun, kami terus maju dengan teknologi baru di mana kami dapat untuk pengembangan baru.

Seperti yang saya pikir Anda singgung, adalah mungkin untuk menulis VB.NET yang berinteraksi cukup baik dengan kode VB6 lama menggunakan COM.

Menggunakan teknologi canggih tidak diragukan lagi menyenangkan karena sering kali membawa manfaat produktivitas yang signifikan. Namun, sisi sebaliknya adalah bahwa Anda dapat menemukan bug / kesalahan yang membuat Anda kembali beberapa hari / minggu. Ini disebut pendarahan karena suatu alasan!

Bahkan jika perusahaan ingin menambah uang untuk memutakhirkan perangkat lunak, ini (seperti yang saya temukan dari pengalaman pribadi) dapat menjadi sedikit hambatan dalam cara mana perusahaan memilih untuk pergi:

Port Perangkat Lunak

Perangkat lunak ini ditulis ulang tetapi harus terlihat persis sama dengan perangkat lunak yang lama agar tidak mengganggu pengguna. Kegembiraan bekerja dengan teknologi baru ditimpa oleh kenyataan bahwa Anda tidak dapat menggunakan sihir GUI baru.

Pembaruan Visual Studio

Anda tidak benar-benar bisa menggunakan salah satu fitur baru dengan benar karena Anda menghabiskan banyak waktu menyetrika gangguan dalam kode di mana ia berfungsi dengan baik di satu versi studio tetapi tidak yang lain.

Migrasi fungsional

Anda memigrasikan perangkat lunak menjaga fungsi inti. Hal ini memungkinkan kebebasan terbanyak dari sudut pandang pengembang tetapi bug mungkin diperkenalkan yang dapat menyebabkan perusahaan mempertanyakan nilai latihan semacam itu kecuali jika fitur nilai tambah baru juga disertakan.

Nirvana untuk sebagian besar pengembang adalah pelatihan berkualitas tentang teknologi modern, kesempatan untuk mempraktekkan apa yang telah Anda pelajari dan kemudian proyek greenfield untuk memotong gigi Anda.

Apa yang harus Anda lakukan sangat tergantung pada tipe orang seperti Anda. Neophiles akan selalu ingin bekerja dengan hal-hal baru sementara para luddites berpikir teknologi lama adalah yang terbaik. Sebagian besar dari kita ada di antara keduanya. Anda perlu berolahraga di mana Anda merasa nyaman. Jika Anda merasa Anda dapat hidup dengan status quo maka hebat, jika tidak ambil koin untuk sekarang dan awasi terus untuk posisi yang lebih cocok.

Robbie Dee
sumber
1

Ini mungkin tidak persis seperti yang Anda minta, tetapi saya punya beberapa saran:

Saya pikir manfaat terbesar adalah apa yang dapat Anda tawarkan kepada majikan Anda dalam hal keahlian ketika mereka akhirnya menyadari bahwa mereka perlu bermigrasi. XP akan dihentikan tahun ini, jadi saya bayangkan departemen TI Anda sudah mempertimbangkan strategi migrasi. (Jika tidak, siapkan resume Anda, karena perusahaan mereka tidak akan lama.)

Dengan mengingat hal itu, mungkin lebih bijaksana untuk mulai menyusun daftar keuntungan untuk memigrasi kumpulan perangkat lunak utama sehubungan dengan migrasi OS / platform. Bantu mendidik rantai manajemen Anda yang secara teknis tidak mengetahui tentang ROI sehubungan dengan teknologi baru. Manajer Anda tidak akan peduli tentang kerangka kerja jagoan dan mainan teknologi, tetapi mereka harus sangat tertarik dengan proyeksi jangka panjang Anda mengenai biaya komparatif dari biaya pemeliharaan berkelanjutan, pengembangan di masa depan, dll.

Seiring garis yang sama ini, Anda mungkin mengambil kesempatan ini untuk mengetahui tingkat kepuasan pelanggan Anda (karyawan yang menggunakan perangkat lunak Anda). Perbaikan apa yang ingin mereka lihat? Bug apa yang membuat mereka gila? Fitur apa yang secara signifikan akan meningkatkan efisiensinya? Jika Anda dapat menunjukkan kepada atasan Anda bahwa investasi baru dalam teknologi akan secara nyata memengaruhi keuntungan mereka, Anda mungkin mendapatkan gelar Manajer Migrasi Teknis.

Dan itu akan terlihat bagus di resume APA PUN.

UPDATE: Sepertinya Anda tidak sendirian di industri Anda: " 95% ATM Dunia menjalankan XP ". Jangan salah paham: XP bagus - saya selalu penggemar. Tetapi kenyataannya adalah, setelah patch keamanan dan pembaruan berakhir, XP tidak akan menjadi produk yang layak untuk bank. Pekerjaan Anda (demi pelanggan bank Anda) adalah dengan ramah tetapi terus-menerus memberi tahu manajer Anda bahwa mereka akan membayar lebih banyak (dalam pengaturan layanan yang diperpanjang atau mitigasi serangan) untuk mempertahankan XP melewati tanggal pensiunnya. Seperti yang ditunjukkan tautan @ RobbieDee: Anda punya waktu hingga 14 Juli 2015. Itu cukup waktu (jika Anda mulai sekarang) untuk merancang, mengimplementasikan, dan menggunakan sistem pengganti.

(Tapi JANGAN mencoba menjual ide ini kepada orang yang baru saja menandatangani pada XP-install perusahaan. Dia bukan sekutu Anda. Dengan penilaian seperti itu, hari-harinya dalam peran itu diberi nomor. Diam-diam bekerja di sekelilingnya sampai kepala yang lebih bijaksana menang.)

kmote
sumber
FYI - dukungan (setidaknya sebagian) telah melampaui batas waktu 2014 asli: bbc.co.uk/news/technology-25758308
Robbie Dee
Hai, terima kasih atas tanggapannya. Ini tidak terjadi dengan menyedihkan, perusahaan (bank) baru-baru ini (bagian akhir tahun 2013) mengalami penyegaran PC, di mana mereka menghabiskan banyak uang untuk mengganti setiap komputer dalam rantai dengan kit baru dari Dell. Mereka kemudian membayar orang dari IBM untuk menghapus semua mesin ini, dan menginstal XP! Menurut saya, jika mereka ingin meningkatkan ke OS yang lebih modern, itu adalah peluang emas. Biasanya jawaban Anda akan menjadi nasihat yang solid jadi +1
narapidana24601
@RobbieDee -itu memberi pengguna114764 cukup waktu saja.
kmote