Apa yang dipikirkan programmer senior?

Penulis materi, terjemahan yang kami terbitkan hari ini, mendukung gagasan Ralph Waldo Emerson bahwa kami menjadi apa yang kami pikirkan. Di sini kita akan berbicara tentang cara berpikir programmer senior.



Tidak mungkin untuk mempelajari segalanya secara mutlak


Ada sejumlah besar teknologi. Tidak mungkin untuk mempelajari semuanya.

Temukan tumpukan teknologi yang paling sesuai untuk Anda. Pilih teknologi yang memungkinkan Anda untuk membuat apa yang Anda butuhkan dan mempelajarinya secara menyeluruh. Misalnya, jika Anda tertarik pada pengembangan web modern, tumpukan MERN akan menjadi pilihan yang baik. Ini termasuk MongoDB, Express, React, dan Node.js. Teknologi ini untuk mereka yang suka JavaScript.

Tentu saja ada serangkaian teknologi lainnya. Misalnya, tumpukan MEAN. Di sini, alih-alih Bereaksi, Angular digunakan untuk mengembangkan frontend. Di antara set teknologi lainnya yang dapat dikuasai, perlu dicatat, misalnya, kombinasi PHP, MySQL, HTML dan CSS. Di sini, frontend menggunakan HTML dan CSS murni. Jika Anda tertarik dengan pengembangan server, Anda dapat memperhatikan Ruby dan Ruby on Rails.

Gagasan utama di sini adalah ini: apa pun yang Anda pilih, yang terbaik adalah tetap pada pilihan ini dan menyempurnakan pengetahuan Anda di bidang yang relevan. Jadi, jangan dikatakan, “magang semua kerajinan”, seorang pengembang yang belum mencapai penguasaan dalam hal apa pun yang konkret. Ini mengarah pada berjalan dalam lingkaran, dan ini jelas bukan yang Anda butuhkan.

Pengembang bukan hanya orang-orang dengan dokumen pendidikan yang relevan


Saya adalah pengembang otodidak. Dalam bisnis saya, saya berhasil berkat kombinasi kerja keras, kesabaran, kegigihan, konsentrasi.

Fakta bahwa untuk menjadi pengembang, tidak perlu lulus dari universitas tidak berarti bahwa pengembangan itu sederhana. Menjadi seorang pengembang tidaklah mudah. Dan dalam bergerak menuju tujuan, Anda seharusnya tidak membiarkan diri Anda menganggap akhir dari segalanya sebagai kekalahan kecil di semua biaya. Ini semua tentang berjuang untuk suatu tujuan.

Jika, dihadapkan dengan kesulitan yang disebabkan oleh kurangnya pendidikan dasar, menyerah saja, maka, tentu saja, tidak ada yang akan tercapai. Rahasianya adalah, setelah terjadi kesalahan, coba lagi. Ini adalah untuk melakukan satu upaya lagi, dan untuk menjaga garis seseorang selalu, setiap hari, setiap saat, ketika semuanya tampak sudah hilang. Ketika perasaan seperti itu muncul, ketika tampaknya itu adalah dasar, Anda perlu ingat bahwa ini biasanya merupakan pertanda bahwa tujuan hampir tercapai, bahwa ada sangat sedikit yang tersisa. Dalam kasus seperti itu, Anda hanya perlu menawarkan diri Anda untuk mencoba lagi dan mengubah rintangan menjadi peluang.

Kebanyakan orang pada tanda kegagalan pertama siap untuk segera meninggalkan tujuan dan niat mereka. Dan hanya sedikit yang berjuang sampai akhir, membenci semua kesulitan, sampai mereka mencapai tujuan mereka.

Napoleon Hill

Pelajari seni pencarian online


Sekarang Anda sudah mulai pemrograman, Anda harus tahu bahwa Anda akan merasa bahwa semua yang Anda lakukan tidak ada gunanya. Adalah normal untuk tidak mengetahui jawaban atas semua pertanyaan, terutama ketika Anda baru memulai perjalanan Anda. Penting untuk mengetahui di mana mencari jawaban.

Pemrograman adalah solusi untuk masalah. Jika Anda tidak dapat memikirkan bagaimana menyelesaikan masalah yang Anda hadapi, temukan cara untuk menyelesaikannya di Web. Cari di Internet untuk seseorang yang tahu bagaimana menyelesaikan masalah yang Anda hadapi dan belajar darinya. Ini persis cara terbaik untuk belajar pemrograman.

Berikut ini adalah saran berharga untuk Anda: semua tugas dalam bidang pemrograman yang Anda hadapi mungkin telah muncul sebelum programmer sebelumnya. Jangan menemukan kembali roda. Lebih baik mengambil roda ini, sudah ditemukan oleh seseorang, dan menggunakannya.

Tenggat waktu cenderung terputus


Tidak peduli seberapa bagus rencananya, mengevaluasi tenggat waktu selalu sangat sulit. Ada beberapa strategi yang digunakan oleh perusahaan dalam manajemen proyek. Saya percaya strategi yang paling populer adalah Agile.

Tidak masalah seberapa detail proses pengembangannya. Dalam perjalanan kerja, akan selalu ada beberapa kendala. Tidak masalah seberapa bagus anggota tim, dari analis bisnis hingga spesialis kualitas perangkat lunak. Tanggal tenggat untuk penyelesaian selalu tidak akurat. Tanggal ini harus dipindahkan. Tenggat waktu selalu hanya perkiraan. Dalam kebanyakan kasus, di perusahaan besar, ketika mengembangkan aplikasi perusahaan, meningkatkan tenggat waktu beberapa bulan adalah normal.

Tetapi jika kita berbicara tentang proyek kecil yang dilakukan untuk perusahaan kecil, tenggat waktu untuk commissioning proyek tersebut sudah lebih ketat. Jika Anda berencana untuk terlibat dalam proyek pihak ketiga, maka klien, selama negosiasi, paling sering mengajukan pertanyaan kapan semuanya akan siap. Beberapa perwakilan bisnis tidak tertarik pada bagaimana bisnis akan dilakukan. Penting bagi mereka untuk hanya mengetahui tenggat waktu penyelesaian proyek.

Karena itu, berhati-hatilah saat menentukan tanggal dan menetapkan tenggat waktu. Biasanya mereka yang Anda ajak bicara menganggap tenggat waktu ini sebagai sesuatu yang tidak berubah. Yang terbaik adalah mengandalkan fakta bahwa pekerjaan akan memakan waktu lebih banyak daripada yang direncanakan. Kami berbicara tentang memecahkan masalah yang tidak terduga, debugging dan hal-hal lain seperti itu. Lebih baik mengejutkan klien dengan pengiriman proyek lebih cepat daripada kesal karena melanggar tenggat waktu. Secara umum, seperti kata mereka, jaga merek.

Debugging adalah 60% dari pekerjaan, dan pemrograman 40%


Mungkin ide yang dikemukakan dalam judul adalah perkiraan paling akurat dari distribusi waktu programmer yang saya temui.

Saya menghabiskan sebagian besar waktu saya untuk debugging. Proyek terakhir yang dikembangkan tim saya adalah aplikasi Android untuk klien layanan kesehatan. Kami menggunakan Bereaksi Asli. Saya terlibat dalam frontend dalam proyek ini.

Misalkan dalam sebulan dibutuhkan sekitar 10 hari untuk membuat bagian klien dari aplikasi. Sisa waktu dihabiskan untuk debugging, pada perang melawan kesalahan. Misalnya - dengan kesalahan yang disebabkan oleh dependensi dan ketidakcocokan versi yang berbeda dari paket yang berbeda.

Ini adalah proyek pertama saya untuk platform Android. Minggu-minggu dihabiskan hanya untuk men-debug beberapa bagian aplikasi, dan untuk memverifikasi bahwa mereka diatur persis seperti yang diperlukan, termasuk penggunaan versi dependensi tertentu di dalamnya.

Membuat aplikasi itu menarik dan menyenangkan. Tetapi debugging itu sulit, dan bahkan sangat panjang. Tapi ke mana harus pergi. Ini adalah bagian dari pekerjaan programmer.

Di sini saya ingin memberikan satu rekomendasi mengenai pola pikir programmer senior. Jika Anda tidak berhasil mengatasi masalah yang sama, katakan, selama satu jam, cobalah istirahat. Lakukan sesuatu yang lain, bebaskan pikiran Anda ... Terkadang kita sendiri adalah sumber masalah yang kita hadapi.

Anda akan berpura-pura tahu banyak hal, meskipun, pada kenyataannya, Anda tidak tahu


Saya juga melakukannya. Misalnya, beberapa rekan mendiskusikan beberapa teknologi yang mereka gunakan, atau teknologi baru yang mereka minati. Mendengarkan mereka, saya menyetujui, dan bertindak seolah-olah saya cukup berpengalaman dalam apa yang sedang dibahas. Namun sebenarnya tidak demikian. Sebenarnya, saya ingin menyampaikan kepada Anda gagasan bahwa ini normal, dan bahwa Anda tidak sendirian dalam hal ini.

Ada sejumlah besar teknologi. Tidak realistis untuk memahami semua teknologi ini.

Tidak ingat. Berusaha untuk mengerti


Saya telah menaruh perhatian besar pada pentingnya mempelajari dasar-dasar pemrograman.

Awalnya, pelatihan terdiri dari menyalin kode dari tutorial, dari repositori, dan dari tempat lain. Ini normal, tetapi selama orang yang menyalin kode memahaminya. Jika Anda tidak mengerti kodenya, menyalin sendiri tidak akan mengajarkan apa pun.

Setelah beberapa bulan belajar seperti itu, pemahaman yang lebih dalam tentang apa yang akan mulai datang. Yaitu, seseorang akan mulai belajar konstruksi kode sintaksis dan beberapa prinsip pemrograman. Maka saatnya harus datang ketika itu akan berubah, tanpa disuruh, untuk menyelesaikan beberapa masalah sendiri. Itu membutuhkan upaya sadar seseorang yang sedang belajar memprogram. Yaitu, Anda perlu menyelesaikan masalah dengan membuat kode sendiri, menggunakan pendekatan Anda sendiri untuk menyelesaikan masalah, gaya Anda sendiri, ide-ide Anda sendiri.

Intinya di sini bukan untuk menghabiskan terlalu banyak waktu "menyalin" kode. Jangan takut untuk secara mandiri menyelesaikan berbagai masalah. Jalur coba-coba akan mengajarkan lebih dari sekadar "salin-tempel", jadi ada baiknya mengambil tugas dan mengerjakannya sampai apa yang tampak rumit mulai tampak sederhana dan dapat dimengerti. Ini, tentu saja, akan memakan waktu, tetapi ini pemrograman.

Dokumentasi adalah keselamatan Anda


Anda dari masa depan akan berterima kasih hari ini untuk kode yang terdokumentasi dengan baik.

Saat Anda memulai pemrograman, Anda akan perlahan mengerjakan beberapa proyek. Kemudian beberapa proyek lagi akan ditambahkan kepada mereka. Dan kemudian Anda tersesat.

Dan itu akan terjadi. Anda sedang mengerjakan proyek No. 11, dan bos, secara tak terduga, mengingatkan Anda pada proyek No. 2. Anda harus terus mengerjakan proyek ini. Proyek No. 2 sekarang menjadi bisnis terpenting Anda. Dan sebelumnya, setahun yang lalu, proyek No. 2 ditunda tanpa batas waktu.

Tidak ada yang memberi tahu Anda bahwa proyek No. 2 dapat menjadi penting lagi, jadi Anda tidak perlu membuat dokumentasi untuk proyek ini. Akibatnya, ketika Anda kembali ke kode Anda, kemungkinan besar Anda akan melupakan beberapa detail penting dari implementasinya. Dan hal yang paling tidak menyenangkan di sini adalah Anda memberi tahu atasan Anda bahwa proyek No. 2 sudah 60% siap. Karena itu, mereka hanya akan memberi Anda beberapa minggu untuk menyelesaikannya.

Sebenarnya, moral dongeng ini adalah ini: Anda perlu mencurahkan waktu untuk mendokumentasikan semua proyek yang Anda buat. Dokumentasi menyelamatkan nyawa.

Bersiaplah untuk kenyataan bahwa Anda harus terus belajar


Ini adalah pemikiran yang sangat penting.

Fakta bahwa Anda telah menguasai beberapa bahasa dengan sempurna atau beberapa tumpukan teknologi yang Anda gunakan tidak berarti bahwa Anda tidak perlu belajar apa pun. Ada banyak hal di sekitar yang perlu Anda pelajari. Teknologi sedang berkembang, dan Anda harus mengikutinya. Jangan menjadi mangsa fallacy yang Anda tahu hari ini akan relevan dalam sepuluh tahun. Itu tidak akan terjadi.

Teruslah belajar, berusahalah untuk belajar lebih banyak, untuk menjadi lebih baik. Faktanya adalah bahwa pengembangan web adalah pembelajaran berkelanjutan. Saya pikir di sini letak seluruh pesona masalah ini ketika Anda mencoba untuk tidak melewatkan kesempatan untuk mempelajari sesuatu yang baru dan menarik.

Peluang datang dan pergi. Mereka dapat muncul sesaat, dan dalam sekejap mereka dapat dilewatkan. Karena itu, bersiaplah untuk bertindak. Bersiaplah untuk memenuhi kesempatan ketika itu mengetuk pintu Anda.

Gagasan apa yang menurut Anda membantu programmer tumbuh secara profesional?


All Articles