Pada kenyataannya, seorang pengembang juga mengelola DBMS dan sistem? [Tutup]

21

Saya benar-benar tidak tahu harus bertanya ke mana lagi. Jadi begini.

Saya bekerja di perusahaan yang sangat kecil yang membuat perangkat lunak ERP dan situs web.

1 pengembang dengan pengalaman + 10 tahun.
2 pengembang dengan pengalaman + 3 tahun.
3 pengembang dengan pengalaman + 1 tahun.

Itu dia.
Tidak ada tim, tidak ada DBA, tidak ada admin sistem.
Tidak ada seorang pun di sini yang memiliki keahlian dalam pengembangan web, jadi saya bertanggung jawab atas pengembangan web. Tapi saya hanya punya 3 tahun pengalaman! sebagai pengembang!


Saya tahu di sebuah perusahaan kecil, Anda diminta untuk melakukan banyak hal yang berbeda tetapi apakah itu terlalu banyak, jika saya harus melakukan sysadmin, arsitektur basis data, desain dan pengembangan perangkat lunak? Oh plus saya diminta untuk melakukan semua itu di berbagai platform.
Saat ini saya bekerja dengan JSP, ASP, MSSQL, MySQL, Oracle, Windows Server, dan Linux.
Dalam database, saya lakukan dari menulis kueri hingga pencadangan & pemulihan.
Pengaturan server, pemulihan sistem crash, migrasi DB & Server juga.
HTML Mewah, Javascript, dan CSS :)
Jumlah proyek yang saya tangani: 5

Saya bukan ahli sama sekali dari mereka!
Saya harus mencari di internet, membaca tutorial dan mengajukan pertanyaan di StackOverflow untuk menyelesaikan semuanya!

Jadi saya bertanya kepada Anda, apakah ini normal?
Apakah ini praktik normal?
Apakah saya akan menghadapi situasi yang sama mana pun perusahaan kecil saya pergi?
Saya bekerja di Korea Selatan.
Bagaimana di negaramu?

PS Terima kasih atas pendapat Anda. Saya akan mendukung Anda semua karena Anda semua membantu saya melihatnya dengan cara yang berbeda, tetapi tampaknya Anda perlu 15 reputasi untuk memperbaiki :(

Kekuasaan
sumber
36
Anggap diri Anda sangat beruntung. Anda memiliki kesempatan untuk mempelajari berbagai keterampilan, dan mendapatkan bayaran untuk melakukannya.
Robert Harvey
2
Ya, saya berpikir seperti itu. Saya tidak terlalu mengeluh tetapi bertanya apakah itu praktik yang normal. Oh mungkin saya harus menambahkan itu ke pertanyaan.
Ascendant
Apakah itu terlalu berlebihan, itu terserah Anda. SEBAGAIMANA orang lain mengatakan dalam jawaban bahwa tidak jarang perusahaan kecil memiliki orang yang merangkap peran lain. Jika Anda merasa hal itu berlebihan sampai-sampai pekerjaan Anda menderita karenanya, itu adalah sesuatu untuk diambil alih oleh manajer Anda. Demikian juga jika Anda melakukan begitu banyak hal lain yang tidak ingin Anda lakukan serta hal-hal yang ingin Anda lakukan (dan dipekerjakan) kemudian diskusikan lagi dengan manajer Anda atau mulai mencari peran lain. Saya pribadi suka melakukan hal-hal sysadmin dan melewatkannya ketika saya berada di perusahaan besar di mana mereka tidak membiarkan saya di server. ;-)
Chris
3
Kamu tidak sendiri. Saya melakukan segalanya (dan saya berarti segalanya ) di perusahaan saya juga. DBA, sysadmin, programmer, pengembang web, dukungan pengguna, jaringan, karya-karya.
MikeTheLiar

Jawaban:

33

Dalam pengalaman saya, ya, sangat normal bagi pengembang di perusahaan kecil yang diharapkan untuk mencakup berbagai peran. Hal yang wajar bagi perusahaan yang sangat kecil sehingga hanya memiliki tiga pengembang untuk tidak memiliki DBA atau sysadmin khusus.

Namun, saya merasa tidak biasa bagi perusahaan sekecil itu untuk menggunakan berbagai macam teknologi. JSP dan ASP? Windows dan Linux? SQL Server, MySQL dan Oracle ?? Biasanya, perusahaan kecil akan fokus pada satu platform teknologi untuk menghindari penyebaran terlalu tipis.

Jika pekerjaan Anda melibatkan pengembangan tumpukan penuh pada satu platform - mis. ASP.NET + SQL Server + Windows, atau Java + Oracle + Linux - apakah Anda masih merasa kewalahan?

Ngomong-ngomong, jika Anda ingin mengambil spesialisasi lebih besar, ya, Anda harus mencari perusahaan yang lebih besar. Semakin besar tim, semakin masuk akal dan menguntungkan untuk memiliki spesialis.

Carson63000
sumber
Terima kasih. Hanya untuk menambahkan satu hal lagi, jika saya diminta untuk juga mengembangkan dan memelihara perangkat lunak ERP di SAP PowerScript, apakah itu akan tetap menjadi praktik yang normal? atau akan menyebar terlalu tipis?
Ascendant
Sementara @PerfectGundam belum menjelaskan mengapa atasannya memiliki beragam platform; berakhir dengan penggunaan beberapa yang signifikan tidaklah sulit jika Anda tidak memiliki manfaat menulis ulang sistem warisan Anda ketika Anda mengubah platform untuk pengembangan baru. Kasus di mana outlier hanya sebagian kecil dari total dapat terjadi ketika ceruk sesekali tidak memiliki pilihan yang baik pada platform yang disukai perusahaan. Dan jika perusahaan sedang mengembangkan perangkat lunak untuk pihak ketiga; menciptakan barang-barang yang sesuai dengan tumpukan yang disukai pelanggan dapat menghasilkan banyak kecelakaan platform yang digunakan sekali atau dua kali.
Dan Neely
@DanNeely - oh, saya tidak ragu itulah yang terjadi. Selalu ada risiko, bagi perusahaan tipe agensi kecil, mengatakan "ya" untuk apa pun karena mendapatkan penjualan lebih penting daripada detail kecil seperti "apakah kita punya orang yang benar-benar mampu melakukan pekerjaan ini?" :-)
Carson63000
14

Dari pengalaman saya dapat mengatakan bahwa hidup sebagai pengembang perangkat lunak sangat bervariasi berdasarkan pada ukuran perusahaan tempat Anda bekerja.

Toko-toko kecil cenderung membutuhkan lebih banyak tugas dan mengambil banyak peran, sementara perusahaan besar biasanya memiliki peran yang sangat jelas untuk setiap orang.

Satu ekstrem menjadi pertunjukan tunggal, di mana Anda (jelas) harus melakukan semua pekerjaan, apakah itu cocok dengan bidang yang kuat atau tidak.

Yang lainnya adalah perusahaan besar multinasional dengan beberapa lokasi di kota Anda saja: di sini Anda cenderung memiliki deskripsi posisi yang tepat yang memberi tahu Anda dengan tepat apa yang sedang Anda kerjakan.

Demikian pula, saya berasumsi, ini juga bervariasi berdasarkan area bisnis dan lokasi geografis / budaya Anda.

Joachim Sauer
sumber
13

Dalam penghitungan tugas yang harus dilakukan pengembang, Anda juga dapat memasukkan:

  • Desain interaksi,
  • Desain visual,
  • Kegunaan,
  • Keamanan,
  • Pengumpulan persyaratan,
  • Pengujian dan QA,
  • Penyebaran,
  • Pemeliharaan,
  • Manajemen proyek,
  • Manajemen tim,
  • dll.

Intinya, ini adalah perbedaan antara programmer dan pengembang .

  • Tugas seorang programmer , betapapun terampilnya, adalah menulis kode , akhirnya berpikir sedikit tentang pendekatan yang berbeda (yaitu desain awal).

  • Tugas pengembang adalah untuk dapat menjalankan proyek skala kecil atau menengah , yang membutuhkan pengetahuan yang jauh lebih luas (dan pada saat yang sama lebih dangkal).

Untuk mengatasi fakta bahwa satu pengembang tidak akan dapat mengetahui sebanyak satu orang yang menghabiskan waktu bertahun-tahun mempelajari satu hal saja, proyek dilakukan oleh sebuah tim. Ini adalah bagaimana proyek diatur (atau setidaknya harus) diatur. Sebagian besar waktu, proyek kecil tidak memerlukan terlalu banyak keterampilan dalam domain apa pun, sementara yang lebih besar membutuhkannya.

  • Jika saya mengacaukan, sebagai pengembang, dengan keamanan situs web e-commerce perusahaan kecil, well, itu buruk, karena perusahaan mungkin kehilangan beberapa ratus atau, jarang, ribuan dolar, tetapi tidak kritis. Jika saya mengacaukan keamanan atau sistem yang mengontrol lalu lintas udara, itu sangat buruk.
  • Jika desain interaksi produk perangkat lunak akuntansi internal dilakukan untuk perusahaan kecil dan hanya digunakan oleh dua akuntan yang bekerja di sana, sekali lagi, ini tidak terlalu berbahaya. Jika desain interaksi produk Apple baru buruk, ini mungkin memiliki konsekuensi penting pada penjualan dan reputasi perusahaan.
  • dll.

Ini berarti bahwa dengan bekerja di perusahaan kecil pada proyek skala kecil, Anda akan sering menemukan diri Anda melakukan banyak hal . Perusahaan-perusahaan itu tidak mampu membayar spesialis di semua ratusan sektor yang terkait dengan IT, jadi mereka mencari jack of all trade sebagai gantinya.

Mulailah mengerjakan proyek-proyek besar, dan Anda akan melihat bahwa peran Anda akan lebih sempit, sambil menjadi lebih dalam pada saat yang sama. Seluruh pekerjaan Anda mungkin untuk menulis kode CSS, tetapi Anda akan diminta untuk mengetahui kekhasan CSS dan dapat mendesain aplikasi web dengan sangat cepat, berdasarkan karya desainer visual. Anda tidak akan memiliki alasan jika Anda tidak dapat menjelaskan manfaat dari Sass dibandingkan dengan KURANG atau jika Anda tidak tahu apa itu sprite CSS.

Terserah Anda untuk memilih apa yang Anda sukai.

  • Tidak ada yang buruk dalam mendongkrak semua perdagangan, terutama karena memungkinkan Anda untuk cukup fleksibel: jika ada permintaan untuk administrator sistem, Anda memiliki keterampilan. Jika, beberapa tahun kemudian, tidak ada yang membutuhkan sysadmin, tetapi sekarang, pengembang web dibayar dengan baik, Anda dapat melamar juga.
  • Tidak ada yang buruk dalam fokus pada bidang sempit juga. Jika Anda memiliki pengetahuan yang mendalam tentang suatu bidang, perusahaan besar dengan banyak uang dapat tertarik untuk mempekerjakan Anda, karena akan ada beberapa spesialis tingkat keterampilan Anda.
Arseni Mourzenko
sumber