ChatGPT, Copilot, dan masa depan Coding Interviews — Perspektif Pendiri Teknis
Artikel ini akan berbicara tentang bagaimana ChatGPT OpenAI dan GitHub Copilot akan mengubah cara kita mewawancarai, dan mengapa ini hal yang baik.
Sudah kurang dari dua minggu sejak ChatGPT dirilis ke alam liar, dan GitHub Copilot telah keluar selama setahun penuh (dirilis 29 Oktober 2021) dan lebih banyak lagi sekarang. Kedengarannya seperti saat yang tepat untuk berbicara tentang bagaimana Copilot, yang merupakan hal asli "AI ini akan mengambil pekerjaan kita", telah menua, dan bagaimana penantang baru (saya akan menyebutnya alat gratis dengan jujur) cocok.
Apa itu Kopilot? Dan pengalaman saya dengan itu.
Props to GitHub sejujurnya, tim pemasaran mereka tahu persis apa yang harus disebut Copilot. Lihatlah baris pertama pada halaman produk.
Dan itulah yang selalu terjadi. Saya mendapat akses ke akses awal sebulan setelah keluar, dan saya telah mengemudikan Copilot setiap hari sejak saat itu, dan juga mendaftar untuk paket 1 Tahun begitu diluncurkan. Berbicara tentang saya, saya telah membangun dan meningkatkan keterampilan startup sayaShack(⚡); selama 2 tahun sekarang, dan selama ini saya telah menggunakan Copilot untuk menghasilkan berton-ton kode boilerplate dan smart block. Menulis anotasi tipe dalam TypeScript, dengan konteks yang cukup, Copilot akan memintanya untuk Anda. Anda hanya perlu menulis jumlah kode yang tepat dan kemudian akan meminta kode yang akan menghemat waktu.
Biasanya, kode yang saya temukan paling banyak digunakan adalah Type Annotations di kedua sisi API ketika saya mencampur bahasa (beberapa API saya dibangun di FastAPI untuk melayani mode Tensorflow saya untuk analitik) sedangkan tumpukan yang tersisa adalah PERN (Postgres Express Bereaksi/Berikutnya NodeJS), ini membuat sebagian besar pengembangan saya tidak merepotkan karena saya tidak mengganti panel atau membebani ingatan saya dengan mencoba menyimpan semua properti itu dalam pikiran saya.
Ini juga merupakan cara yang bagus untuk menulis pengujian unit, sebagian besar waktu saya hanya menekan Tab untuk menghasilkan pengujian unit, dan meninjaunya di bagian akhir, ini adalah kasus penggunaan yang diremehkan untuk Copilot menurut pendapat saya.
Dan di tempat-tempat tertentu di mana saya merasa sangat malas, saya hanya akan meluangkan waktu untuk menulis komentar terperinci tentang apa yang saya inginkan seperti korsel berguling dalam satu kasus, dan itu memberi saya logika untuk memastikan bahwa Anda kembali ke awal. setelah halaman terakhir, dan CSS Transforms untuk mengikutinya, tergantung pada arah di mana Anda menggulir, itu mudah dilakukan secara normal tetapi akan memerlukan beberapa penyesuaian agar berfungsi persis seperti yang saya inginkan. Sebagian besar kode yang dihasilkan perlu diperiksa, tetapi itu bukan beban mental jika Anda tahu apa yang sedang Anda kerjakan, di sinilah pemaparan terhadap apa yang sedang Anda kerjakan membantu karena sintaks atau keanehan perpustakaan/kerangka kerja tidak akan' t membingungkan Anda. Itu akan lebih dari: "Oh, saya mengerti mengapa memutuskan untuk menggunakan Memoisasi di sini, mengapa saya tidak memikirkan itu?" dan bukan "Apa yang terjadi di sini?".
Ini seperti beralih dari editor teks biasa untuk menulis kode Anda ke IDE dengan penyorotan sintaks dan penyorotan kesalahan, Anda mendapatkan lebih banyak konteks dan petunjuk yang membantu Anda fokus pada apa yang Anda lakukan daripada memindai baris secara manual untuk masalah dan kesalahan ketik. Tentu seorang programmer yang baik harus dapat melihat sintaks dan mencari tahu apa yang salah atau memperbaiki kesalahan berdasarkan peringatan yang mungkin diperdebatkan oleh beberapa orang, tetapi ini benar-benar merupakan peningkatan QoL.
Penerimaan telah dicampur, beberapa menemukan prompt menjadi penghalang saat mereka bekerja (saya biasanya menonaktifkan dan mengaktifkan prompt ketika diperlukan untuk menghindari kekacauan itu), dan yang lain menjadi baik dengan "prompt" (yang akan Anda lihat sama penting dengan ChatGPT). Secara keseluruhan, ini benar-benar sebuah alat. Saya menggunakan Neovim, sementara yang lain menggunakan VSCode, saya produktif di Neovim karena saya belajar sendiri keunikannya dan belajar menggunakannya untuk mendapatkan keunggulan, sementara yang lain terbiasa dengan alur kerja dalam VSCode dan mungkin dalam beberapa kasus dapat berfungsi sebagai secepat yang saya bisa. Ini semua tentang bagaimana Anda menggunakan alat ini.
Apa itu ChatGPT? Dan pengalaman saya dengan itu.
ChatGPT keluar pada 30 November 2022, dan langsung menjadi berita utama seperti yang dilakukan Copilot tahun lalu tentang bagaimana hal itu mungkin akan mengambil pekerjaan Anda. Ya, ChatGPT adalah peningkatan yang signifikan dibandingkan Copilot dan melakukan hal ini sekaligus mampu menjawab hal-hal non-CS seperti nuansa mengapa Cahaya berperilaku seperti partikel dan gelombang pada saat yang bersamaan.
Kudos kepada para insinyur dan tim di belakang ChatGPT dan Copilot, kemajuan selama setahun sungguh luar biasa. Ketika saya mulai dengan NLP dan NLU pada tahun 2014, saya mencoba berbagai model bahasa tahap awal dan teknik membangun basis pengetahuan ketika saya mengerjakan "Jarvis" internal saya sendiri, Anda dapat melihatnya beraksi di sini , dan saat saya meningkatkannya dan melihat hal-hal seperti BERT/ALBERTA dan GPT-1, saya dapat melihat batasan dan kompromi pada saat itu dan berharap ini hanya akan mencapai level ini pada tahun 2025, jadi secara pribadi, ini seperti hal yang sangat menarik untuk saya!
Selain itu, ChatGPT setidaknya dalam konteks CS dapat digunakan untuk membuat kode untuk Anda. Dengan Copilot Anda akan mengintegrasikannya ke dalam IDE Anda dan itu akan memindai kode Anda dan memberikan konteksnya sendiri untuk petunjuknya. Jadi komentar yang Anda tulis sebelum deklarasi fungsi dan kode di atasnya akan membantu memberikan prompt terbaik. Dengan ChatGPT, ini lebih bersifat percakapan seperti namanya. Anda harus memberinya prompt yang cerdas untuk membuatnya menulis kode untuk Anda beserta penjelasannya (Copilot menghasilkan dokumentasi yang bagus dalam hal ini, sementara Anda dapat menggunakan ChatGPT untuk mendapatkan penjelasan ELI5 yang lebih baik tentang kode yang diberikannya kepada Anda).
Berikut adalah contoh di mana asumsikan bahwa Anda baru mengenal python dan mencoba mendapatkan beberapa kode untuk menghasilkan bilangan prima dan terjebak pada logika. Anda dapat meminta ChatGPT untuk membuat kode untuk Anda dan itu akan memberi Anda solusi yang berfungsi dengan penjelasan.
Sekarang selain meme toksisitas StackOverflow, ini adalah cara yang baik untuk mendapatkan beberapa penjelasan yang berguna ketika materi yang Anda maksud tidak begitu jelas (tidak semua materi sempurna dengan setiap topik). Saya masih akan merekomendasikan pergi ke StackOverflow atau Reddit untuk meminta bantuan, Anda bertemu dengan beberapa orang keren setelah pengguna garpu rumput pergi dan itu selalu bagus.
Di bagian selanjutnya, saya akan berbicara tentang bagaimana hal ini akan mengubah cara kita mewawancarai.
Bagaimana ini akan mengubah cara kita mewawancarai?
Persiapan wawancara coding selalu, Grind LeetCode, dan berharap yang terbaik. Meskipun saya tidak menentang Pemrograman Kompetitif dan cara LeetCode/HackerRank untuk menjadi lebih baik dalam kode, banyak orang akhirnya mengerjakan ini, dan tidak pernah secara praktis membangun proyek di luar pembuatan tindak lanjut tutorial. Ini melahirkan rasa sindrom penipu sendiri menurut saya. Namun, seseorang tidak dapat disalahkan di pasar saat ini karena menggiling LeetCode untuk mendapatkan pekerjaan FAANG (MANGA sekarang?) yang besar dan memulai karir mereka dengan itu. Namun, dengan munculnya Copilot dan ChatGPT, adegan wawancara harus mencermati bagaimana wawancara seharusnya benar-benar berubah untuk melihat bagaimana calon kandidat memanfaatkan alat ini untuk menghasilkan kode berkualitas lebih tinggi, dalam waktu yang lebih singkat tanpa pengenalan utang teknologi.
Untuk bersenang-senang, saya melemparkan Hardmasalah LeetCode di ChatGPT dan hanya menyalin pernyataan masalah (tidak membuat tweak lain ke prompt) inilah yang saya dapatkan:
Jika saya men-tweak prompt sedikit lebih banyak, saya bisa mendapatkan lebih dari pseudo-code, tetapi itu sebenarnya sangat berguna, bagi kebanyakan dari kita tiba di pseudo-code yang tepat adalah bagian tersulit dari masalah, bagi seseorang yang mencoba untuk menggunakan ini untuk menipu akan mengalami kesulitan untuk membuat kode, karena mereka mungkin kurang pengalaman dengan bahasa untuk mengimplementasikan kode semu dengan benar (dan akan menjadi lebih buruk dengan bahasa yang lebih canggih seperti C++ melalui Python yang langsung dari kode semu).
Hal yang dapat diambil untuk orang-orang yang merancang wawancara sekarang adalah beralih ke pemecahan masalah yang lebih praktis yang berkaitan dengan ruang lingkup pekerjaan di tempat kerja, lebih banyak masalah yang dibawa pulang, papan tulis, dan lebih disukai berbicara tentang proyek pribadi dan memecahnya untuk melihat kualitas wawancara. pengembang sebelum Anda. Karena jika Anda memahami bagaimana semuanya cocok satu sama lain, Anda dapat memanfaatkan alat ini untuk membangun sistem yang tangguh dengan kecepatan lebih tinggi. Ini sedikit pergeseran peran di mana Anda sekarang menjadi pemimpin tim, dengan Copilot dan ChatGPT menjadi anggota tim Anda yang Anda beri petunjuk dan bekerja sama untuk menyelesaikan pekerjaan Anda. Anda harus merencanakan sesuatu dengan lebih detail, Anda sekarang memiliki waktu dan energi untuk mengadopsi TDD (peningkatan kualitas hidup yang sangat besar untuk sebagian besar Pengembang dalam tim kecil di startup) dan banyak lagi praktik pengembangan berkelanjutan.
Menutup pikiran
Pada titik tertentu, pandai menulis petunjuk cerdas akan menjadi keterampilan yang harus dimiliki seperti bagaimana googling adalah keterampilan yang harus dimiliki. Pada akhirnya, saya masih suka berpikir bahwa, 90% dari kode yang kita tulis (CRUD Ops, Landing pages, Forms) dapat dibuat dengan ini, tetapi bagian kreatif dan pemecahan masalah dari penulisan kode, UX, dan Optimasi tidak tidak akan pergi dalam waktu dekat. Pada titik ini, saya tidak akan terkejut jika Anda dapat menggunakan Difusi Stabil untuk menghasilkan Mockup.
Setiap bidang mengalami gangguan saat tingkat otomatisasi yang lebih tinggi diperkenalkan, dan pekerjaan pasti terganggu dan itu selalu tidak menyenangkan saat terjadi pada Anda, tetapi di Teknologi, kami dapat belajar dengan cepat, membangun dengan cepat, dan meningkatkan keterampilan dengan cepat.
Sementara itu, Anda dapat membangun proyek dan mempersiapkan diri untuk perubahan yang akan datang tentang bagaimana wawancara akan dilakukan.
Dan jika Anda adalah salah satu orang atau grup tersebut, periksa skillShack(⚡️); — Sebuah platform bagi Anda untuk melakukan hal-hal tersebut:
- Jaringan
- Bagikan proyek Anda (dapatkan umpan balik tentang kode Anda atau eksekusi Anda dari komunitas kami)
- Dokumentasikan kemajuan Anda
- Terhubung dengan pengembang lain
- Berkolaborasi, temukan peluang, dan banyak lagi!
Terima kasih telah bertahan sampai akhir, semoga harimu produktif! Pertimbangkan untuk mengikuti saya jika Anda ingin bergabung dengan saya dalam perjalanan saya (Anda dapat membaca tentang perjalanan saya di sini ) saat saya membangun dan menskalakan perusahaan ini untuk menjangkau lebih banyak pengembang seperti Anda!

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































