Apa yang dicari calon pemberi kerja dalam portofolio yang bagus?


21

Seorang teman dari kantor dan saya sendiri ingin masuk ke dunia indie untuk pengembangan game. Saya telah melakukan beberapa demo teknologi yang menunjukkan berbagai ide dan pendekatan untuk berbagai masalah. Sekarang, saya merasa sudah saatnya bagi kita untuk berkomitmen pada suatu proyek untuk mengembangkan portofolio untuk kemudian jalan.

Saya telah berjuang keras dengan cara memulai proyek yang sebenarnya, lebih khusus untuk membuat mesin atau menggunakan paket OTS, atau menggunakan satu kemudian membuat satu, atau membuat satu kemudian menggunakan satu .. dll.

Mana yang terlihat lebih baik bagi calon majikan? Portofolio permainan yang lebih kecil yang mencakup mesin Anda atau (mungkin) yang lebih besar yang dibangun menggunakan sesuatu OTS?

Saya seorang programmer. Saya bukan seorang seniman. Saya akan melakukan sebagian besar pemrograman untuk proyek ini. Teman saya juga seorang pengembang, tetapi ia juga mahir dengan alat grafis (dengan demikian, ia menjadi orang seni).

Di tempat kerja, kami sama-sama pengembang .NET (C #). Saya tahu, saya tahu "Kalau begitu gunakan XNA" beberapa akan berteriak pada saya. Demo yang saya selesaikan sejauh ini telah di XNA. Tetapi saya memiliki beberapa kekhawatiran dengan membangun portofolio XNA. Sementara itu bagus untuk abstrak DirectX, saya khawatir bahwa saya mungkin tidak membangun basis pengetahuan yang diperlukan untuk melampaui XNA dengan mudah. Kontra terhadap argumen itu mungkin "Anda dapat lebih mudah beralih ke DirectX setelah XNA", tetapi karena saya akan pindah karier dari Pengembangan Bisnis ke Pengembangan Game, apakah bahkan layak untuk berfokus pada XNA saat ini? Atau akankah majikan potensial tertawa ketika saya mengatakan XNA?

Haruskah saya merangkul pengalaman XNA mengetahui konsep dan pelajaran yang sebagian besar akan ditransfer? Atau menghabiskan sumber daya saya yang paling berharga (waktu) di mana?

Mencari beberapa saran dari dokter hewan industri di luar sana.


Tanyakan pada diri sendiri apa yang ingin Anda tunjukkan lebih banyak: fleksibilitas atau perhatian terhadap detail. Itu jawaban kamu. Secara pribadi saya mencari fleksibilitas.
Chris Burt-Brown

Jawaban:


44

Saya telah menjadi seorang programmer di industri game konsol selama hampir empat belas tahun, dan sering terlibat dalam mempekerjakan keputusan.

Jadi, berbicara sebagai salah satu calon majikan, ketika mengevaluasi karyawan yang mungkin ada, ada tiga hal yang saya cari dalam perekrutan baru, dan saya mencari mereka dalam urutan ini.

  1. Apakah orang ini cocok dengan tim saya? (sosial, kebersihan, dll)
  2. Apakah orang ini pembelajar yang cepat? (sering diucapkan dengan salah sebagai "apakah orang ini pintar?")
  3. Apakah orang ini memiliki pengalaman yang relevan yang akan membantu saya?

Sekarang, jawab pertanyaan Anda. Seluruh masalah "jenis proyek apa yang harus saya lakukan" ini membahas kriteria yang paling tidak penting yang saya pedulikan. Saya jauh lebih peduli tentang apakah Anda akan cocok dengan tim saya secara sosial, dan tentang seberapa baik Anda akan dapat mempelajari hal-hal baru dengan cepat, daripada saya peduli tentang apakah Anda menggunakan XNA atau mesin game Anda sendiri dalam beberapa proyek sebelumnya. Pada umumnya, saya berasumsi bahwa saya harus melatih Anda dalam mesin game in-house kami sendiri, dan proyek-proyek Anda sebelumnya tidak terlalu penting bagi saya sama sekali. Itu, tentu saja, kecuali Anda secara ajaib memiliki pengalaman dengan alat atau teknologi tertentu yang perlu saya ketahui seseorang. Tetapi ini tidak biasa; biasanya, saya berasumsi bahwa saya harus melatih Anda untuk menggunakan API kami.

Semua ini bukan untuk mengatakan bahwa saya tidak ingin Anda melakukan proyek rumah. Saya benar-benar melakukannya. Tetapi saya tidak begitu peduli tentang apa proyek-proyek itu, atau teknologi apa yang mereka gunakan, karena mereka mungkin tidak akan relevan dengan apa yang saya butuhkan Anda lakukan untuk saya, karena kami akan menggunakan perpustakaan atau API yang berbeda.

Tapi saya ingin Anda memberi tahu saya tentang proyek Anda. Saya ingin melihat seberapa antusias Anda ketika Anda berbicara tentang mereka, karena itu memberi tahu saya orang seperti apa Anda (lihat poin 1, di atas). Saya ingin mendengar tentang masalah yang Anda hadapi, dan bagaimana Anda mengatasinya dalam mengembangkan proyek Anda (lihat poin 2, di atas). Saya benar-benar ingin Anda menyelesaikan setidaknya satu proyek - mampu mengatasi rasa sakit dan benar-benar menyelesaikan sesuatu yang mengatakan banyak tentang tipe orang seperti Anda, dan memberi tahu saya bahwa Anda adalah seseorang yang akan dapat saya andalkan pada jika ("kapan") semuanya menjadi sulit.

Jadi jujur, tidak ada pilihan yang "lebih baik"; yang penting adalah menyelesaikan sesuatu, apa saja. Teknologi apa pun yang Anda pelajari selama ini sedang populer, tetapi hampir pasti bukan itu yang akan membuat saya mempekerjakan Anda.

(Tapi dengan semua yang dikatakan .. Saya akan mengharapkan Anda untuk menjadi mahir dalam C ++. Dengan satu atau lain cara, Anda benar-benar perlu belajar C ++ untuk bisa diterima di industri game mainstream. Proyek rumah Anda tidak harus perlu di C ++, tapi saya harap Anda bisa menunjukkan kelancaran di dalamnya.)


3
Ini jawaban yang fantastis. Terima kasih banyak untuk benar-benar mengubah perspektif saya tentang proses perekrutan.
ultifinitus

Mampu menggunakan perangkat lunak pihak ketiga selalu merupakan nilai tambah yang besar, yang mungkin masuk di bawah 'belajar dengan cepat'.
Valmond

Saya tidak berpikir kemungkinan Anda akan pernah bertemu seorang programmer yang tidak tahu bagaimana bekerja sama dengan perangkat lunak pihak ketiga. Semua orang sudah menulis ke API pihak ketiga yang terdokumentasi, apakah libc atau STL atau OpenGL atau DirectX atau Windows API atau apa pun. Ini adalah keterampilan yang sama dalam industri komersial, hanya saja perpustakaan yang kurang terkenal digunakan. :)
Trevor Powell

2
+1 Potongan portofolio tidak perlu mengikuti standar yang ketat. Maksud mereka adalah untuk melayani hampir sebagai potongan percakapan untuk wawancara, sehingga mereka menarik dari sudut pandang seorang programmer.
ChrisC

1
@ ShuvoSarker Untuk perusahaan besar, ini masih benar. EA tidak akan mengharapkan Anda untuk menjadi ahli dalam mesin Frostbite mereka ketika mereka berpikir untuk mempekerjakan Anda. Ubisoft tidak akan mengharapkan Anda untuk mengetahui Snowdrop. Ini mungkin telah berubah untuk perusahaan yang lebih kecil, dalam enam tahun sejak saya memposting jawaban ini. Unity telah menjadi kekuatan yang cukup besar di ruang studio kecil yang sangat realistis untuk berpikir bahwa mengetahui Unity tentu dapat membantu peluang Anda dengan cara yang tidak terjadi ketika benar-benar semua orang menggunakan mesin eksklusif mereka sendiri.
Trevor Powell

12

Satu hal yang belum disebutkan orang lain adalah penting untuk menyelesaikan proyek Anda.

Memiliki portofolio dengan banyak hal yang belum selesai hampir tidak mengesankan seperti portofolio dengan satu hal yang telah selesai dan dipoles dengan baik.

Juga, jika Anda mendasarkan pekerjaan Anda pada pekerjaan orang lain yang sudah ada (seperti mesin open source, atau aset seni yang tersedia secara bebas), pastikan Anda menyebutkan portofolio Anda bagian mana yang menjadi milik Anda.


1
Tidak 100% yakin saya setuju, kami mendapatkan banyak orang dengan barang yang belum selesai, itu sangat umum, dan tidak memiliki banyak korelasi dengan kualitas barang mereka. Menyelesaikan sesuatu menunjukkan dedikasi, bukan kemampuan.
Chris Burt-Brown

Untuk masing-masing mereka sendiri, kurasa.
Jari Komppa

4

Menurut saya, jawabannya tergantung pada jenis pemrograman game yang ingin Anda lakukan.

Jika tujuan Anda adalah menjadi pembuat kode mesin atau pembuat kode grafis , Anda akan mendapat manfaat dengan menggunakan kap mesin dan mempelajari cara kerja mesin. Ini tidak berarti Anda tidak dapat menggunakan XNA atau mesin lain, kerangka kerja, dll. Mengenal jeroan mesin berkualitas tinggi adalah cara yang bagus untuk belajar cara membuat mesin berkualitas tinggi! Jika Anda pergi jalan ini, Anda tidak perlu bahkan perlu menulis permainan yang sebenarnya. Portofolio demo grafik mandiri dan / atau ekstensi nontrivial ke mesin yang ada (misalnya menerapkan shader baru di mesin atau sejenisnya) akan membantu Anda dengan baik. Anda dapat melihat portofolio demo grafis saya di sini; beberapa tahun kedaluwarsa sekarang, tetapi pada dasarnya inilah yang membuat saya mendapatkan pekerjaan pemrograman grafis di sebuah studio game.

Di sisi lain, jika Anda lebih suka menjadi pembuat kode permainan , salah satu dari orang-orang yang bekerja pada mekanisme permainan, kontrol, AI musuh, dll. Maka waktu Anda tidak akan dihabiskan untuk menggali ke dalam Direct3D. Tentu saja sangat membantu untuk memiliki pemahaman umum, tingkat tinggi tentang cara kerja grafik, tetapi dalam konteks profesional Anda mungkin tidak akan sering berhubungan langsung dengan hal-hal grafis tingkat rendah. Dalam hal ini saya benar-benar akan merekomendasikan menggunakan mesin off-the-shelf sehingga Anda dapat menghabiskan waktu membangun game yang sebenarnya.

Jadi, singkatnya, jika Anda ingin melakukan gameplay maka gunakan saja mesin yang ada; jika Anda ingin melakukan engine / grafik maka buatlah barang-barang Anda sendiri dan / atau perpanjang mesin yang sudah ada.


Saya menghargai jawaban Anda. Ini memberi saya arah yang lebih baik. Saya melihat diri saya lebih sebagai programmer mesin. Untuk waktu yang dihabiskan (berdasarkan pengalaman Anda), apakah menurut Anda lebih baik melewatkan abstraksi dan masuk ke D3D?
Justin Self

1
D3D akan menjadi tempat yang bagus untuk memulai. Kemudian, Anda mungkin juga ingin memeriksa beberapa mesin open-source untuk merasakan bagaimana orang lain telah melakukan struktur dan organisasi berskala besar. Ini juga praktik yang baik untuk melompat ke basis kode yang besar dan asing dan mencoba memahaminya tanpa membaca setiap baris kode.
Nathan Reed

Ok, jawaban Anda dikombinasikan dengan Trevor benar-benar memberi saya apa yang saya butuhkan. Sayang aku tidak bisa memilih dua jawaban; jadi +1. Terima kasih, Nathan. Saya sangat menghargai itu.
Justin Self

2

ketika saya baru saja menyelesaikan uni, portofolio saya ditampilkan dalam artikel ini. sepertinya ide yang bagus tentang apa yang harus dilakukan dan apa yang tidak boleh dilakukan ketika menyatukan portofolio Anda

http://leewinder.co.uk/blog/?p=23


1

Jangan lakukan portofolio Anda berdasarkan bagaimana Anda memandang "standar" itu. Anda harus mengerjakan proyek yang menarik minat Anda . Jika Anda menyukai mekanik game, silakan dan buat banyak game. Jika Anda suka membuat AI yang menarik, mungkin buat demo untuk pengaturan seperti RTS. Sebagai contoh, saya memiliki minat yang semakin besar dalam pemrograman grafis, dan meluangkan lebih banyak waktu untuk mempelajari konsep rendering dan menerapkannya dalam mesin saya. (Konsekuensinya, proyek game saya sementara waktu diletakkan di rak.)

Ketika Anda bekerja terutama pada hal-hal yang Anda sukai, itu benar-benar memunculkan "Anda" dalam portofolio. Di sisi lain, memiliki setidaknya satu permainan yang sudah selesai menunjukkan bahwa Anda dapat menarik bagian-bagian yang "tidak menarik" dari membuat permainan. Adalah baik untuk memiliki beberapa tingkat fleksibilitas untuk masuk ke wilayah yang kurang dikenal, tetapi jangan memaksakan diri Anda ke dalamnya secara luas. Anda dapat mengatakan portofolio yang baik dari tingkat antusiasme dan minat yang dimasukkan ke dalam pekerjaan, dan proyek-proyek berdasarkan bidang minat Anda secara alami akan mendapatkan hasil maksimal. Jadi, apa pun bidang minat Anda, pada akhirnya Anda harus fokus pada bidang pemrograman untuk pekerjaan itu.

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.