Saya baru saja menyelesaikan gelar sarjana saya di bidang IT. Saya memiliki minat mendalam dalam pengkodean dan benar-benar ingin menjadi seorang profesional di dalamnya. Sekarang, selain kuliah, saya belajar pemrograman (C #) sendiri (pemrograman tingkat perguruan tinggi terlalu mendasar). Sekarang saya merasa saya perlu sedikit lebih banyak waktu untuk menjadi dekat dengan programmer profesional. Tetapi beberapa senior saya mengatakan bahwa pemrograman dunia usaha terlalu berbeda dari pemrograman kutu buku, maka tidak ada gunanya membuang-buang waktu. (Mereka bukan programmer sendiri, mungkin ini yang mereka dengar).
Apakah saya akan mendapat manfaat dengan mencapai level lanjutan dari C #? atau karena level biasa-biasa saja cukup untuk memecahkan wawancara, level yang lebih tinggi tidak penting bagi perusahaan karena mereka mengandalkan pelatihan mereka semata-mata untuk mengajarkan bagaimana hal-hal bekerja di dunia usaha dan belajar lebih banyak tidak akan banyak membantu saya? Tolong jika ada beberapa programmer profesional yang dapat membantu, saya berjanji ini adalah sesuatu yang ingin ditanyakan oleh setiap siswa yang tertarik pada pemrograman pada tahap saya. "Bagaimana Anda benar-benar berubah dari pelajar menjadi profesional di bidang pemrograman?" - terus belajar sampai Anda sempurna atau bergabung dengan suatu perusahaan harus begitu dasar-dasar tercakup?
sumber
Jawaban:
Ada banyak perbedaan antara pemrograman di sekolah dan di dunia nyata. Saya tidak yakin ada yang namanya pemrograman perusahaan .
Tergantung di mana Anda sebenarnya bekerja, akan ada perbedaan besar. Akan ada perbedaan besar tergantung pada tugas yang dihadapi.
Namun masih ada beberapa masalah umum.
siklus hidup kode dunia nyata sangat berbeda dari pekerjaan rumah di perguruan tinggi. Dalam pemrograman dunia nyata Anda biasanya bekerja pada beberapa basis kode yang ada. Salah satu masalah terbesar adalah untuk menghindari melanggar kompatibilitas dengan kode yang digunakan oleh pelanggan Anda (yang mungkin pelanggan internal atau pelanggan eksternal, tergantung pada tempat kerja dan kasus Anda yang sebenarnya). Kode yang Anda tulis mungkin juga akan digunakan selama bertahun-tahun sesudahnya (ini tergantung: masalahnya tidak sama untuk situs web atau kode yang disematkan di beberapa perangkat). Jika Anda ingin bersiap-siap untuk ini, biasakan menulis tes unit dan tes fungsional untuk setiap bagian kode. Itu tidak selalu dilakukan dengan kode dunia nyata, tetapi harus membuat hidup Anda lebih sederhana baik di perguruan tinggi maupun di dunia usaha.
desain / persyaratan biasanya jauh lebih fuzzier di dunia nyata daripada di atmosfer perguruan tinggi. Saat menulis kode profesional, seseorang harus menentukan tujuan kode, dan Anda tidak hanya diberi masalah mainan atau bahkan masalah yang sudah diketahui. Sangat mungkin bahwa cepat atau lambat akan Anda yang melakukan desain! Pelanggan biasanya tidak tahu apa yang mereka inginkan (dan bahkan ketika mereka tahu apa yang mereka inginkan itu mungkin bukan yang mereka butuhkan), dan manajer biasanya hanya menggambarkan gambaran besar, meninggalkan banyak detail dan pilihan kepada programmer. Bergantung pada metode yang diikuti ("gesit" -vs- "V cycle", dll.), Pilihan dan definisi masalah terperinci dapat terjadi cepat atau lambat, tetapi Anda setidaknya harus tetap berpikiran terbuka dan bertanya-tanya apakah Anda benar-benar melakukan apa Dibutuhkan. Anda juga dapat mempertimbangkan mengubah persyaratan jika tugas yang sedang berlangsung terlalu sulit untuk dikodekan atau tidak efisien. Anda mungkin akhirnya menulis sesuatu yang tidak berguna atau terlalu rumit karena pelanggan atau manajer Anda tidak mengerti maksud Anda atau mereka tidak setuju dengan Anda. Namun, Anda harus selalu mempertanyakan persyaratan (ini adalah keterampilan bertahan hidup). Juga perlu diingat bahwa persyaratan dapat berubah di tengah tugas, dan Anda harus siap untuk itu.
di perguruan tinggi ketika Anda mendapatkan tugas Anda biasanya harus menulis beberapa kode. Di dunia nyata, Anda biasanya mulai dengan memeriksa apakah Anda dapat menggunakan kode yang ada sebagai gantinya: menggunakan kembali atau mengubah bagian dari proyek, menggunakan atau membeli pustaka, dll. Jika Anda menemukan kode yang ada yang sesuai dengan tugas, Anda mungkin akhirnya menggunakannya atau tidak (mungkin ada masalah pemeliharaan, masalah kinerja, masalah hak cipta, atau bahkan masalah penetapan harga), tetapi opsi untuk menggunakan kembali kode yang ada biasanya harus dipertimbangkan.
Jelas ada banyak masalah lain yang berkaitan dengan kerja tim, skala proyek, dll. Tapi poin di atas adalah masalah yang sangat mungkin Anda lihat di lingkungan perusahaan tetapi tidak harus dipertimbangkan dalam tugas kuliah Anda.
sumber
Perbedaan utama antara pemrograman perusahaan dan pemrograman perguruan tinggi adalah skala. Di sekolah Anda tidak pernah mendapatkan tugas yang satu orang tidak dapat memulai dan menyelesaikan dalam satu semester. Sebagai seorang profesional, Anda mungkin bekerja dengan banyak programmer lain pada perangkat lunak yang berlangsung selama bertahun-tahun tanpa "selesai."
Pada level mikro, pekerjaannya tidak jauh berbeda. Lagi pula, jika itu terlalu berbeda, maka gelar sarjana tidak akan bernilai bagi perusahaan. Tapi itu seperti perbedaan antara memanggang 12 kue dan membuat 12.000 kue. Anda bisa benar-benar bagus di yang pertama dan benar-benar tidak mengerti yang kedua.
Di sekolah Anda terutama mementingkan membuat program yang benar . Di tempat kerja, perangkat lunak Anda sudah benar tidak cukup. Itu harus dipelihara, diuji, efisien, dan dapat dikerjakan secara bersamaan oleh banyak orang. Itu sesuatu yang coba diajarkan sekolah, tetapi Anda tidak bisa benar-benar mempelajarinya kecuali dengan melakukannya.
sumber
Pertanyaan ini didasarkan pada asumsi yang tidak valid:
Anda menjadi seorang profesional dengan dibayar untuk melakukannya. Anda tidak pernah berhenti menjadi pembelajar. Jika Anda melakukannya, karier Anda sudah berakhir.
Pergilah ke dunia dan dapatkan pekerjaan. Antusiasme Anda untuk belajar adalah aset.
sumber
Jawaban singkatnya, ya - dunia usaha sangat berbeda dari banyak lingkungan kampus.
Yang mengatakan, perusahaan tahu ini. Kami berharap lulusan perguruan tinggi hampir tidak berguna. Jika Anda telah menghabiskan waktu untuk belajar sendiri untuk memprogram, itu bagus. Anda tidak perlu menjadi super luar biasa untuk mendaftar, tetapi pahamilah bahwa tetap biasa-biasa saja tidak akan memotongnya.
Anda tidak akan belajar banyak dari apa yang Anda butuhkan dalam bisnis sendiri. Lamar sesegera mungkin sambil terus belajar sendiri.
sumber
Tidak. Kami berharap siswa menjadi tidak berguna selama beberapa bulan sementara kami membobolnya. Tingkatannya hanya taruhan meja. Antusiasme Anda untuk belajar dan mengikuti instruksi adalah aset terbaik Anda. Ketika mewawancarai lulusan perguruan tinggi, saya ingin pemain tim yang cocok bukan jagoan yang mengganggu kelompok.
Ini berbeda untuk setiap perusahaan tetapi pada umumnya perusahaan yang lebih besar akan memiliki pelatihan yang lebih terstruktur. Ini adalah keputusan besar pertama Anda, apakah Anda suka pelatihan formal dan struktur tingkat tinggi? Jika demikian, cari pekerjaan yang menyediakan itu.
Anda berubah dari seorang siswa menjadi seorang pro dengan mendapatkan pekerjaan. Saya sarankan Senior mendapatkan kerjasama dengan perusahaan melalui sekolah Anda. Ini adalah cara terbaik untuk membuat kaki Anda basah dan mengatasi kecemasan akan profesi baru.
Dapatkan pekerjaan, jangan menunggu. Adalah umum untuk merasa gugup, tetapi jujurlah tentang keterampilan Anda dan jangan menyembunyikan antusiasme Anda untuk belajar lebih banyak. Adalah umum untuk berganti perusahaan beberapa kali, terutama di awal karir Anda.
Selamat atas penyelesaian gelar Anda dan semoga sukses dalam perjalanan Anda ke pemrograman profesional.
sumber
Saya akan mengatakan perbedaan mendasar antara pemrograman tingkat perusahaan vs perguruan tinggi adalah pemrograman tingkat perusahaan jauh lebih merupakan proses kolaborasi daripada apa yang akan Anda temui dalam pengaturan kelas dan penekanannya lebih pada pengembangan produk daripada pembelajaran pedagogis.
sumber
Jika Anda benar-benar berharap bahwa pemrograman dunia usaha akan menjadi budaya pemrograman tingkat tinggi, saya pikir Anda akan agak kecewa. Pemrograman dalam dunia korporat lebih merupakan kemampuan untuk bertanggung jawab atas kode yang Anda tulis dan menjaganya agar tetap terpelihara.
Tetapi untuk pertanyaan Anda
Ini tidak ada hubungannya dengan pemrograman tingkat perusahaan dan perguruan tinggi kecuali pemrograman secara umum. Jika Anda benar-benar ingin belajar mulai membangun perangkat lunak Anda sendiri, sesuatu yang ingin Anda bangun atau mulai bekerja di proyek perangkat lunak sumber terbuka. Ajukan pertanyaan yang Anda hadapi. Dan baca kode orang lain.
sumber
Jawaban Karl tentang skala tepat. Anda tidak bisa mengurutkan susunan 15 angka, Anda harus mengurutkan set data sejuta, katakanlah, nomor akun.
Struktur data dan kelas algoritma mungkin akan memberi tahu Anda selusin cara berbeda untuk mengurutkan. Dalam aplikasi nyata, Anda cenderung melakukan pemesanan dengan klausa dan membiarkan database mengoptimalkannya.
Adapun untuk bersiap-siap untuk dunia korporat ada dua cara yang saya sarankan a) Dapatkan magang bahkan yang dibayar rendah atau tidak-bayar akan membuat Anda melihat orang lain bekerja. b) Dengan semua toko aplikasi di sekitar Anda dapat mencoba menulis dan menerbitkan aplikasi ke toko Apple / Google / MS. Ini akan membantu Anda memahami alur kerja dengan lebih baik, nilai pengujian, kebutuhan untuk menyiapkan lingkungan dan alat yang tepat dan banyak lagi.
sumber
Hal utama yang Anda butuhkan untuk melakukannya dengan baik dalam pemrograman korporat adalah kesabaran dan kemampuan untuk berkomunikasi dengan pengguna yang tidak memahami teknologi. Pastikan Anda menggunakan pengujian unit, kontrol versi, debug dengan hati-hati, dan gunakan penelusuran / pencatatan yang benar. Bahasa mungkin berubah, tetapi tetap tenang dan hati-hati mencari masalah akan selalu berhasil.
sumber
selain jawaban yang sangat baik disediakan "pemrograman perusahaan" juga tentang persyaratan yang tidak jelas atau berubah.
Apa yang akan Anda lakukan jika profesor Anda mengubah persyaratan pekerjaan rumah pemrograman Anda dua hari sebelum Anda harus menyerahkannya?
Dalam industri ini cukup umum.
sumber