Haruskah saya menggunakan bahasa yang paling nyaman bagi saya, atau "standar" perusahaan

18

Saya akan mengembangkan situs Intranet untuk pabrik khusus saya, dan standar perusahaan kami untuk pengembangan web adalah IIS + ASP.Net + VB.Net + Microsoft SQL Server (perhatikan bahwa kami memiliki sekitar 10+ pabrik). Situs Intranet hanya akan digunakan oleh pabrik saya, dan saya satu-satunya yang akan mendukungnya. Saya jauh lebih mahir dengan pengaturan LAMP , dan saya bisa melakukan pengembangan dan pemecahan masalah lebih cepat dengan PHP daripada saya bisa ASP.Net. Walaupun "standar" perusahaan adalah ASP.Net/VB.Net, sebagian besar yang dilakukan perusahaan secara keseluruhan adalah membeli perangkat lunak pihak ketiga (yang biasanya berbasis Java ), dan sangat, dan maksud saya sangat sedikit orang di perusahaan bahkan tahuVB6 , apalagi ASP.Net/VB.Net.

Yang sedang berkata, apakah lebih baik melanggar standar perusahaan dan pergi dengan pengaturan yang saya dapat mendukung lebih baik, atau lebih baik untuk pergi dengan pengaturan bahwa perusahaan dapat mendukung lebih baik jika saya harus pergi, walaupun tidak ada yang saat ini di perusahaan dapat mendukung standar mereka sendiri?

Beberapa faktor tambahan untuk dipertimbangkan dalam kasus pribadi saya:

  • Sekali lagi, ini hanya untuk pabrik saya, dan saya satu-satunya yang akan mendukungnya kecuali saya meninggalkan perusahaan, dan kemudian pengganti saya akan mendukungnya. Belum ada orang lain di perusahaan.
  • Perusahaan melakukan pengembangan sangat sedikit dengan standar mereka.
  • Hampir tidak ada perusahaan yang menggunakan perangkat lunak standar mereka.
  • Jika saya memilih standar perusahaan, maka saya harus menggunakan versi Express Microsoft SQL dan OS Windows 7. Dari bacaan saya, versi Express boleh digunakan untuk bisnis, tetapi ukuran basis datanya terbatas.
Drew Chapin
sumber
25
Kata kuncinya di sini adalah melanggar . Anda telah memilih kata yang tepat, dan hanya membaca pertanyaan Anda sendiri akan memberi tahu Anda bahwa ini adalah ide yang cukup bodoh. Mereka memilih standar karena suatu alasan. Jika Anda tidak setuju dengan pilihan itu, Anda harus menyalurkannya ke atas secara formal.
Joel Etherton
3
"Maksud saya, sangat sedikit orang di perusahaan yang mengenal VB6, apalagi ASP.Net/VB.Net." Saya tidak benar-benar melihat apa hubungannya dengan apa pun. VB6 adalah kode warisan jelek - fakta bahwa tidak ada yang tahu itu adalah hal yang sangat baik.
DeadMG
1
@DeadMG, Masalahnya tidak ada yang tahu VB.Net juga. Jadi, apa masalah bahasa yang saya gunakan? Mereka masih harus mempekerjakan orang lain untuk mendukungnya jika saya pergi.
Drew Chapin
3
SQl Server Express mendukung hingga 4gb basis data. Itu biasanya cukup, jika tidak maka diperlukan beberapa database lain dan Anda mungkin harus mengambilnya dengan orang-orang yang relevan (IT guy, atasan, dll.)
Holger
3
@Baboon, yeah, ini tidak seperti situs-situs seperti facebook yang akan pernah menggunakan sesuatu yang sangat tidak bisnis
SWeko

Jawaban:

38

Sekali lagi, ini hanya untuk pabrik saya, dan saya satu-satunya yang akan mendukungnya kecuali saya meninggalkan perusahaan, dan kemudian pengganti saya akan mendukungnya. Belum ada orang lain di perusahaan.

1 - Jangan Anggap kamu satu-satunya yang akan mendukung ini. Anda menyukai waktu dan liburan Anda yang sakit, bukan? Bagaimana jika Anda perlu mengambil cuti hamil / ayah yang diperpanjang atau sesuatu? Siapa yang akan mendukung aplikasi Anda? Juga, bagaimana jika Anda ingin berbicara dengan seseorang tentang masalah teknis khusus untuk perusahaan Anda? Bagaimana jika Anda ingin memiliki ulasan kode? Atau butuh bantuan dengan bug yang rumit? Dalam semua kasus ini, sangat membantu untuk berada di antara yang lain dengan wawasan tentang teknologi yang Anda gunakan - khususnya cara penerapannya untuk memecahkan masalah khusus perusahaan Anda.

Perusahaan melakukan pengembangan sangat sedikit dengan standar mereka.

2 - Hanya karena ada beberapa dokumen tidak berarti itu benar-benar standar atau berarti apa-apa. Ini bisa berarti bahwa ada sekelompok individu yang berpengaruh secara politis yang mengadvokasi pendekatan ini, dan mungkin ada sub kelompok lain yang mengambil pendekatan berbeda.

Masalah Anda mungkin hanyalah bahwa "standar" telah berevolusi menjadi suatu keadaan de-facto, tidak berdokumen yang bertentangan dengan "standar" yang terdokumentasi. Atau mungkin ada banyak pengelompokan tidak resmi kecil orang yang menggunakan "standar" yang berbeda - dengan salah satu kelompok yang mengelola untuk membuat "standar" mereka dijadikan resmi. Anda mungkin perlu bertanya-tanya untuk mencari tahu apa yang orang lain dalam grup Anda - yang mungkin juga mendukung Anda dan aplikasi Anda - pertimbangkan praktik terbaik. Tanyakan apa yang mereka rasa nyaman dengan Anda gunakan. Memetakan lanskap teknologi nyata perusahaan Anda dan mencari tahu di mana caranya. Sama seperti sepotong pengetahuan suku yang berkembang baik, satu-satunya cara Anda akan tahu bagaimana melanjutkan adalah berbicara dengan orang-orang.

3 - Jangan lewatkan peluang profesional untuk mempelajari hal-hal baru . Anda harus berhati-hati agar tidak terkena pigeonholed di industri ini. Jadilah gesit. Anda mungkin memiliki kesempatan untuk mendapatkan informasi dan mempelajari cara baru untuk menyelesaikan masalah. Belum lagi Anda mendapatkan keterampilan baru untuk resume Anda. Sebagian besar hanya dapat membantu Anda harus melangkah keluar dari zona nyaman Anda untuk melakukan sesuatu yang baru. Yang sedang berkata, jika hal yang berbeda / baru sangat ceruk sehingga Anda tidak berpikir Anda atau majikan di masa depan akan mendapatkan nilai dari keterampilan itu, maka mungkin ini bukan kesempatan yang hebat. Tetapi mendapatkan kesempatan untuk menjadi ahli ASP.net dan LAMP tentu saja akan membuka mata Anda dan hanya dapat membantu karir Anda. Tidak ada yang seperti proyek nyata dengan tenggat waktu untuk memaksa Anda untuk benar-benar belajar sesuatu.

Jadi saran saya, jangan pergi sendiri. Cari tahu di mana orang-orang benar-benar berdiri dan memutuskan di mana Anda paling cocok. Jika Anda perlu keluar dari zona nyaman Anda, gunakan ini sebagai kesempatan untuk tumbuh secara profesional.

Doug T.
sumber
4
+1: Anda akan mendukung ini selama Anda bekerja di sana. Namun, jika Anda pergi, orang lain akan mendukungnya.
unholysampler
1
Ini adalah jawaban yang baik, tetapi saya akan menambahkan bahwa OP harus berbicara dengan manajernya tentang pertukaran untuk melihat seberapa ketat mereka mempertimbangkan standar, dan apakah mereka akan menyetujui penggunaan tumpukan lain untuk proyek ini.
Mike Partridge
Jangan Anggap Anda satu-satunya yang akan mendukung ini : juga, dengan cara ini orang dapat menggunakan kembali kode dari satu sama lain, alih-alih menciptakan kembali roda setiap kali kita membutuhkan sesuatu yang berputar.
Konerak
2
Cara tercepat untuk terjebak dalam suatu posisi adalah membuat diri Anda tak tergantikan. Jika Anda tidak dapat diganti, Anda tidak dapat dipromosikan.
Burhan Khalid
9

Yang sedang berkata, apakah lebih baik melanggar standar perusahaan dan pergi dengan pengaturan yang saya dapat mendukung lebih baik, atau apakah lebih baik untuk pergi dengan pengaturan bahwa perusahaan dapat mendukung lebih baik jika saya harus pergi, walaupun tidak ada yang saat ini di perusahaan dapat mendukung standar mereka sendiri?

Itu adalah keputusan manajemen. Membuat mereka tahu kekhawatiran Anda dan bersikeras secara resmi pada perubahan.

Yang mengatakan, bahasa adalah alat dan Anda harus memilih alat yang tepat untuk pekerjaan; buat mereka mengerti bahwa Anda tidak mengacaukan sekrup dengan palu.

Fabián Heredia Montiel
sumber
Penting untuk dicatat bahwa, dalam konteks pertanyaan (mengingat tingkat kerincian yang tersedia) ASP.NET dan PHP keduanya merupakan alat yang tepat untuk pekerjaan tersebut dalam kedua platform yang sangat cakap
Murph
1
ASP.NET bisa dibilang lebih mampu, hanya saja op mengenal php lebih baik.
Kevin
1
@ Kevin, Satu-satunya alasan saya bisa berpendapat bahwa ASP.Net lebih mampu daripada PHP adalah bahwa ia terintegrasi dengan keamanan AD / Windows lebih baik meskipun masih mungkin untuk mengintegrasikan PHP dengan keamanan AD / Windows. Di luar itu saya tidak melihat kelebihan ASP.Net dibandingkan PHP.
Drew Chapin
Dengan pengakuan Anda sendiri, Anda tahu php jauh lebih baik sehingga tidak mengejutkan Anda akan mengatakan itu.
Kevin
8

Apakah Anda punya aspirasi untuk promosi, atau bekerja di proyek lain? Jika demikian, saya sarankan bahwa "melakukan hal Anda sendiri" akan memiliki dua efek negatif yang hampir pasti menghasilkan (parafrase) "Saya akan menjadi orang yang mendukungnya, sampai saya pergi"

  1. Karena Anda memilih untuk tidak mengikuti standar perusahaan menunjukkan Anda tidak terlalu cocok untuk peran yang lebih senior, karena Anda tidak dapat mengikuti instruksi sederhana.
  2. Karena Anda memilih untuk tidak mengikuti standar perusahaan, itu akan menjadi masalah Anda bahwa tidak ada orang lain di perusahaan yang dapat mendukung kode Anda.

Jika Anda memilih untuk menggunakan standar, itu tidak akan menjadi tanggung jawab Anda untuk terus mempertahankan produk ketika (jika) kesempatan untuk promosi atau proyek lain muncul.

Cara lain untuk melihat analogi yang menggelikan. Saya pindah ke negara di mana mereka mengemudi di sebelah kiri, namun, saya lebih terbiasa mengemudi di sebelah kanan, saya lebih suka mengemudi di sebelah kanan, karena ini, saya lebih baik dalam hal itu dan dapat mengemudi lebih cepat. Haruskah saya mengemudi di sebelah kanan?

mattnz
sumber
+1 untuk paragraf terakhir - terutama karena dalam hal kemampuan platform Anda tidak dapat benar-benar membuat kasus untuk memilih PHP daripada ASP.NET. Mungkin ada argumen untuk mengubah standar berdasarkan kapabilit tim dev ...
Murph
5

Perusahaan memiliki standar karena suatu alasan, jika ada standar yang dinyatakan secara formal yang mengatakan untuk menggunakan x, maka Anda harus membenarkan y.

Ini tidak berarti bahwa Anda tidak dapat menggunakan y, itu berarti Anda harus memahami alasan di balik standar dan dan mendapatkan persetujuan sebelum melanggarnya.

Mungkin setelah Anda memahami alasannya, Anda tidak akan lagi ingin melanggarnya, mungkin Anda akan melihat bahwa itu perlu diubah atau dihapus, atau bahwa itu tidak berlaku dalam hal ini sehingga penggunaan y tidak menjadi masalah.

Jika itu berlaku, maka kecuali Anda bisa mengubahnya, Anda harus mengikutinya. Standar perusahaan tidak pada tingkat yang sama dengan pesanan langsung, tetapi majikan Anda memiliki harapan yang masuk akal untuk Anda mengikuti keduanya kecuali jika mereka melanggar hukum.

jmoreno
sumber
1
Standar perusahaan terkadang terkait dengan alasan pemasaran alih-alih efisiensi atau pertimbangan teknis.
Tuan Smith
@ Tuan Smith Meski begitu, Anda masih perlu berbicara dengan manajer Anda atau seseorang dengan kekuatan pengambilan keputusan untuk memverifikasi alasan tersebut. Lihat jawaban saya pada pertanyaan ini.
Mike Cellini
1
@MisterSmith: alasan pemasaran yang valid sama pentingnya, jika tidak lebih, dari sebagian besar pertimbangan teknis. Jika Anda tidak tahu alasannya, Anda tidak tahu validitas alasannya.
jmoreno
Ya, tetapi membaca pertanyaan itu saya mendapat kesan bahwa tidak ada manajer di atasnya untuk proyek ini, dan bahwa tidak ada yang benar-benar peduli tentang menegakkan standar. Jika itu benar, saya tidak melihat alasan untuk mengikuti standar secara membabi buta daripada hanya memilih teknologi yang lebih dikenal.
Tuan Smith
@MisterSmith: Ini tidak mengikuti standar secara membabi buta, ini secara membabi buta mengikuti standar perusahaan. Ada perbedaan. Dan jika tidak ada yang peduli, maka itu seharusnya cukup mudah untuk mendapatkan izin untuk melanggar atau bahkan mengubah standar.
jmoreno
2

Itu semua tergantung pada apakah Anda akan dipecat atau tidak. Jika Anda akan dipecat, jangan lakukan itu. Jika Anda tidak akan dipecat, maka silakan saja.

Mike Nakis
sumber
-1 Ini, imho, saran yang mengerikan. Anda mungkin juga menyuruh orang untuk menulis kode yang jelek, tidak dapat dipahami, dikaburkan tanpa dokumentasi (atau lebih buruk: salah) hanya untuk membuat diri mereka sangat diperlukan. Ketahuilah bahwa jika Anda membuat diri Anda sangat diperlukan, Anda tidak akan pernah bisa naik di perusahaan, tetapi terjebak melakukan apa yang Anda lakukan dan menjaga kode Anda sendiri (jelek) selama berabad-abad!
Konerak
@Konerak Yah, kamu benar. Saya tidak serius tentang itu. Saya akan mengedit pertanyaan saya untuk membuat Anda bahagia.
Mike Nakis
Maaf Mike, saya tidak mendapatkan bagian yang ironi;) Saya senang melihat jawaban tentang yang sangat diperlukan, karena memberi saya kesempatan untuk bereaksi dan orang-orang akan membacanya.
Konerak
1

Saya pikir Anda dapat mengantisipasi banyak masalah yang dapat timbul dari ini dan membuat rencana terperinci untuk jika dan kapan Anda harus meninggalkan perusahaan.

Satu masalah yang bisa menyelesaikan pekerjaan adalah jika Anda pergi dan SDM harus mencari pengganti Anda. Mengingat mereka secara aktif mencoba memahami apa yang Anda lakukan dan merekrut sesuai dengan keterampilan yang dibutuhkan - atau hanya melihat dokumen asli yang menguraikan kebijakan IIS / ASP.NET / dll. dan secara buta mempekerjakan seseorang dengan keterampilan itu untuk mempertahankan kode LAMP Anda (pada prinsip "karena dikatakan begitu"), saya pikir yang terakhir jauh lebih mungkin.

Hal termudah (dalam jangka panjang) adalah melakukan apa yang direkomendasikan fabianhjr dan mengubah standar. Ubah untuk menyertakan Microsoft dan LAMP jika mereka tahan terhadap sakelar penuh.

jonsca
sumber
sebenarnya posting resmi untuk pekerjaan saya tidak memerlukan pengetahuan pemrograman / pengembangan web apa pun.
Drew Chapin
1
@druciferre Semua alasan lagi untuk respec semuanya kemudian. Jika proyek ini menjadi bagian besar dari tanggung jawab pekerjaan Anda dan ada beberapa kemungkinan di mana mereka akan menggunakan kembali berdasarkan deskripsi pekerjaan asli Anda, mereka akan menjadi anak sungai (bukan bahwa Anda harus peduli pada saat itu, tetapi hanya untuk demi mereka).
jonsca
1

Dalam hal ini Anda harus mengikuti standar. Jika standar tersebut tampaknya tidak berlaku, Anda perlu berbicara dengan manajer Anda tentang melakukannya dalam bahasa yang berbeda.

Dari semua standar yang harus diikuti dalam pengembangan, saya pribadi merasa bahwa pilihan bahasa adalah yang paling penting . Mengabaikan pilihan bahasa standar dan memilih bahasa yang membuat Anda lebih nyaman membiarkan rekan kerja dan / atau penerus sungai tanpa dayung, karena mereka mungkin tidak memiliki keterampilan untuk mengerjakan proyek Anda. Keputusan perekrutan perusahaan didasarkan pada pilihan bahasa sehingga keputusan seperti ini dapat memiliki dampak besar. Memperkenalkan platform / bahasa lain mungkin memaksa perusahaan ke tempat yang sempit ketika mereka mulai mempekerjakan orang lain.

Di luar bahasa Anda harus mempertimbangkan dukungan internal untuk server LAMP. Siapa yang akan mengelola Apache? Bagaimana dengan MySQL? Apakah perangkat lunak perusahaan berjalan pada basis data yang berbeda? Apakah para administrator bersedia untuk mengelola platform baru. Bahkan jika Anda berencana untuk mengelola layanan ini, tugas akhirnya bisa jatuh ke orang lain. Jika Anda berencana untuk mengelola layanan, apakah admin jaringan / server memungkinkan Anda melakukannya?

Konsekuensi dari memperkenalkan platform yang berbeda bisa luas dan dalam. Tidak mengikuti standar mungkin akan berdampak pada banyak orang selain Anda. Meskipun Anda lebih mahir dalam LAMP daripada ASP.NET, membangun platform itu pada akhirnya akan lebih merugikan perusahaan Anda dalam jangka panjang. Kuncinya di sini adalah berkomunikasi dengan manajer Anda dan memahami efek dari keputusan akhir.

Mike Cellini
sumber