Kelas pemrograman saya di sekolah adalah C ++, tetapi saya akhirnya mengerjakan pekerjaan dengan melakukan C # selama beberapa tahun terakhir. Jika ada posisi yang mengharuskan mengatakan 1 atau 2 tahun pengalaman dalam C ++, apakah pengalaman saya di C # layak dipertimbangkan? Seberapa efektif saya dalam posisi seperti itu? Jadi apakah saya harus memulai sebagai programmer C ++ entry-level untuk mendapatkan pengalaman yang diperlukan?
c#
c++
experience
MetaGuru
sumber
sumber
Jawaban:
Masalahnya di sini adalah bahwa C ++ dan C # pada dasarnya adalah bahasa yang sangat berbeda dengan pendekatan yang berbeda untuk banyak masalah. Sangat mudah untuk menggolongkannya dalam "Bahasa OO", tetapi fakta sederhana adalah bahwa banyak idiom C # dianggap kode yang sangat buruk dalam C ++ (dan sebaliknya).
Jika Anda benar-benar mengetahui perbedaan dan seperti apa idiom C ++, maka saya tidak melihat alasan bahwa itu tidak boleh apa-apa.
sumber
Saya berada di kapal yang sama sekitar 2 tahun yang lalu. Pengalaman c # Anda mungkin tidak akan sepadan dengan pekerjaan c ++ seperti c ++ untuk pekerjaan ac #. Yang mengatakan, jika Anda tahu bagaimana c # benar-benar bekerja (sangat sedikit programmer c # benar-benar melakukannya), dan belajar c ++ Anda dengan baik maka c ++ tidak akan menjadi masalah. Yang akan menjadi masalah adalah cara Anda terbiasa dengan pola desain tertentu yang akan terlalu tinggi untuk c ++.
Misalnya, beralih dari model akses data ADO.NET yang bagus ke menggunakan cppcon untuk akses mysql, System.Collections.Generic menggunakan stl, multiple-inheritence, pengumpulan sampah untuk membersihkan memori Anda dalam destructor dan sebagainya ... semua cenderung menjadi transisi yang sulit. C ++ bukan masalah, mempelajari lib, pola desain, dan cara menggunakannya adalah tantangan. Sebagian besar perekrut tidak menyadari hal ini. Jika Anda dapat melakukan desain dasar dan dapat menggunakan fitur c ++ yang sebenarnya umum digunakan, maka Anda harus baik-baik saja dalam wawancara.
Namun, siap untuk pekerjaan adalah cerita yang berbeda. Ini adalah tantangan yang menyenangkan, saya harap semuanya berjalan dengan baik.
sumber
Saya tidak dapat berbicara untuk setiap perusahaan tetapi saya pribadi memandang pemrograman sebagai keterampilan dan bahasa spesifik sebagai hal yang baik untuk dimiliki. Masih sangat mungkin untuk diterima dalam pekerjaan pemrograman lain yang bukan keahlian utama Anda.
Setelah mengatakan bahwa sangat tidak mungkin saya akan mempekerjakan seseorang yang sama sekali tidak memiliki pengalaman dalam bahasa yang saya sewa untuk mereka. Habiskan beberapa akhir pekan untuk belajar dan memiliki beberapa proyek kesayangan untuk mendukung CV Anda. Bahkan yang kecil membuktikan Anda mampu belajar dan tertarik.
sumber
Anda persis dalam situasi yang sama seperti 4 tahun yang lalu.
Saya melakukan beberapa C ++ selama studi saya, tapi saya benci itu. Saya melakukan banyak pengembang web ketika saya bisa mengisi waktu luang dan mendapat pekerjaan di bidang itu.
Ketika saya pindah saya melamar pekerjaan C ++ yang memiliki 2 tahun pengalaman C ++ sebagai persyaratan. Yah aku menyegarkan ingatan C ++ saya sebelum wawancara dan ketika saatnya tiba untuk tes saya berhasil lolos dengan beberapa hal saya tidak begitu yakin saya lakukan dengan benar.
Tetapi sebagian besar wawancara adalah tentang pemecahan masalah dan solusi kreatif dan C ++ akhirnya hanya menjadi faktor kecil.
Jadi peluang sangat tergantung pada majikan dan posisi yang mereka miliki.
Jika Anda melalui agen perekrutan Anda akan "mungkin" diberi tahu bahwa profil Anda tidak cocok. Tetapi dengan majikan nyata peluang Anda jauh lebih baik karena mereka benar-benar tahu apa yang mereka butuhkan.
sumber
Tergantung. Jika Anda dapat menjawab beberapa pertanyaan wawancara dasar tentang petunjuk dan semacamnya, maka Anda seharusnya baik-baik saja.
Ini juga bermanfaat jika Anda dapat membuat daftar perbedaan antara templat C ++ dan .NET generics.
Selain itu, cukup mudah untuk mengejar ketinggalan dengan sisanya saat Anda melanjutkan.
sumber
Iya. Ini mungkin tidak relevan dengan pengalaman C ++, tapi itu bagus.
Majikan yang baik akan tertarik pada bagaimana Anda berpikir , lebih dari berapa tahun dari bahasa tertentu yang Anda miliki.
Posisi entry level C ++ baik-baik saja: Anda dapat belajar dengan cepat, dan melakukan pekerjaan dengan baik. Perusahaan yang baik akan memberi Anda banyak kesempatan untuk tumbuh. Jika tidak, Anda bisa pergi ke tempat lain, dan memiliki pengalaman C # dan C ++.
sumber
Itu benar-benar tergantung pada sifat bisnis yang Anda lamar. Jika mereka mencari seseorang yang memiliki keahlian pemrograman dan arsitektur berbasis OO yang bagus, C # kemungkinan akan sebagus yang berikutnya.
Jika mereka bangga dengan kecepatan / respons perangkat lunak mereka, maka Anda akan perlu mengetahui algoritma Anda karena ini lebih penting daripada optimasi mikro - Tabel Hash versus Linear lookup, dll. C # masih relevan di sini, tetapi Anda perlu untuk menunjukkan pemahaman tentang karakteristik kinerja - misalnya, tidak semua orang tahu tentang ngen.exe.
Jika mereka masuk ke lingkungan yang tertanam / mobile dan / atau non-sampah, Anda benar-benar perlu tahu tentang cara mengelola memori secara efektif. Smart Pointers, seperti yang ditunjukkan @DeadMG, adalah kunci di sini, tetapi begitu juga memahami profil alokasi memori. Pemrogram gim sering pra-mengalokasikan array besar objek dan mendaur ulangnya untuk mengetahui persyaratan memori di muka dan mengurangi yang tidak diketahui pada basis per-frame. Ini juga merupakan teknik yang digunakan dalam scroll TableViews di iOS.
Jika ada pekerjaan integrasi, Anda mungkin membutuhkan keahlian tingkat-C dalam hal menyusun data antar bahasa (seperti P / Invoke) tetapi juga pemahaman tingkat-byte tentang bagaimana struktur data ini dapat digunakan, yang bukan praktik umum di C # dalam pengalaman saya.
sumber