Saya seorang siswa berusia 15 tahun yang ingin membeli mobil pertamanya dan berpikir saya bisa mendapatkan uang tambahan dengan belajar program karena saya suka bermain-main dengan komputer sepanjang waktu.
Saya telah membaca banyak posting di sini dan telah membuat daftar buku yang saya pikir akan bermanfaat bagi saya, namun, saya tidak tahu informasi mana yang paling penting untuk diketahui terlebih dahulu atau jika saya memiliki semua yang saya butuhkan. Inilah yang saya pikirkan:
1: Pelajari bahasa pemrograman secara mendalam. Saya kira-kira 1/2 cara selesai dengan buku Langkah-demi-Langkah 2. Pelajari tentang desain berorientasi objek dan pola desain 3. Pelajari tentang pengujian perangkat lunak 4. Lakukan latihan keterampilan ini di situs web seperti projecteuler, topcoder, dan coba dan lakukan yang sederhana proyek di situs web freelance seperti rent-a-coder.
Apakah ada hal lain yang menurut Anda perlu atau harus saya perhatikan?
Terima kasih.
Microsoft Visual C # 2010 Langkah demi Langkah
Profesional C # 4.0 dan .NET 4 (Programmer Wrox ke Programmer)
Kepala Analisis dan Desain Berorientasi Objek Pertama
Pola Desain: Elemen Perangkat Lunak Berorientasi Objek yang Dapat Digunakan Kembali
sumber
Jawaban:
Langkah Pertama Anda = Pelajari Kerajinan Anda
Pengalaman lebih penting daripada pembelajaran buku:
Ini tidak diragukan lagi akan mengarahkan Anda ke pembelajaran buku dll. Tetapi akan memungkinkan Anda untuk mengukur kemajuan Anda sendiri dan untuk memilih apa yang harus dibaca dan kapan. Beberapa petunjuk:
Adapun buku pilihan Anda:
Jika Anda ingin mendapatkan rute C #, daftar buku Anda luar biasa. Jika Anda tahu banyak tentang itu, Anda tidak akan sepadan dengan emas! Saya telah menjadi programmer .Net (dibayar cukup baik) sejak awal. Net, tetapi masih belum membaca yang paling canggih dari buku-buku ini (tetapi mereka ada di daftar bacaan saya). Pelajaran yang saya ambil dari ini adalah bahwa hal-hal canggih memiliki tempatnya, tetapi penguasaan dasar-dasar masih dapat memberi Anda karir yang hebat. Jadi, jangan terlalu khawatir tentang buku-buku lanjutan sampai Anda benar-benar membutuhkannya. Ada satu buku yang akan saya tambahkan ke daftar Anda - bahkan sebelum buku C # lanjutan: Kode Lengkap 2. Ini mungkin buku yang paling direkomendasikan di situs ini. Sepatutnya begitu, IMO.
Langkah Anda Berikutnya = Bangun Kepercayaan
Anda menyebutkan mendapatkan sedikit uang. Untuk menyatakan yang jelas: untuk mendapatkan uang dari pengembangan perangkat lunak, Anda perlu menemukan seseorang yang bersedia membayar Anda. Sayangnya untuk Anda, menemukan bahwa seseorang akan menjadi tantangan bagi Anda.
Mengapa?
Saya mungkin salah tentang ini, karena (tentu saja) sangat tidak masuk akal. Namun, kenyataan menyedihkannya adalah orang berprasangka tentang usia. Dalam pengalaman saya, banyak majikan potensial cenderung memalingkan Anda karena mereka menganggap orang muda tidak dapat diandalkan dan tidak dapat memenuhi janji mereka. Apa yang membuat ini sangat tidak adil adalah bahwa Anda tidak dapat melakukan apa pun tentang usia Anda kecuali menunggu.
Namun, ada beberapa hal yang dapat Anda lakukan untuk meningkatkan kemungkinan mendapatkan pekerjaan sebagai pengembang terlepas dari usia Anda:
a) Terus lakukan itu. Jika Anda tidak pergi mencari pelanggan karena Anda tidak mengharapkan mereka memalingkan Anda maka Anda tidak akan pernah menemukan orang-orang yang akan melewati usia Anda dan melihat kualitas Anda sebagai pengembang. Dengan kata lain, jangan biarkan prasangka orang lain tentang usia menjadi prasangka Anda tentang orang lain.
b) Dapatkan advokat - seseorang yang akan menjamin kemampuan Anda yang memiliki kredibilitas lebih di mata prospek yang Anda miliki dalam diri Anda. Mungkin Anda memiliki teman atau kerabat yang lebih tua yang dapat berbicara untuk Anda? Tentu saja, Anda akan membutuhkan seseorang yang dapat menjamin kualitas pribadi Anda, jadi pastikan Anda benar-benar siap secara teknis.
Terlepas dari kenyataan bahwa Anda jelas memiliki bakat, pengetahuan, dan antusiasme, Anda tidak memiliki pengalaman 5 tahun di pekerjaan. Ini adalah masalah yang dihadapi semua orang yang baru mengenal suatu profesi terlepas dari usia mereka. Seringkali, orang tidak ingin repot mempekerjakan orang yang belum memiliki rekam jejak yang terbukti dalam melakukan pekerjaan.
Untungnya, Anda dapat melakukan banyak hal tentang ini:
a) Mengakui bahwa ini adalah masalah yang wajar
Sulit bagi seseorang untuk membenarkan membayar layanan ketika mereka tidak memiliki bukti bahwa mereka akan mendapatkan apa yang mereka bayar.
Saat Anda berbicara dengan calon klien, jujurlah tentang kurangnya pengalaman Anda, tetapi tunjukkan mengapa itu tidak menjadi masalah. Jika menunjukkan inisiatif dalam hal ini maka Anda dapat merusak keberatan mereka sebelum mereka memikirkannya dengan baik. Manfaatnya bukan untuk memanipulasi, tetapi untuk menunjukkan bahwa Anda memahami kebutuhan bisnis mereka.
b) Membangun reputasi
Lakukan paket pekerjaan yang kecil dan dapat dikelola dengan biaya yang cukup kecil sehingga Anda mengambil risiko dari transaksi untuk klien. Seringkali, ini berarti Anda melakukan pekerjaan pertama Anda secara gratis. Pilih klien ini dengan hati-hati - Anda perlu melakukan sesuatu yang akan memberi Anda kepuasan bagi seseorang yang akan menyanyikan pujian Anda saat Anda melahirkan. Saya diberitahu bahwa banyak pengembang melakukan pekerjaan amal untuk memulainya, tetapi keluarga dan teman-teman keluarga mungkin juga dapat menawarkan sesuatu kepada Anda.
c) Bangun pengalaman
Untuk menunjukkan pengalaman, Anda perlu ... pengalaman. Jika Anda tidak dapat menemukan orang lain untuk bekerja, bekerja untuk diri sendiri. Mulai proyek hobi. Pilih sesuatu yang bermanfaat bagi orang, dan mungkin (pada waktunya) bersedia membayar. Namun, jangan mengusahakannya demi uang, tetapi untuk pengalaman. Anggap ini investasi jangka panjang - Anda bisa mengharapkan pengembalian dalam jangka panjang, tidak harus dalam jangka pendek.
d) Kembangkan keterampilan non-teknis Anda
Jika hal pemrograman berbayar tidak berhasil saat ini, jangan khawatir. Pengusaha tidak benar - benar hanya membayar keterampilan di bidang tertentu, tetapi untuk paket lengkap.
Keterampilan non-teknis sama pentingnya dalam industri TI dengan keterampilan teknis: pengusaha mencari profesionalisme dan juga kemampuan pemrograman. Kualitas profesional ini dapat mencakup keterampilan orang, pengalaman keuangan, pengetahuan bisnis, dan kualitas pribadi seperti kejujuran, keandalan, dll.
Semua ini dapat dikembangkan secara terpisah dari keterampilan teknis Anda. Misalnya, jika Anda butuh uang, Anda bisa mengambil pekerjaan non-pemrograman. Atau, Anda bisa terlibat dengan kelompok komunitas atau amal atau pelabuhan atau apa pun di mana Anda dapat membangun kemampuan non-teknis Anda. Pada akhirnya, kegiatan-kegiatan ini dapat menyebabkan Anda mendapatkan kontrak pemrograman pertama yang tepat, jika tidak secara langsung (Anda tidak pernah tahu kontak apa yang akan Anda buat) kemudian secara tidak langsung karena Anda lebih bulat dan memiliki lebih banyak untuk ditawarkan daripada orang lain.
sumber
Anda mungkin lebih baik fokus saat ini pada bidang pengembangan yang 'lebih lembut' - misalnya, membuat situs web dan mempelajari cara menginstal dan mengkonfigurasi sistem manajemen konten dan aplikasi open source lainnya.
Saya tidak melihat seorang anak berusia 15 tahun benar-benar bisa lepas sebagai seorang programmer - tidak kecuali mereka benar-benar luar biasa dalam pemrograman. Saya pikir Anda akan lebih mungkin mendapatkan kontrak kecil untuk membuat situs web untuk bisnis lokal, dan kemudian maju ke proyek yang lebih besar dari sana.
sumber
Saya pikir itu luar biasa apa yang Anda lakukan. Hal semacam ini harus didorong! Yang mengatakan, karena Anda hanya memiliki Musim Panas untuk bekerja pada proyek pembayaran, Anda mungkin ingin mengambil tumpukan teknologi lebih cepat daripada C # dan .NET. Ada banyak kontrak pendek untuk hal-hal seperti aplikasi PHP, aplikasi RoR, pengembangan iOS dan Android, penyesuaian CMS dll. Jenis-jenis peran itu juga cenderung berprasangka terhadap usia Anda (fakta yang menyedihkan tetapi benar bahwa Anda akan menjalankannya seberang).
Semoga berhasil dan jangan menyerah - pemrograman adalah salah satu hal paling kreatif, menyenangkan, dan bermanfaat yang bisa Anda lakukan, titik.
sumber
Rekomendasi saya adalah apa yang telah saya lakukan secara pribadi. Pergi bekerja ke MacDonald atau apa pun untuk menghasilkan uang. Jangan mengharapkan penghasilan apa pun dari IT sebelum Anda lulus dari Universitas.
Saya tidak ingin mengecewakan Anda, tetapi dalam beberapa tahun ke depan saya pikir Anda terutama akan menjadi konsumen dan bukan penyedia teknologi. Ini berarti bahwa Anda akan menghabiskan lebih banyak uang untuk TI yang dapat Anda hasilkan dari itu :-)
sumber
Saya sarankan Anda mengambil beberapa pekerjaan musim panas daripada mencoba menghasilkan uang melalui pemrograman. Dibutuhkan cukup banyak waktu dan usaha sebelum Anda menjadi cukup mahir (rata-rata) sehingga orang akan membayar Anda untuk menulis perangkat lunak untuk mereka. Pemrograman bukan sesuatu yang bisa dipelajari selama musim panas. Karena itu, kecuali jika Anda berencana untuk melakukan ini dalam jangka panjang, saya tidak berpikir pengembangan perangkat lunak akan menghasilkan pengembalian investasi (dalam hal waktu dan usaha) yang Anda cari.
Selain itu, jika Anda benar-benar tertarik pada pemrograman, saya akan menyarankan cara yang sedikit lebih mudah daripada C # dan .Net - mengatur situs web (jangan menyinggung siapa pun). Mulailah dengan situs statis terlebih dahulu kemudian pelajari untuk mengatur situs penuh yang digerakkan CMS. Meskipun jika Anda turun jalan ini saya sarankan belajar tentang dasar-dasar desain dan desain web secara umum (tidak perlu tetapi itu benar-benar membantu, terutama jika klien Anda menginginkan situs yang dibuat khusus alih-alih menggunakan tema yang dibuat sebelumnya).
Semoga sukses di mobil Anda dan saya harap Anda dapat tumbuh untuk menikmati pemrograman alih-alih melihatnya hanya sebagai sumber penghasilan. :)
sumber
Saya selalu merasa perlu memiliki masalah untuk dipecahkan atau permainan yang ingin saya tulis. Dengan begitu Anda selalu mencari cara untuk menyelesaikan masalah itu dan itu akan membuat Anda membaca buku dan mencari secara online. Saya tidak pernah bisa membaca buku dan kemudian tahu subjek.
Setelah Anda memutuskan 'masalah' untuk dipecahkan, pilihan buku Anda mungkin menjadi lebih jelas.
sumber
Id menyarankan untuk menambahkan beberapa buku, format Web, atau MVC Asp.Net. Mots untuk pekerjaan lepas adalah tentang pengembangan Web. Asp.Net juga tidak terlalu populer di bidang ini.
Mungkin Ruby / Rails atau Python / Django akan lebih cocok untuk freelance. PHP juga memiliki banyak sekali pekerjaan lepas.
Anda dapat memeriksa situs freelance dan menganalisis teknologi yang paling dicari.
sumber