Apa tempat terbaik bagi seorang programmer sekolah menengah agar pekerjaannya diperhatikan? [Tutup]


52

Saya seorang siswa sekolah menengah 16 tahun, dengan hasrat untuk pemrograman komputer. Saya di kelas 11, dan saya sudah mempelajarinya sebagai bagian dari silabus sekolah selama sekitar 8 bulan. Saya telah melampaui apa yang diajarkan di sekolah, dan menulis beberapa aplikasi (yang cukup bagus). Bahasa tempat saya memprogram adalah C ++, pada platform windows. Akhirnya saya ingin mengambil jurusan CS di perguruan tinggi yang baik dan kemudian bekerja sebagai programmer.

Pertanyaan spesifik yang saya miliki adalah:

  • Apa tempat yang baik bagi saya untuk membuat pekerjaan saya diperhatikan?
  • Apakah ada jurnal, atau publikasi khusus untuk programmer muda?
  • Jika bukan publikasi, apakah ada blog yang bagus, atau lebih baik memulai sendiri?
  • Apakah ada hal lain, yang akan membantu saya diperhatikan sebagai seorang programmer?

Saya sudah berusaha seobjektif mungkin.

Jika semua ini tl; dr: Apa cara terbaik untuk diperhatikan sebagai seorang programmer muda?

Sunting: Saya tidak ingin langsung direkrut dari sekolah menengah. Tujuannya bukan untuk mengesankan komunitas sebagai programmer profesional. Ini dengan maksud untuk aplikasi perguruan tinggi di mana memiliki pekerjaan Anda dilihat dan dikritik oleh orang lain akan meningkatkan aplikasi Anda. Saya tidak mencari untuk mendapatkan uang dari apa yang saya tulis (sejauh ini).


12
Apa yang membuat Anda berpikir orang lain ingin mendapatkan perhatian dari seorang greenhorn berusia 16 tahun ;-)?
Doc Brown

27
Stack Overflow adalah tempat yang tepat! Berikan beberapa jawaban yang baik dan membantu (dan ajukan beberapa pertanyaan yang bagus dan bermanfaat!), Lalu tunjukkan calon atasan Anda ke profil Anda.
Cody Grey

24
@viraj Saya memuji antusiasme Anda dan jawaban yang bagus di sini. Namun saran saya kepada Anda adalah jangan biarkan itu menghabiskan awal kehidupan Anda. Ambil hobi dan minat lain, bersosialisasi dan bersenang-senang, Anda hanya bisa menjadi anak kecil sekali seumur hidup, di mana Anda dapat mengacaukan segalanya dan bangkit kembali tanpa terluka. Setelah Anda tumbuh dewasa dan memiliki karier, Anda kemungkinan akan memilikinya selama sisa hidup Anda . Itu adalah komitmen yang cukup serius untuk dibuat pada usia seperti itu. Anda tidak ingin menjadi seperti banyak di mana mereka terobsesi dengan karir di usia muda dan kemudian membenci kehidupan mereka kemudian dan mengalami krisis paruh baya yang mengerikan.
maple_shaft

4
@FrustratedWithFormsDesigner Jika Anda ingin masuk ke Sekolah Top tanpa Uang Top maka lebih sulit untuk masuk.
maple_shaft

10
@maple_shaft Poin Anda bagus, tetapi jika dia benar-benar bersemangat tentang pemrograman, Anda tidak ingin membuatnya menjauh darinya - bayangkan memberi tahu Bill Gates / Mark Zuckerberg muda "jangan terlalu banyak menghabiskan masa mudamu untuk pemrograman, Anda dapatkan sisa hidupmu ". Nasihat harus fokus pada minat dan hasrat Anda, bukan karier Anda .
Kirk Broadhurst

Jawaban:


61

Saya ingin memberi Anda beberapa peringatan dan beberapa saran.

Peringatan:

  • Jangan terlalu mengira-ngira pengetahuan Anda: saat ini saya dapat menganggap Anda cukup tahu untuk menulis aplikasi sederhana dan lebih dari apa yang sebenarnya diajarkan di kelas. Tetapi itu tidak membuat Anda seorang "programmer profesional"; itu bisa membuat Anda menjadi "freelancer" paling banyak.

  • Jangan meremehkan nilai dari apa yang diajarkan di sekolah. Bahkan jika sesuatu tampak jelas bagi Anda, pelajarilah juga: Anda akan melihat "aspek-aspek baru" (saya akan lebih jelas nanti) ketika Anda akan melanjutkan.

Saran:

  • Aplikasi profesional memiliki siklus hidup khas 3-5 tahun dan membutuhkan ribuan (hingga jutaan) jam kerja manusia. Mereka tidak dapat digunakan oleh pengembang saja. Pemrogram profesional harus bekerja dengan orang lain. Ini bukan hanya masalah pengetahuan yang baik tentang alat (seperti bahasa, IDE, dll.) Tetapi juga teknik, metode, dan idiom.

  • Sementara alat dapat diajarkan oleh sampel formal dan latihan, teknik dan idiom hanya dapat "dijelaskan". Untuk "mempelajari" mereka, Anda harus mengalami dan berbagi pengalaman dengan orang lain. Mereka terus-menerus ditemukan dan ditingkatkan.

  • Perusahaan, ketika mempekerjakan dari sekolah, periksa pemahaman Anda tentang alat dan kemampuan Anda dengan teknik dasar, tetapi - yang paling penting - menguji kemampuan Anda dalam mempelajari hal-hal baru secara cepat dan "menangkap pekerjaan" sesuai kebutuhan.

  • Ketika merekrut orang yang berpengalaman, mereka melihat berapa banyak hal yang telah mereka lakukan dan pengalaman apa yang mereka dapatkan dari hal-hal itu.

Moral:

  • Jika Anda ingin lebih "dievaluasi" belajarlah bekerja dengan orang lain, dengan berpartisipasi dalam masalah orang lain (seperti pada stackoverflow ) atau membuka proyek (seperti pada sourceforge )

  • Juga, jangan terlalu cepat untuk meminta uang; pisahkan "produksi kode" Anda menjadi "sesuatu untuk dibagikan" dan "sesuatu untuk dijual". Apa yang dapat Anda bagikan dapat digunakan oleh orang lain tetapi juga dapat menarik partisipasi orang lain untuk memperluas proyek awal. Apa yang dapat Anda jual adalah apa yang membuat aplikasi Anda "unik" sehubungan dengan proyek-proyek serupa lainnya, yang membuatnya menjadi produk komersial yang nyata.
    Untuk berbagi kode dengan orang lain, Anda dapat merujuk ke proyek codeproyek atau sourceforge . Peringkat mereka juga memberi gambaran betapa menariknya apa yang Anda lakukan bagi orang lain.


30
+1 untuk menyebutkan pengetahuan Anda terlalu tinggi. Ketika saya di sekolah menengah saya menulis beberapa hal keren dan berpikir saya adalah seorang programmer yang layak. Kemudian saya mulai kuliah dan menyadari bahwa saya bahkan tidak dekat dengan tingkat profesional.
Mike L.

1
+1 meskipun OTOH, saya tahu orang-orang (tidak secara pribadi) yang menulis hal-hal di SMA yang saya masih tidak tahu
BlueRaja - Danny Pflughoeft

+1, Ketika saya pertama kali masuk universitas, saya pikir lebih untuk mendapatkan sertifikasi keterampilan yang sudah saya peroleh. Sementara saya berada jauh di depan siswa lain di beberapa daerah, saya masih belum berada di dekat tingkat profesional.
user606723

4
+1 untuk melebih-lebihkan pengetahuan Anda. Saya tidak bisa memberi tahu Anda berapa banyak resume yang saya dapatkan dalam seminggu yang menyatakan mereka "ahli" di setiap keterampilan yang terdaftar. Melakukan itu hanya menunjukkan kenaifan Anda.
Jesse Bunch

6
Lucunya, saya tahu beberapa orang bekerja secara profesional menulis kode dengan gelar 3-5 tahun dalam ilmu komputer yang tidak dapat memprogram diri mereka sendiri dari kotak kertas ... Hanya mengatakan bahwa seseorang dengan motivasi untuk benar-benar mempelajari praktik yang baik di rumah adalah mil jauh di depan banyak orang yang bekerja secara profesional.
Maks.

35

Pernahkah Anda berpikir untuk membuat proyek sumber terbuka untuk aplikasi yang Anda tulis dan hostingnya secara online? SourceForge.net atau GitHub.com adalah host proyek open source yang bagus. Ini akan membantu mendapatkan visibilitas untuk aplikasi Anda.


11
Umpan balik di situs-situs ini mungkin juga langsung, brutal, atau mungkin proyek Anda akan diabaikan. Yang penting mengambil umpan balik apa adanya, dan melakukan perbaikan. Pastikan untuk memikirkan komunitas sebagai sesuatu yang ada untuk membantu Anda dan itu akan terjadi.
jefflunt

26

Pertama-tama, mari kita perjelas: sebagian besar dari 16 programmer YO tidak akan benar-benar mengesankan komunitas.

Ada alasan untuk itu menurut saya. Menjadi programmer yang baik tidak hanya mengandalkan keterampilan pemrograman. Seperti yang mudah-mudahan Anda lihat selama jurusan CS Anda, pemrograman hanya sebagian dari ilmu komputer, dan sebagian besar orang yang memenangkan hadiah (setidaknya hadiah akademik) akan melakukannya karena mereka membuktikan sesuatu yang baru (teorema baru misalnya), atau ditemukan cara baru untuk mencapai semacam tugas (pola desain). Untuk melakukannya, Anda perlu (setidaknya):

  • Dapatkan latar belakang yang baik dalam matematika, diperlukan untuk memahami algoritme dan karenanya menguasai struktur data yang berbeda.
  • Pahami bahwa seorang programmer yang baik pertama-tama memahami paradigma (berorientasi objek, fungsional, ...) sebelum tertarik oleh bahasa "konkret".
  • Memahami bahwa pemrograman yang baik sering juga datang untuk pemodelan kode, dan mempelajari pola desain yang ada.

Jika Anda merasa sudah menguasai semua itu, maka ya, Anda mungkin akan mengesankan komunitas.

Anda selalu dapat mencoba berkontribusi pada proyek open-source, tetapi Anda mungkin juga cukup terkejut betapa Anda harus mengejar ketinggalan sebelum benar-benar dapat berkontribusi.

Terakhir, lihat di sekitar StackOverflow dan lihat seberapa banyak Anda dapat menjawab di sana dalam bahasa favorit Anda ... Anda akan memiliki proxy yang bagus untuk level Anda.


2
+1: Tidak ada pengganti untuk pengalaman. Ketika saya merekrut saya biasanya ingin melihat bahwa seseorang telah memiliki banyak kesalahan uji coba.
JohnFx

3
+1: Begitu banyak programmer yang bekerja dengan saya sepertinya berpikir matematika tidak penting bagi mereka. Dan kemudian mereka akan berbalik dan berdebat tentang efisiensi algoritma dengan cara yang sama.
kojiro

+1: Matematika adalah salah satu elemen paling dasar dalam Ilmu Komputer. Ilmu Komputer sebagai bidang tidak akan ada tanpa Matematika. Seseorang tidak dapat sekelompok byte ke grup byte lain tanpa matematika. Selain itu akan sulit untuk membuatnya di bidang ini jika Anda tidak mengerti bagaimana komputer bekerja, jika Anda tidak mengerti bagaimana dua register byte ditambahkan bersama-sama (ini bukan proses yang sederhana), maka Anda tidak akan pernah mengerti komputer ilmu. Pemrograman itu sendiri membutuhkan keterampilan pemecahan masalah, belajar bahasa pemrograman dan kerangka kerja garis bawah adalah bagian yang mudah, dalam ilmu komputer.
Ramhound

1
Bagian tersulit tentang menjadi seorang profesional di bidang ilmu komputer adalah mampu menentukan cara terbaik untuk memecahkan masalah. Mempelajari bahasa pemrograman baru adalah bagian yang mudah, mempelajari cara mengeksploitasi kekuatan dan menghindari titik-titik lemah dalam bahasa yang diberikan adalah jauh lebih sulit, karena dapat melakukan ini secara terpisah "monyet kode" dari "profesional".
Ramhound

13

Cobalah untuk mendapatkan reputasi yang sangat tinggi di Stack Overflow. Hampir topik yang sama dibahas di sini:

Akankah reputasi tinggi di Stack Overflow membantu mendapatkan pekerjaan yang baik?


5
Selain itu, mendapatkan rep tinggi pada SO sangat menyenangkan dan Anda belajar banyak di sepanjang jalan dari membaca, memposting, dan menjawab pertanyaan.
Paul Hiemstra

1
Menurut pendapat saya, reputasi tinggi pada SO berarti "Saya menghabiskan banyak waktu di situs menjawab banyak pertanyaan dasar yang dapat dihubungkan oleh setiap programmer". Saya tidak akan terlalu memikirkannya. (Catatan: Anda masih bisa menjadi ahli DAN memiliki reputasi tinggi di SO)
siamii

8

Beberapa hal yang mungkin ingin Anda coba:

  • Tulis perangkat lunak yang memecahkan masalah nyata, idealnya masalah yang belum pernah diselesaikan sebelumnya (atau setidaknya tidak memuaskan). Jika tidak ada yang menggunakan perangkat lunak Anda di luar upaya promosi terbaik Anda, kemungkinan besar mereka tidak membutuhkannya dengan putus asa.
  • Umumkan pekerjaan Anda di milis yang relevan, saluran IRC dan forum internet. Jika program Anda memanfaatkan perpustakaan secara ekstensif, pertimbangkan untuk memposting ke komunitas perpustakaan; jika itu melengkapi perangkat lunak lain yang ada, umumkan ke komunitas mereka, dll.
  • Jika ini proyek yang cukup serius, buat situs web khusus untuk itu. Situs web harus menyediakan ringkasan fitur, tautan ke unduhan dan dokumentasi, dan (jika berlaku) beberapa tangkapan layar. Pastikan itu adalah situs web yang tepat, bukan kekejian gaya geocities murahan yang ditangguhkan iklan - Anda ingin dianggap serius, jadi bertindak berdasarkan itu. Menambahkan bagian berita, wiki dan / atau pelacak bug memberi indikasi kepada pengguna potensial seberapa aktif proyek tersebut, yang dapat bekerja untuk Anda atau melawan Anda (jika proyek tidak terlalu aktif sama sekali).
  • Jika ini adalah proyek open source, simpan di salah satu hub FOSS yang populer (github, bitbucket, sourceforge jika Anda harus), dan (lihat di atas) memperlihatkan wiki dan pelacak bug (tetapi hanya jika Anda menggunakannya secara teratur).
  • Apa pun yang Anda lakukan, berikan dokumentasi yang bagus. Anda membutuhkan "permulaan" singkat dan referensi lengkap. Jika Anda tidak memiliki yang pertama, orang akan menemukan program Anda terlalu sulit untuk digunakan. Jika Anda tidak memiliki yang kedua, orang akan berhenti menggunakannya karena mereka tidak dapat menemukan informasi yang mereka butuhkan.

7

Saya akan mengikuti jawaban Bernard dan menambahkan sedikit lagi. Ada begitu banyak proyek OSS di luar sana yang masih sulit untuk diperhatikan kecuali Anda membuat proyek yang populer, yang tidak akan mudah bagi seorang programmer yang baru memulai.

Dengan asumsi Anda mencoba untuk mendapatkan perhatian di komunitas pemrograman, saya sarankan untuk menerbitkan (baik OSS atau sumber tertutup) add-ons untuk alat yang digunakan programmer. Bayangkan pergi ke wawancara kerja dan bisa mengatakan bahwa perusahaan sudah menggunakan perangkat lunak yang Anda tulis. Banyak alat pengembang memiliki API untuk membuat add-ons dan bahkan beberapa host "App Store" di mana Anda bisa mendapatkan beberapa paparan untuk alat Anda tanpa terlalu khawatir tentang memasarkannya.

Berikut adalah beberapa contoh di atas kepala saya:

Bergantung pada alat yang Anda pilih, Anda dapat menargetkan kantong khusus komunitas pemrograman yang ingin Anda perhatikan.


4
  1. Pergi ke kompetisi seperti Imagine Cup atau, setidaknya, kontes sekolah Anda (jika ada)
  2. Letakkan aplikasi Anda secara online, mungkin berikan kode sumber dan, meskipun tidak terkait dengan pertanyaan Anda, dengarkan umpan balik dari orang lain dan pelajari darinya
  3. Cobalah untuk berkontribusi pada komunitas yang berbeda

4

Saya memiliki sudut pandang yang sedikit berbeda di sini.

Jika Anda ingin perangkat lunak Anda diperhatikan, cara terbaik adalah membuat orang menggunakannya. Meskipun Bill Gates dan Mark Zuckerberg adalah programmer muda yang hebat, ada banyak programmer yang lebih baik. Tetapi kedua pria ini mendapatkan banyak orang untuk menggunakan produk mereka dan oleh karena itu lebih dikenal karena pekerjaan mereka.

Untuk membuat orang menggunakan kode Anda, Anda bisa:

  • Jual produk Anda ke banyak orang. Misalnya memasang aplikasi seluler di toko aplikasi dan melacak unduhan, pembelian, dan penggunaan berkelanjutan.
  • Dapatkan banyak orang untuk menggunakan produk Anda, dan hasilkan iklan.
  • Dapatkan banyak pengembang untuk mengembangkan produk yang bekerja dengan produk Anda. Ini sulit.
  • Berkontribusi pada proyek open-source yang populer sehingga kontribusi Anda akan digunakan oleh banyak orang.

Menurut pendapat saya, perangkat lunak hampir tidak relevan tanpa memberikan manfaat kepada pengguna. Dan Anda akan diperhatikan untuk memecahkan masalah yang orang pedulikan, dan itu adalah keterampilan yang sangat langka.


3

Satu jawaban yang belum saya baca: Google Summer of Code.

Dari situs web :

Google Summer of Code adalah program global yang menawarkan tunjangan bagi para siswa untuk menulis kode untuk berbagai proyek perangkat lunak sumber terbuka. [...] Melalui Google Summer of Code, pelamar siswa yang diterima dipasangkan dengan mentor atau mentor dari proyek yang berpartisipasi, sehingga mendapatkan paparan skenario pengembangan perangkat lunak dunia nyata.

Anda harus berusia 18 tahun untuk berpartisipasi, tetapi itu tidak jauh. Saya kenal beberapa orang yang berpartisipasi dan memiliki pengalaman hebat. Karena semua kontribusi Anda adalah untuk program sumber terbuka, mereka bersifat publik, sehingga mereka akan diperhatikan.

Karena Anda berusia di bawah 18 tahun, Google juga memiliki program seperti GSOC untuk siswa pra-universitas (berusia 13-17 tahun) yang disebut Google Code IN .


3

Dari sudut pandang saya, ada beberapa tipe orang yang memprogram.

  1. "Programmer" - Ini termasuk 16 tahun belajar mandiri dan 99% dari tenaga kerja "pengembang perangkat lunak" yang tersedia di Cina. Mereka dapat menyelesaikan pekerjaan ... semacam .. dalam arti minimal, tetapi memiliki sedikit gagasan tentang konsep seperti desain patters, rawatan, pengkodean yang kuat / defensif, algoritma / struktur data dan hal-hal lain yang menyukai penggunaan sumber yang efisien perangkat lunak kontrol. Mereka memiliki kemampuan untuk membaca dokumentasi secara efektif dan menggunakan sebagian besar API.
  2. "Average Electrical Engineer" - 80% Listrik, 10% ilmu komputer, 10% insinyur perangkat lunak. Kecakapan dengan elektronik, tetapi hanya pemrograman sebanyak "programmer" yang khas. Pemikiran logis dan kritis, dan keterampilan manajemen dari sisi kelistrikan akan membantu.
  3. "Rata-rata lulusan BS sains Komputer" - 25% programmer, 25% insinyur perangkat lunak, 25% ilmuwan komputer, 25% elektronik terapan (termasuk logika).
  4. "Average Computer Engineer" - Orang-orang ini adalah campuran dari 50% insinyur listrik, 50% lulusan ilmu komputer.

Definisi:

  1. "Ilmu Komputer" - Dijkstra pernah menyatakan: "Ilmu Komputer tidak lebih tentang komputer daripada astronomi adalah tentang teleskop." Ilmu Komputer lebih banyak tentang matematika daripada tentang komputer. Ini termasuk kemampuan untuk mengembangkan, memahami, dan mengklasifikasikan algoritma dan struktur data yang kompleks.
  2. "Rekayasa Perangkat Lunak" - Pola Desain, diagram yang mewakili program (saya tidak ingat apa namanya). hal-hal seperti itu. Pengkodean defensif .. Penggunaan kontrol sumber,

Perhatikan, saya menggunakan kata "Rata-rata" di atas. Bergantung pada minat pribadi dan pengalaman kerja, persentase ini dapat berubah secara drastis. Ini hanya stereotip yang terlalu umum. Jangan menilai buku dari sampulnya. Saya juga hanya mendapatkan persentase dari pengalaman saya.


1
Berbagai jenis programmer Anda adalah omong kosong. Anda tidak dapat menjadi programmer yang efektif tanpa harus menggunakan perangkat lunak. Ilmuwan Komputer menggunakan rekayasa perangkat lunak sepanjang waktu. Pemisahan "insinyur listrik" Anda benar-benar omong kosong, ada sedikit perbedaan antara insinyur komputer dan ilmuwan komputer.
Ramhound

Saya memang menulis ini agak aneh. Saya memperbaikinya dengan sedikit refactoring. Ini masih belum sepenuhnya benar. Tanggapan: a) Intinya, seorang "programmer" dalam daftar saya sama sekali bukan progammer yang efektif. b) Ilmu Komputer bukan tentang mengembangkan perangkat lunak dan karena itu mereka tidak menggunakan rekayasa perangkat lunak. c) Teknik Komputer adalah bidang hibrida antara teknik komputer dan teknik listrik. en.wikipedia.org/wiki/Computer_engineering
user606723

1

Saya seorang programmer freelance. Pemrograman telah menjadi penghasilan utama saya sejak saya lulus SMA 9 tahun yang lalu. Saya masih berniat untuk mendapatkan gelar saya, tetapi saat ini masih belum tepat bagi saya.

Jalan saya menuju pengakuan yang didorong oleh diri sendiri adalah sebagai berikut. Saya tidak mengatakan bahwa langkah-langkah ini akan membuat Anda dikenal oleh komunitas pemrograman, tetapi itu akan membantu meningkatkan kredibilitas Anda ketika tiba saatnya untuk wawancara.

Bahkan setelah saya cukup berpengalaman dalam pemrograman IMO pada saat itu, saya kembali ke dasar-dasar dan pergi melalui tutorial dan membangun sendiri portofolio berdasarkan karya terinspirasi dari mereka. Saya juga mulai memaksa diri untuk berkomentar kode saya dalam mode JavaDoc-esque. Portofolio mungkin tidak diisi dengan kemewahan dan kemewahan saat ini, tetapi memberi Anda garis dasar yang dapat Anda bangun dan akhirnya mengganti apa yang Anda miliki di sana. Saya kemudian memiliki satu set demo dan sampel kode untuk ditampilkan kepada calon klien. Ini penting untuk mendapatkan pekerjaan pertama Anda. Tidak ada yang ingin mempekerjakan seseorang yang tidak memiliki pengalaman, namun, ada beberapa orang yang akan memberikan kesempatan kepada programmer yang tampak menjanjikan yang tidak memiliki pengalaman profesional.

Saya kemudian menganalisis program-program ini dan mulai menulis perpustakaan berdasarkan tugas-tugas saya yang biasa digunakan. Dengan perpustakaan baru saya, saya mulai melihat masalah CompSci di internet dan mulai menentukan sendiri berapa lama waktu yang saya perlukan untuk membangun solusi dengan perpustakaan saya. Ini akan memberi saya garis dasar di masa depan tentang apa yang harus saya bayar untuk tugas tertentu.

Baru pada saat itulah saya menemukan open source. Saya melihat-lihat proyek di sourceforge dalam bahasa yang saya minati dan menemukan aplikasi yang bisa saya manfaatkan. Saya menginstal aplikasi ini dan mulai menggunakannya sebagai bagian dari pengalaman komputasi saya setiap hari. Saya dapat melihat kekuatan dan kelemahan aplikasi ini sejauh interaksi saya setiap hari dan saya mulai mengembangkannya sesuai dengan kebutuhan saya. Saya akan mengirimkan tambalan saya kepada komunitas yang sedang dikembangkan untuk ditinjau, dan setelah beberapa kali saya akan mendaftar untuk menjadi anggota proyek. Di sinilah saya belajar menggunakan berbagai alat yang digunakan ketika bekerja dalam tim yang membawa "pengalaman luas" saya, seperti yang saya pertimbangkan pada saat itu, dan membawanya ke tingkat berikutnya.

Saya mengadaptasi semua praktik saya yang saya ambil ketika bekerja pada proyek-proyek open source dan mengimplementasikan solusi yang dapat dipercaya ketika saya bekerja sebagai individu. Saya mulai serius mengejar karir sebagai pengembang freelance dan bergabung dengan sejumlah situs rekrutmen freelance. Saya melihat apa pekerjaan populer itu, dan mulai melamar. Untuk setiap pekerjaan yang akan saya tolak, saya masih akan menyelesaikannya untuk diri saya sendiri seolah-olah saya telah mendapatkan pekerjaan untuk memperluas pengetahuan saya. Ini akan membantu membangun portofolio saya dan memperkenalkan saya pada beberapa tantangan dunia nyata. Ketika saya akhirnya mendapatkan wawancara pertama itu, saya langsung mengatakan kepada mereka bahwa saya tidak memiliki pengalaman profesional. Saya kemudian mulai memberi tahu mereka proyek-proyek open source yang telah saya kerjakan, apa yang telah saya capai di sana. Beberapa rintangan besar yang saya temui, dan bagaimana saya mengatasinya.


0
  1. Belajar sebanyak mungkin. Ini dapat dilakukan dengan buku, forum, kelas, tetapi yang paling penting adalah dengan benar pemrograman (dan mendapatkan kritik). Jika Anda telah melampaui kelas pemrograman di sekolah menengah Anda, lihat apakah perguruan tinggi (komunitas) lokal memiliki kelas CS bagus yang dapat Anda ambil (mungkin selama musim panas atau sebagai kelas malam); atau coba ambil kursus terbuka dari tipe MIT / Stanford.
  2. Peragakan inisiatif. Mengatakan Anda tahu C ++ akan sepenuhnya diabaikan. Mengatakan Anda memiliki lusinan komitmen pada daftar proyek sumber terbuka menunjukkan Anda mengetahui sesuatu, dll. (Meskipun hati-hati; jangan hanya berkomitmen demi komitmen). Mulai proyek open source Anda sendiri. Ini tidak akan menjadi sesuatu yang Anda lakukan di sore hari; tetapi sesuatu yang menjadi bayi Anda selama beberapa bulan. Tulis dan terbitkan aplikasi android / iphone yang melakukan sesuatu yang bermanfaat dan membuat orang mengunduhnya.

PS: Sudah lama sejak saya melamar ke perguruan tinggi - mereka masih memberi Anda kesempatan untuk mendaftar hal-hal seperti ini kan? (Misalnya, bagian tentang hobi, atau pertanyaan esai tentang minat Anda).


0

Saya pikir JohnFX memberikan jawaban yang bagus untuk pertanyaan ini.

Beberapa pemikiran:

  • Saya pikir jQueryUI mungkin tempat terbaik untuk memulai. Ini menyenangkan dan visual. Jadi Anda bisa masuk ke forum pengembang jQueryUI di situs jQuery dan meminta untuk menjadi kontributor.

  • Saya pikir Anda akan menunjukkan semangat yang besar dan dedikasi untuk pemrograman lebih dari Anda akan menunjukkan keahlian yang hebat. Tapi jangan biarkan itu menghentikanmu! Saya sangat menganjurkan Anda untuk terlibat.

  • Pada titik ini Anda mungkin harus puas melakukan QA. QA membosankan tetapi Anda dapat menerimanya dan menunjukkan dedikasi. Tetapi dari sana Anda dapat berkontribusi sedikit kode dan mungkin membuat plugin.

  • Jika Anda meminta untuk terlibat dalam sesuatu dan mereka membuatnya sulit, itu karena mereka brengsek. Carilah proyek di mana orang-orang memberi semangat dan menyenangkan.

  • Setelah Anda menemukan sebuah proyek dengan orang-orang baik yang menyemangati dan Anda berkontribusi, Anda dapat meminta salah satu kontributor dewasa atau semoga salah satu orang yang bertanggung jawab atas proyek tersebut untuk menulis surat rekomendasi singkat kepada Anda.


0

Saya dengan hormat tidak setuju dengan mereka yang menjawab "jangan melebih-lebihkan diri Anda sendiri"!

Jika Anda menyukai pemrograman pada usia Anda, lakukanlah, Anda mungkin hebat dan lebih besar daripada anak-anak seusia Anda, dan pada saat Anda seorang veteran, Anda mungkin akan menjadi Brian Kernighan berikutnya, Edsger Dijkstra atau Doug Lea!

Saya akan menyarankan mempelajari pengembangan iPhone atau Android, dan membangun beberapa aplikasi nyata.

Menjadi ahli dalam sesuatu dan saat Anda berada di sana, berbicara di konferensi dan menulis artikel, yang akan membuat Anda diperhatikan, dan akan memoles keterampilan Anda.

Saya telah memprogram sejak akhir 70-an, dan di Jawa sejak 1996. Saya dapat memberi tahu Anda buku Jawa paling penting yang pernah saya baca adalah Geng Empat Pola Desain, yang ditulis satu dekade sebelum Jawa ditemukan. Baca dan jadilah hebat!

Industri dengan bayaran tertinggi saat ini adalah keuangan, tetapi itu berubah dengan cepat. Saya percaya itu akan kembali, tetapi Anda tidak pernah tahu!

Jadilah seorang programmer dan nikmati pekerjaan yang tinggi serta kepuasan kerja!

Semoga beruntung, Anda memiliki karir yang hebat di depan Anda!


0

Bangun aplikasi web yang berfungsi baik di iPhone dan Android (abaikan browser standar untuk saat ini) dan manfaatkan fitur-fitur tambahan HTML5 (https://developer.mozilla.org/en/HTML/HTML5) untuk mengatasi latensi, jaringan jerawatan, dan keterbatasan browser ponsel. Ini kemungkinan besar berarti mengirimkan aplikasi peramban javascript + html5 yang terhubung ke api berbasis server. (pilih xmlrpc / json / yaml, bukan SOAP). membuatnya berteriak cepat. Di server, saya sarankan menggunakan cherrypy di linux (debian) pada VPS murah. Anda bisa mendapatkannya di 123systems.com, buyvm.net (lebih disukai tetapi sering tidak tersedia) dengan harga di bawah $ 4 sebulan. Belajar menggunakan Python, dan gunakan Fabric untuk menyebarkan barang-barang Anda ke server Anda. Dapatkan domain .info di namecheap.com dengan harga $ 2,99 per tahun, dan gunakan dnsmadeasy.com untuk DNS (lebih mahal, tapi sepadan - telah menggunakannya selama bertahun-tahun, tidak pernah memiliki satu masalah) di mana Anda dapat melakukan load-balance melalui DNS. Juga, jangan ditunda oleh database. Gunakan sqlite dan belajar mendesain tabel Anda secara manual dengan pernyataan sql. Akhirnya, dengan satu mesin Anda mungkin dapat menangani 30.000 pengguna. (2.000 sekaligus pada satu hit ke server setiap 3 detik). Ingatlah untuk cache sebanyak mungkin di penyimpanan HTML5.

Jika Anda melakukan ini, dan Anda blog tentang hal itu dan twit tentang entri blog dan kemajuan Anda, Anda pasti akan diperhatikan. Memang ada banyak yang harus dipelajari, tetapi Anda bisa melakukannya!


-1

Apa tempat yang baik bagi saya untuk membuat pekerjaan saya diperhatikan?

Hampir di mana saja di internet - jika Anda menulis sesuatu yang layak disebut, seperti utilitas yang melakukan sesuatu yang rapi atau unik, bahwa banyak orang akan menggunakan / mengunduh - maka Anda telah menyelesaikan sebagian besar tugas ini. Aplikasi keren, bermanfaat, dan tersedia, beriklan sendiri.

Apakah ada jurnal, atau publikasi khusus untuk programmer muda?

Jika bukan publikasi, apakah ada blog yang bagus, atau lebih baik memulai sendiri?

Anda sudah berada di sini - ini hanya satu, dari banyak komunitas, yang keluar dari keinginan geser untuk berbagi, dan dikenal karena mengetahui - orang lain lebih dari senang untuk menghubungkan topik jasa, dengan diskusi saat ini.

Apakah ada hal lain, yang akan membantu saya diperhatikan sebagai seorang programmer?

Hanya program demi pemrograman - selama produktif, kreatif, dan berguna - pemberitahuan akan diambil.

Satu hal yang saya lihat disebutkan dalam balasan lain, yang saya juga siapkan, adalah kontribusi yang diberikan kepada proyek sumber terbuka. Satu-satunya cara untuk menjadi lebih baik dalam pengkodean, adalah dengan kode - dan cara apa yang lebih baik untuk melakukan itu, daripada menyelesaikan masalah saat ini. Karena, tanpa masalah untuk dipecahkan, Anda mengkode dengan sia-sia ... oh, satu hal lagi, jangankan orang tua pemarah, dengan kembung mereka, dan sengaja mengecilkan hati, "muda kakap kakap" komentar - Anda masih muda dan antusias, itu saja yang Anda butuhkan.


-1

Jika saya adalah Anda, saya akan membuat pengetahuan saya diketahui melemparkan pekerjaan saya, Anda mengatakan Anda memprogram dalam cjadi mulai membuat program yang diarahkan untuk pengalaman sehari-hari pengguna PC, membuat hal-hal seperti youtube downloaderdan mulai sendiri dev teamhei man im hanya 19 dan saya mulai pemrograman 4 tahun lalu dan dapatkan im ini seorang pria kulit hitam muda dari tenda .... jadi saya bisa memahami hasrat yang Anda miliki untuk pemrograman tetapi pada saat yang sama pemrograman dapat mengambil banyak waktu Anda, dan usaha, beri diri Anda waktu untuk hidup .. Artinya, sepanjang waktu itu duduk di depan komputer bisa membuat anak laki-laki stres.


-1

Ada banyak tempat untuk meningkatkan pekerjaan Anda agar diakui, tetapi sementara Anda mungkin menganggap pekerjaan Anda sebagai kedudukan tertinggi, itu mungkin hanya hari yang sederhana di tempat kerja bagi sebagian orang. Ketika saya berusia 16 tahun, saya pikir pekerjaan saya luar biasa, saya melakukan beberapa hal keren, tapi saya benar-benar bekerja di bidang ini sekarang, dan di mana saya kemudian tidak ada apa-apanya dibandingkan dengan di mana saya sekarang, dan saya masih jauh off dari tempat yang saya inginkan.


-2

Jika Anda menyukai permainan, cobalah berpartisipasi dalam Ludum Dare. Gim yang bagus di sana akan terkenal.


-3

Jika Anda ingin diperhatikan DAN menghasilkan uang, saya akan merekomendasikan pengembangan ponsel di iPhone atau Android. Anda sudah tahu C ++, yang merupakan awal yang baik. Untuk pengembangan asli pada iPhone Anda akan memerlukan Objective C, dan untuk Android Anda akan membutuhkan Java. Keduanya mirip dengan C ++ (Java lebih mudah karena tidak ada manajemen memori), dan tidak akan terlalu sulit untuk dipelajari. Jadi Anda tidak hanya akan menulis aplikasi yang akan membuat Anda diperhatikan, dan menghasilkan uang bagi Anda, tetapi Anda akan belajar bahasa baru dan platform panas dalam prosesnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.