Kekuatan Dan kelemahan Untuk Software Development - CRUDPRO

Kekuatan Dan kelemahan Untuk Software Development

Kekuatan Dan kelemahan Untuk Software Development

Saat saya pertama kalinya membangun DevSkiller 7 tahun lalu, arah team saya ialah menolong perusahaan temukan developer luar biasa. Mulai sejak itu, saya mempunyai peluang untuk bekerja dengan perusahaan Fortune 500, dan perusahaan yang lebih kecil secara global. Saya bicara dengan beberapa orang teknis seperti CTO, manager TI, pimpinan team, anggota team, dan perwakilan SDM. Semuanya orang ini bertanggungjawab untuk temukan dan mengambil bakat tehnologi terbaik. Mereka hadapi permasalahan universal: bagaimana mengaryakan pemrogram luar biasa. Mereka memburu kemampuan developer yang serupa.

Semua diawali dengan mengenali developer yang bagus saat Anda menyaksikannya. Ini bawa kita ke pertanyaan krisis: Apa kemampuan khusus developer? Ada beberapa dialog mengenai permasalahan ini. Saya anjurkan Anda untuk membaca artikel Quora ini. Itu dibungkus sarat dengan wacana dari beberapa dalang industri yang serius.

Berdasar pengalaman kami, beberapa ratus perbincangan dan beberapa puluh pivot di sejauh jalan kami, kami harus ikut dalam dialog. Kami sudah membuat daftar kualitas khusus dari insinyur software.

Kemampuan dan kekurangan untuk software developer

1. Rasa ingin ketahui

"Keinginantahuan, dalam pemikiran yang lebih besar dan baik hati, ialah keinginan pertama dan paling akhir", kata Samuel Johnson. Itu betul saat menimbang kualitas seorang programmer yang bagus (dan pemikiran mereka yang luar biasa dan baik hati). Silahkan kita mencari rekomendasi yang lebih kontemporer yang meningkatkan pemikiran Johnson. Dan Pupius menjelaskan jika "keinginantahuan itu wajib sejauh hidup seorang insinyur". Ini menggerakkan Anda untuk pelajari bahasa baru, melakukan eksperimen, dan cari jalan keluar baru. Tersebut yang Anda harapkan dari insinyur. Ini menggerakkan Anda untuk menyelidik opsi artikel seseorang, dan menanyakan anggapan. Pupius mengeklaim jika banyak kualitas yang umumnya dihubungkan dengan tehnik luar biasa "datang dari rasa ingin ketahui yang kaya".

John Allspaw, Chief Technology Officer di Etsy sampaikan point bagus dalam postingnya "Jadi Insinyur Senior". Ia menjelaskan jika developer terpenting selalu ingin ketahui. Mereka condong menanyakan pada diri kita dan rekan sepantarannya saat mereka bekerja.

  • "Apa yang dapat saya terlewat?"
  • "Bagaimana ini tidak sukses?"
  • "Maukah Anda tembak sebanyak-banyaknya lubang ke pertimbangan saya mengenai ini?"
  • "Bahkan juga bila secara teknis bagus, apa cukup dimengerti oleh semua organisasi untuk menjalankan, memecahkan permasalahan, dan meluaskannya?"

Saya benar-benar sepakat. Sepintas, beberapa pertanyaan ini kemungkinan terlihat disodorkan dengan seorang pesimis seri. Sebetulnya bukan itu permasalahannya. Mereka disuruh oleh pribadi yang ingin ketahui dengan keinginan untuk menulis mekanisme yang menawan dan stabil. Tidak boleh salah menduga kecermatan sebagai sikap "we will be crushed".

2. Ketrampilan teknis

Rahul Varshney menjelaskan jika "seni rupa dan pemrograman sama karena ketrampilan teknis yang luar biasa tidak pas menjadi seniman atau programmer yang luar biasa". Kedahsyatan tidak tiba dari ketrampilan teknis saja. Tetapi, Anda tidak bisa menginginkan hasil hebat dari orang yang tidak mempunyai ketrampilan yang pas untuk tugas itu. Anda harus pikirkan ketrampilan sebagai salah satunya komponen dari teka-teki yang sedikit dilaksanakan dengan terpisah. Itu dapat lakukan fenomena jika dibarengi dengan kemampuan developer yang lain. Untungnya, kehadiran kemampuan dan kualitas khusus seorang insinyur software benar-benar gampang diverifikasi dengan test pengkodean.

Ingat-ingatlah jika pengetahuan mengenai minutia teknis itu wajib. Tetapi.. Bila Anda temukan calon yang prospektif yang memperlihatkan semua kemampuan developer namun tetap belajar, pikirkan untuk mengaryakan mereka untuk status junior. Anda akan kaget sejauh mana mereka dapat mengambil langkah.

Kecepatan dan keproduktifan

Study Sackman, Erikson, dan Grant temukan ketidaksamaan 10 kali lipat dalam keproduktifan di antara pemrogram. Riset ini bukanlah tanpa kekurangan, walau. Itu tidak "mengatur ketidaksamaan dalam kekuatan pribadi". Itu menyatukan dari hasil pemakai yang bekerja dengan bahasa pemrograman tingkat rendah dan tingkat tinggi.

Kekuatan Dan kelemahan Untuk Software Development

Steve McConnell memiliki pendapat jika riset yang ada pada subyek pada subyek tidak terlepas dari kebatasan. Itu tidak konklusif tapi tentu sugestif. Dan sama seperti tersebut Anda harus menyaksikannya.

Upah jarang menggambarkan ketidaksamaan posisi besarnya di antara developer. Adakah langkah untuk menghitung keproduktifan developer dan haruskah Anda coba melakukan?

Sayang, selama ini menghitung keproduktifan developer sudah lepas dari perhatian kami. Kita mengetahui jika baris kode (SLOC, atau Source Lines of Kode) bukan ukurannya yang sama dengan nilai developer. Kenyataannya, lebih sedikit banyak di dunia code (sepanjang itu stabil dengan diri kita dan berperan penuh). Menurut Phil Haack, sediakan code yang singkat, bisa dipiara, dan dipahami lebih bagus dibanding masukkan volume kode secara cepat. Kenapa? Pikir mengenai apa yang terjadi bila Anda ingin menambah fitur atau penyempurnaan baru. Umumnya dibutuhkan waktu beberapa jam untuk merinci kode ringkih dan menutupinya. Ini umumnya tiba dengan cap harga yang terjal juga. Diamkan saya ini: apa yang Anda irit untuk developer yang cepat tapi asal-asalan, Anda pada akhirnya menghabiskannya untuk team QA.

Bila Anda tertarik sama keproduktifan di bagian TI, baca "Dogma Keproduktifan developer" oleh Dustin Barnes.

Kesadaran

Paul Haack menjelaskan jika developer terbaik mengetahui kapan harus membuat code dan kapan tidak. Ia memiliki pendapat jika temukan kembali roda memberi penekanan yang tak perlu pada project. Sebagai tukarnya, pakai library yang terdapat untuk mengirit waktu. kelihatannya rasional, kan? Tetapi, lakukan semua dari sejak awalnya saat ini masih sebagai salah satunya maling waktu paling besar.

Kesadaran merealisasikan dianya lewat tingkat batasan toleran resiko. Ini penting karena kerap kali Anda perlu memfaktorkan ulangi mekanisme langsung. Di sanalah kekeliruan dapat terjadi. Sanggup memandang resiko secara realitas tanpa ego merintangi terang sebagai salah satunya kemampuan dan kualitas khusus dari insinyur software.

3. Intuisi

Sama seperti yang disebutkan Varshneya, sementara beberapa dev berusaha untuk temukan jalan keluar, itu tiba dengan alami ke seseorang. Ini "seakan-akan sebuah pencerahan menghajar mereka di saat mereka duduk untuk membikin program atau memecahkan permasalahan".

developer software luar biasa pahami algoritma dan arsitektur secara intuitif. Kekuatan ini memungkinkannya mereka untuk belajar secara cepat, yang bawa kita ke kualitas selanjutnya.

4. Suka belajar

Menurut John Krystynak, "loyalitas ikhlas untuk evaluasi terus-menerus" adalah kunci kemampuan developer. "Anda harus menyenangi praktek fundamental dari tidak paham jadi tahu, tiap hari" bila tidak, Anda tidak mengusai melakukan.

Ini berlaku khususnya di dunia IT. Walau bermanfaat untuk mempunyai langkah Anda lakukan suatu hal, penting untuk Anda untuk keluar atas sesuatu yang Anda kenali. Dapatkan langkah yang bisa lebih cepat untuk menuntaskan suatu hal. Sebuah hal salah satunya triknya dengan memerhatikan skema dan menarik ringkasan.

Ada banyak langkah untuk berkembang saat Anda ialah developer yang bagus (permainan kalimat).

  • Mendatangi acara industri, seperti pertemuan dan hackathon. Thomas So dari AppLovin menyebutkan mereka training persiapan kerja.
  • Temukan mentor.
  • Bekerja di project sambilan.
  • Minta operan balik rekanan.

5. Kekuatan menyesuaikan

Dunia IT berbeda secara cepat dan sebagai developer yang bagus, Anda tetap harus dapat menyesuaikan. Sebagai taruhan yang aman untuk mengaryakan orang yang selalu cari alat dan langkah baru saat lakukan suatu hal.sebuah hal. Mereka kerap ikuti informasi industri dan cuma perduli dengan kepiawaiannya.

Makin bertambah yang Anda kenali, di luar tehnologi opsi Anda, makin Anda jadi asset untuk team dan semua organisasi. Sama seperti yang diklaim Marius Mazilu, "keberagaman tehnologi sudah jadi demikian luas hingga jadi specialist pada sebuah tehnologi tertentu belum pasti sebagai lajur keberhasilan yang termenjaga." Mazilu yakin jadi lebih fleksibel itu wajib. Itu karena tehnologi yang masak lebih konstan dan tidak bisa ikuti. Ini bermakna ketrampilan Anda jadi cepat kedaluwarsa. Di lain sisi, rangka kerja baru umumnya memerlukan investasi saat yang besar karena tidak konstan. Saat ia berpendapat, "Anda kemungkinan kaget satu hari temukan jika mereka tidak membalasnya cinta Anda".

No
Mazilu mempunyai 7 ketentuan simpel yang perlu Anda turuti untuk ikuti perubahan tehnologi.
1
Percayai firasat.
2
Selalu kembali lagi ke dasar.
3
Berhati-hati dengan peluru perak. Ini terhitung tehnologi yang ditawarkan secara baik yang sering dipakai karena walau tidak sesuai project.
4
Belajar men-debug.
5
Belajar skrip.
6
Tidak boleh terobsesi dengan penampilan kode Anda.
7
Pergi dengan banyak orang.

6. Sikap positif

Sikap positif adalah kualitas khusus dari developer software yang luar biasa. Salah satunya kualitas programmer yang bagus ialah mereka memecahkan permasalahan tiap hari, tapi itu tak berarti mereka harus pikirkannya. Sikap "usai" benar-benar diperlukan, beberapa karena pekerjaan dan tiket condong menimbun. Penting untuk putuskan kapan saatnya untuk keluarkan jalan keluar yang lumayan baik dan berpindah ke hal selanjutnya dalam perincian. Peringatan di sini yaitu tidak untuk banjiri developer Anda lebih banyak pekerjaan dibanding yang bisa mereka bereskan dan menjaga semua masih tetap realitas.

Damien Filiatrault tempatkan "sikap positif" pada bagian atas daftar kualitas fundamental yang dipunyai oleh developer yang bagus. Ia menjelaskan Anda bisa mengetes water dan ajukan beberapa pertanyaan tipe "percakapan easy" yang nampaknya simpel untuk menyaksikan apa responnya konsentrasi pada positif atau negatif. Beberapa pertanyaan ini mencakup:

  • "Apa kamu memandang diri kamu untung? (tinggi hati atau rendah hati).
  • Bagaimana perjalanan Anda ke interviu? (pengeluh atau mungkin tidak cemas)".

7. Merengkuh tuntunan

John Krystynak menjelaskan jika "pemrogram luar biasa tidak jadi luar biasa dalam isolasi." Saya respect kepadanya karena menjelaskan itu. Salah satunya argumen kenapa model tuntunan bekerja baik sekali di IT ialah karena beberapa developer yang bagus belajar paling efektif dengan magang. Perlu waktu sedikit untuk cari tahu bila Anda bisa melihat rekanan kerja yang lebih ekspert pada tempat kerja. Argumen lain kenapa mekanik hebat menyarankan tuntunan ialah karenanya mewajibkan Anda untuk mengutarakan kemampuan dan kekurangan Anda. Ini mengajarkan Anda beberapa hal mengenai menjaga ego Anda masih tetap teratasi.

Salah satunya hal terbaik yang bisa Anda kerjakan sebagai pemberi kerja untuk tumbuhkan sikap semacam itu di dalam organisasi Anda ialah memasang pemrogram eksper dengan mahasiswa baru. Anda kemungkinan berpikiran jika ini kemungkinan akan memberatkan tutor yang kemungkinan sangat repot. Ingat-ingatlah jika mentee dan tutor belajar dari penataan itu. Bila Anda tidak bisa menerangkan suatu hal ke mentee Anda, itu bermakna Anda tidaklah cukup pahaminya. Atau tidak bisa mengkomunikasikannya dengan lumayan baik. Maknanya ada peluang belajar untuk kedua pihak dalam jalinan ini.

8. Ketrampilan komunikasi

Damien Filiatrault mengatakan jika "ketrampilan komunikasi yang bagus berkorelasi langsung dengan ketrampilan peningkatan yang bagus." Berikut argumennya.

  • Anda harus ketahui pertanyaan apa yang perlu disodorkan saat Anda tidak pahami atau perlu mengecek ulangi.
  • Bisa saja untuk cari tahu berdasar komunikasi dengan rekanan kerja. Itu bermakna Anda tak perlu tergantung pada fitur tercatat.
  • Ide dimengerti dan didiskusikan secara cepat dalam team developer yang berhasil sukses.
  • Salah satunya kualitas programmer yang bagus ialah mereka bisa berbicara secara memberikan keyakinan dengan staff teknis dan non-teknis.

Kemampuan developer: ringkasan

Jadi lebih susah untuk temukan programmer yang luar biasa. Industri tehnologi mengalami keadaan kelangkaan talenta. Ini bermakna kami memerlukan semakin banyak developer yang kemungkinan bisa kami dapatkan, dan perusahaan usaha keras untuk menarik bakat tehnologi terbaik.

Mengenali kemampuan developer yang perlu untuk meningkatkan usaha Anda ialah satu kewajiban. Jadilah cepat! Saat Anda temukan calon yang prospektif, melakukan tindakan cepat. Pada kondisi kelangkaan, perekrut merebutkan calon yang serupa.

Apa kemampuan developer khusus? Looking forward untuk dengar pemikiran Anda!


<