Keterampilan apa yang akan Anda harapkan dan hargai dalam Insinyur Perangkat Lunak Junior? [Tutup]

64

Saya baru saja menyelesaikan Master of Science dalam Rekayasa Perangkat Lunak, dan saya akan memulai karir profesional saya dalam beberapa minggu. Peran saya adalah sebagai Pengembang Junior untuk perusahaan yang mengembangkan perangkat lunak menggunakan Java & teknologi terkait (di antaranya Spring dan Hibernate). Sejujurnya, saya sangat senang dengan apa yang akan terjadi, terutama karena saya ingin mengembangkan karir saya sebagai pengembang Java. Saya juga sangat tertarik untuk mendapatkan pengalaman di lapangan. Selain itu, ini akan menjadi pengalaman kerja pertama saya sebagai pengembang profesional sehingga saya benar-benar ingin melakukan yang terbaik dari awal.

Saya ingin mengetahui keterampilan dan kemampuan mana, baik lunak dan teknis, yang paling dihargai dalam profesional baru (Pengembang Junior) yang dapat menjadi bagian dari tim Anda dan di mana keterampilan yang harus saya fokuskan untuk mencapai karier yang sukses sebagai Perangkat Lunak Insinyur.

Bartzilla
sumber
13
Sebuah pertanyaan luar biasa diajukan dengan fasih.
Adam Crossland
2
Temukan obat / aktivitas gerbang ketika hal-hal dalam pengaturan kerja dunia nyata tidak berhasil seperti yang Anda bayangkan, tetapi pastikan efeknya tidak tumpah hingga pagi.
Pekerjaan
Perhatian pada Detail - tidak ada yang lebih penting.
Orbling
1
Karena Anda seorang JSWE. Jadilah kompeten dalam bahasa yang Anda katakan kompeten. Tidak ada yang lebih menjengkelkan untuk mempekerjakan seseorang yang mengatakan mereka tahu bahasa tetapi hanya mempelajarinya dalam satu kelas. Contoh: orang yang mendaftar C / C ++ pada resume mereka tetapi tidak dapat menggunakan satu atau yang lain (Tuhan melarang, tidak dapat menggunakan salah satu!)
aqua
Apa yang terjadi dengan mimpi membuat video game? Anda "ingin mengembangkan karier [Anda] sebagai pengembang Java", serius? hanya bercanda, untuk masing-masing sendiri :)
cambraca

Jawaban:

50

Banyak dari ini benar di mana pun Anda berada dalam karir Anda, tetapi mungkin sangat penting bagi seseorang yang baru memulai.

  • Dengarkan lebih dari yang Anda bicarakan. Belajarlah dari apa yang dikatakan orang lain.
  • Jadilah rendah hati. Jangan takut untuk membagikan ide-ide Anda, tetapi jangan menganggap Anda benar dan orang lain salah. Jika Anda melihat sesuatu yang Anda pikir salah, tanyakan tentang itu, jangan membuat pernyataan tentang hal itu.
  • Terus belajar. Dasar dari pendidikan Anda adalah (harus) hebat, tetapi Anda baru mulai mempelajari profesi. Belajar sambil bekerja. Saya tidak berpikir Anda dapat benar-benar belajar kecuali Anda benar-benar mempraktekkan apa yang Anda pelajari.
  • Pelanggan jarang tahu apa yang dia inginkan sampai dia melihatnya. Biasakan perubahan kebutuhan Anda. Adopsi gaya pengembangan (jika diizinkan) yang membuat hal-hal di depan pelanggan cepat untuk mendapatkan umpan balik.
  • Temukan orang yang pandai bekerja dengan pelanggan dan minta mereka membimbing Anda tentang cara mengembangkan hubungan dengan mereka.
  • Tulis kode yang teruji dan kuat. Menyelesaikannya bukanlah tujuan; menyelesaikannya dengan benar adalah. Jika Anda ahli dalam hal itu, kecepatan akan datang seiring waktu.
  • Bekerja keras. Jangan menunggu untuk diminta melakukan sesuatu; mencari atau meminta hal-hal yang harus dilakukan.
  • Mengakui kesalahan Anda atau kesalahan tim Anda. Jangan melemparkan anggota tim Anda di bawah bus di depan pelanggan, tetapi jujurlah ketika Anda memiliki masalah kode.
  • Anda mungkin berpikir bahwa rekan setim Anda ingin Anda menjadi pembuat kode yang brilian. Itu akan luar biasa, tetapi rekan tim Anda benar-benar ingin Anda menjadi kompeten dan bukan brengsek. Jika Anda akan menjadi brengsek, lebih baik Anda menjadi brilian.
tvanfosson
sumber
3
+1 untuk "Pelanggan jarang tahu apa yang dia inginkan sampai dia melihatnya ..."
FrustratedWithFormsDesigner
1
+1 untuk "Terus Belajar". Itu mungkin hal yang paling penting yang akan saya cari dalam seorang programmer tingkat junior
Rachel
+ untuk "Melakukannya bukan tujuan; menyelesaikannya dengan benar adalah" Memastikan kode Anda tidak hanya berfungsi, tetapi diuji dengan ketat sangat penting. Juga menyelesaikannya dengan benar berarti pengembang lain dapat melihat kode Anda, memahaminya dan membaca komentar untuk kemudian mengambil alih mempertahankan kode tersebut.
Jeremy
61

Berikut daftar singkat dari atas kepala saya:

  • Follow-through (selesaikan apa yang Anda mulai)
  • Kejujuran (beri tahu saya jika Anda terjebak)
  • Keingintahuan (cari tahu cara yang lebih baik untuk melakukan sesuatu)
  • Keterbukaan pikiran (baik kritik maupun ide yang bukan milik Anda)
  • Kedermawanan (bagikan apa yang Anda pelajari; latih generasi berikutnya)
Alex Feinman
sumber
1
Saya setuju dengan semua kualitas yang terdaftar. Jika saya diminta untuk menjadi mentor seorang programmer junior, saya akan senang melakukannya, dan itu akan membuat hari kerja saya lebih menyenangkan.
Adam Crossland
3
Saya pikir daftar ini cukup merangkumnya, satu-satunya hal yang dapat saya tambahkan adalah komunikasi. Saya telah melihat begitu banyak pengembang muda yang menjanjikan tertinggal karena mereka tidak ingin berkomunikasi dengan anggota tim mereka. Pengodean saja tidak cukup hari ini, Anda harus berbicara dengan pengguna, anggota tim, dan terlibat. Juga, pelajari cara menulis dengan baik karena Anda akan melakukan lebih dari itu daripada yang pernah Anda pikirkan.
Nodey The Node Guy
14
+1 Kejujuran: Belajar mengatakan, "Saya tidak mengerti ini." - pertama-tama untuk dirimu sendiri dan kemudian ke rekan-rekanmu - sangat penting. Ini membuka pintu untuk komunikasi dan belajar. Saya telah melihat terlalu banyak programmer yang membiarkan ego mereka menghalangi pikiran mereka. Saya telah bekerja di industri ini selama hampir 4 dekade dan saya masih mengalami banyak hal setiap hari yang tidak saya mengerti. Jadi saya google, saya baca, saya menulis kode latihan, dan kemudian saya punya satu keterampilan lagi yang bisa saya bawa ke meja.
Peter Rowell
Tentang keterbukaan pikiran - ini termasuk pengecualian untuk buku aturan. Saya gagal dalam hal ini. Bagian dari pengalaman adalah belajar kapan harus melanggar aturan. Terkadang, memaksa segalanya agar sesuai dengan cita-cita Anda hanya membuat segalanya lebih rumit. OTOH, sama sekali tidak mengetahui buku peraturan ...
Steve314
1
Pada bagian Kejujuran: Apa yang saya katakan kepada orang-orang yang bekerja untuk saya adalah menghabiskan setengah jam mencoba mencari tahu sendiri, lalu minta bantuan atau petunjuk. Jika saya tidak memiliki jawaban langsung, gedorlah selama empat jam atau lebih sebelum memberi tahu saya butuh lebih dari itu. Saat itulah kami mulai menyeret orang dari tugas lain untuk membantu. Saat ini, saya juga akan menasihati mereka untuk mencari, dan kemudian bertanya di Stack Overflow, dan google secara umum, sejak awal dalam proses itu. Tujuan saya di sini adalah untuk mencegah respons gangguan instan, yang dapat membunuh produktivitas orang-orang di sekitar Anda.
Hack Saw
8

Dua hal: kemauan untuk belajar dan kemampuan untuk belajar.

Dima
sumber
4

Keingintahuan, antusiasme, menetapkan standar tinggi untuk diri sendiri, kemauan untuk belajar, mau mengakui bahwa mereka tidak tahu, tertarik dengan apa yang dilakukan bisnis dan bagaimana hal itu memengaruhi pekerjaan yang Anda hasilkan. (Semua kualitas baik bahkan jika Anda memiliki 20 tahun pengalaman)

Pengetahuan teknis yang baik itu bagus tetapi Anda harus menunjukkan bagaimana Anda akan menerapkan pengetahuan ini.

Yang terpenting, pewawancara harus dapat melihat Anda bekerja di sana memberikan kontribusi dan ingin tetap tinggal. Jika Anda terlalu bagus, itu bisa membuat beberapa orang lebih cepat daripada di bawah rata-rata. ;)

Peter Lawrey
sumber
4

Motivasi. Apakah Anda tahu cara memotivasi diri sendiri? Apakah Anda tahu taktik apa yang bisa bekerja lebih baik daripada yang lain? Ini adalah tentang kesadaran diri bahwa beberapa orang mungkin mengharapkan Anda untuk mengetahui dari semua pendidikan yang telah Anda lakukan untuk mengetahui hal ini.

Keterampilan pengujian dan debugging dasar. Apakah Anda tahu apa itu unit test? Apakah Anda tahu beberapa cara untuk men-debug masalah? Ini bukan tentang mengetahui secara spesifik apa yang harus dilakukan dalam suatu lingkungan, tetapi lebih pada gagasan umum tentang tes apa yang paling mendasar dan strategi apa yang harus dilakukan dalam melihat suatu masalah.

Kemampuan berkomunikasi. Seberapa tepat Anda dengan bahasa? Seberapa baik Anda bisa beralih dari teknis ke non-teknis? Memang ini adalah sesuatu untuk dikembangkan, tetapi itu adalah sesuatu yang perlu diperhatikan dan dalam beberapa kasus menyelamatkan seseorang yang mungkin mendapatkan masalah dengan tidak memahami implikasi dari apa yang mereka klaim. Seberapa baik Anda bergaul dengan orang-orang? Bukannya ini persyaratan yang ketat, tetapi jika Anda bisa memiliki hubungan baik dengan rekan kerja, itu bisa membuat beberapa pekerjaan sedikit lebih mudah ditangani. Kejujuran dan integritas juga termasuk dalam kelompok keterampilan ini karena secara umum mungkin ada pertanyaan tentang seberapa baik Anda mengatakan apa yang Anda maksudkan dan apa yang Anda katakan. "Ruang Kantor" memiliki banyak contoh komunikasi yang buruk dan sementara pekerjaan itu fiktif, mungkin ada banyak adegan yang benar-benar dekat dengan kenyataan bagi sebagian orang dalam hal bekerja di lingkungan kantor.

Keserbagunaan. Orang-orang baru dalam tim mungkin mendapatkan serangkaian tanggung jawab yang luas sehingga jika di sebuah perusahaan kecil Anda mungkin harus membuat basis data, jaringan, server web, dan hal-hal lain yang berada di luar pengembangan. Melempar masuk untuk membantu tim memenuhi tenggat waktu akan menjadi contoh lain di sini.

JB King
sumber
1
+1: Saya ingin menambahkan kejujuran ke bagian Keterampilan Komunikasi. Jika Anda benar-benar tidak terbiasa dengan sesuatu, atau jika Anda bingung tentang suatu masalah, memberi tahu kolega senior atau pemimpin tim lebih awal dapat membantu menghindari masalah yang lebih serius nantinya.
oosterwal
2
Tunggu ... "Ruang Kantor" fiksi ???
PSU
3

Bagi saya, sebagai pengembang junior tanpa gelar apa pun, kesediaan saya untuk bekerja keras dan meningkatkan diri telah sangat membantu karier saya. Juga saya perhatikan bahwa mampu mengatasi beberapa kritik (positif atau tidak) dan mampu menindaklanjuti yang dihargai oleh atasan saya.

Adapun lingkungan baru: Saya akan menyarankan untuk mengikuti arus untuk minggu pertama atau lebih. Saya membuat kesalahan dengan berusaha terlalu keras, itu tidak dihargai.

Zsub
sumber
Iya. Menerima kritik berarti mengajukan banyak pertanyaan lanjutan untuk membuat 'pengkritik' lebih nyaman. Tanyakan apa lagi yang bisa Anda ubah untuk berbuat lebih baik. Perlihatkan contoh berikut dengan masalah yang sama - sudahkah Anda melakukannya lebih baik kali ini? Apakah Anda membaik? Setelah semua orang benar-benar mendapat nyaman dengan konstruktif kritik, menyenangkan dimulai. Hanya ingat bahwa orang-orang produk bisnis Anda mungkin tidak berpikir seperti ini;)
Michael Durrant
3

Saya setuju dengan semua yang telah dinyatakan, tetapi saya ingin menekankan bahwa Anda tidak boleh melupakan keterampilan umum (dan lunak) ini sebagai pengganti menjadi ahli teknis. Anda harus mengerjakan keduanya, tetapi saya lebih suka memiliki perantara yang dapat mengkomunikasikan apa yang mereka ketahui kemudian memiliki master yang lebih suka bekerja sendiri.

Juga, jangan menghabiskan terlalu banyak waktu dengan hidung Anda di buku. Buku memang bagus, hebat, tetapi jika Anda menghabiskan sebagian besar waktu membaca dan sedikit bekerja, Anda tidak akan mendapatkan setengah dari jumlah buku itu.

Wes Baker
sumber
++ Poin bagus, Wes, meskipun saya harus bertanya-tanya. Jika saya bertanya kepada orang-orang hari ini apakah mereka sudah membaca ini-dan-begitu, jawabannya biasanya - Baca?
Mike Dunlavey
2

Jawaban yang bagus sekali. Saya hanya akan menambahkan, dari pengalaman terbang saya yang terbatas - Anda tahu apa yang mereka sebut lisensi pilot?

Lisensi untuk belajar.

Mike Dunlavey
sumber
2

Banyak jawaban bagus.

Bahkan jika saya tidak bekerja untuk 'orang besar' dan saya bukan seorang guru, saya akan menambahkan 2 sen saya.

Bersikap baik kepada orang-orang .

Cobalah bersosialisasi dengan kolega Anda, habiskan sedikit waktu Anda bersama beberapa dari mereka setiap hari jika memungkinkan. Pergi makan malam bersama mereka sesekali, bersenang-senanglah dengan mereka.

Dengan kata lain, cobalah untuk membangun "komunitas" jika tidak ada, atau menjadi bagian dari itu jika memang ada.

Mengenal rekan kerja Anda akan membantu Anda bergaul dengan mereka dengan lebih mudah. Plus, peluangnya bagus Anda akan bersenang-senang melakukannya.

sm
sumber
2

Serta semua hal baik yang disampaikan oleh komunitas (di atas), saya juga berharap untuk melihat bukti dari beberapa keterampilan keras. Bukan kesempurnaan atau kekuatan über-geek, tetapi pengetahuan yang baik tentang dasar-dasar dan konsep dasar. Anda sudah mendapatkan pekerjaan ( selamat omong-omong !) Sehingga Anda cukup banyak di sana.

Tetapi menyegarkan pengetahuan Anda dan / atau meningkatkan kecepatan dengan alat, bahasa dan teknologi yang digunakan perusahaan Anda akan berarti bahwa Anda akan berhasil dan menciptakan kesan pertama yang baik.

Pengembang junior sempurna hipotetis akan mengetahui dasar - dasar hal-hal seperti

  • bahasa.
  • I / O
  • Konsep OO seperti warisan
  • Antarmuka objek
  • akses basis data (khususnya terkait dengan bagaimana mereka melakukannya di toko kode baru Anda)
  • model HTTP
  • CSS
  • JavaScript / JQuery
  • desain basis data
  • SQL dan prosedur tersimpan
  • IDE yang akan Anda gunakan
  • kerangka kerja yang relevan (Anda menyebutkan Spring)

dan seterusnya. Dia akan dapat berkonsentrasi untuk mengambil keterampilan baru tanpa harus berhenti dan belajar dasar-dasar. Dia akan dapat dengan susah payah (mengajukan pertanyaan masuk akal sebanyak yang dia suka - kebanyakan dev senior senang ditanyai pertanyaan teknis yang masuk akal ) dengan ongkos rutin formulir online, halaman admin yang dihadapi banyak junior untuk beberapa bulan pertama. Menjadi seorang dev, junior yang andal dapat menjadi ujian inisiasi tim pertama Anda ;-)

Ketika saya mulai sebagai junior di tim web sebuah perusahaan besar, sebagian besar pekerjaan awal yang saya ditugaskan agak tidak menginspirasi tetapi menarik saya ke titik di mana saya membuka buku setiap malam sehingga saya bisa mengerti apa yang akan saya lakukan harus dilakukan pada hari berikutnya . Saya berhasil melewatinya, tapi itu adalah stres lima atau enam bulan setelah kemewahan relatif dari kursus Masters saya ;-)

Jika Anda dapat melakukan semua hal-hal dasar secara efisien, Anda mendapatkan lebih banyak hal menarik untuk dilakukan dengan cukup cepat dan ini tentu saja akan membantu memajukan karier Anda.

Dan menggemakan apa yang dikatakan banyak orang di atas, dunia komputer dan kode terus berkembang. Anda perlu mempelajari hal-hal baru setiap hari. Biarkan pikiran Anda terbuka lebar dan coba perhatikan mengapa Anda memulai ini - karena Anda <3 itu. Di tahun-tahun mendatang mungkin ada saat-saat ketika ini tidak akan berada di garis depan pikiran Anda. Antusiasme akan membantu Anda mengatasi sebagian besar gundukan dan rintangan.

Setelah mengatakan semua itu, pengalaman saya selama dua belas tahun terakhir menunjukkan bahwa sebagian besar junior tidak tinggal di perusahaan pertama mereka selamanya, jadi jangan terlalu terpaku untuk menjadi 'sempurna'. Membuat kesalahan adalah bagian dari proses yang akan membawa Anda dari junior ke mana pun Anda ingin berakhir. Saya sudah melakukan ini untuk sementara waktu sekarang dan hampir- menghapus database produksi setidaknya beberapa kali setahun.

Semoga sukses dengan karier Anda.

5arx
sumber
1
+1 karena mendapat jawaban yang menyebutkan sesuatu yang spesifik untuk pemrograman, dan karena itu tidak dapat dipindahkan tanpa diedit ke manual boyscout.
psr
Lol. Ya ada banyak kata-kata hampa dalam pertanyaan ini;)
5arx
1

(1) Pikiran terbuka. Anda tidak ingin seseorang yang dilembagakan menggunakan bahasa X dan lingkungan Y untuk setiap proyek. Anda menginginkan seseorang yang dapat bermukim kembali ketika teknologi tertentu tidak akan menyelesaikan masalah dengan bersih dan menawarkan alternatif yang baik. Yang paling penting, Anda menginginkan seseorang yang dapat menantang pemikiran konvensional dan menghasilkan solusi yang memotivasi bisnis. Anda mungkin mengalaminya sendiri, tetapi saya telah menemukan bahwa orang-orang terbiasa dengan suatu proses sehingga mereka tidak mengubahnya, tetapi mereka masih mengeluh tentang jumlah rasa sakit yang disebabkannya. Biasanya ketika saya tiba, saya melihat bagaimana meningkatkannya dan menawarkan solusi kepada manajer saya. Sekarang, saya juga mengatakan, bahwa orang tersebut harus "diplomatis" tentang saran-sarannya :)

(2) Keahlian pemodelan domain yang baik. Ini yang cukup besar yang saya temukan beberapa orang abaikan. Di beberapa tempat saya pernah bekerja, belajar tentang bisnis adalah 'membuat tangan Anda kotor' dan orang-orang menghindar ke masalah teknis murni seperti mengintegrasikan pemeriksa ejaan ke kontrol versi dll dan mereka tidak menginvestasikan banyak waktu untuk meningkatkan bisnis. Mampu melihat bisnis dan membuat model (penyederhanaan) dari itu dan mengomunikasikan bahwa kepada berbagai audiens baik itu diucapkan, visual (UML, SSADM atau apa pun) atau sedikit dari keduanya, Anda ingin seseorang dengan mentalitas itu.

Dua buku yang dapat saya rekomendasikan pada subjek adalah: Programmer yang Bergairah dan Programmer Pragmatis . Kedua buku ini menawarkan saran yang bagus untuk programmer junior dan senior

Planet terpencil
sumber
+1 untuk rekomendasi buku; Keterampilan pemodelan domain OTOH membutuhkan waktu untuk matang, jadi saya tidak akan mengharapkan ini dari junior. Tetapi berusaha untuk memahami sudut pandang bisnis dan menyelesaikan masalah nyata pengguna memang penting, di tingkat mana pun.
Péter Török
Peter, melalui universitas (setidaknya dari apa yang saya lihat) seorang pengembang akan membangun seperangkat keterampilan analitis yang kuat. Ini benar-benar tujuan pemodelan, penggalian keahlian dan membuatnya dapat dipelajari oleh orang lain. Jadi, saya akan mengatakan ini adalah keterampilan dasar yang saya harapkan dari kebanyakan pengembang. Mampu membingkai masalah tertentu di tingkat mikro / marco dan menjelaskannya kepada seorang pedagang keuangan, mendapatkan umpan balik, dan mengomunikasikannya kembali ke rekan tim Anda. Tapi itu hanya pendapat saya.
Desolate Planet
1

Mengambil inisiatif. Saya memiliki banyak orang yang tidak melakukan ini sama sekali dan selalu menunggu untuk diberi tahu apa yang harus dilakukan. Jika Anda melihat sesuatu yang harus diperbaiki, lakukanlah. Anda punya ide untuk meningkatkan sesuatu? Bawa ke depan. Perlu keahlian lain untuk meningkatkan sesuatu? Pelajari itu.

Menunjukkan bahwa Anda peduli dengan apa yang Anda lakukan dan ingin tingkatkan.

jmq
sumber
1

Sama sekali tidak menakut-nakuti Anda, tetapi satu hal yang saya akan memperingatkan Anda terhadap hal itu di setiap perusahaan tempat saya bekerja, adalah metode pengguliran besar yang sangat kotor, dan benda-benda dengan nama buruk yang membuat Anda takut membuka file sumber secara tipis. kaget dan ngeri kekacauan seperti itu. Tempat-tempat yang biasanya Anda temukan ada di penangan acara untuk tombol "OK" pada dialog, atau tombol "Kirim" pada halaman web.

Saya memohon Anda dari lubuk hati saya. Silakan instal bel alarm mental, bahwa ketika suatu metode mulai terlihat besar, dan besar, maksud saya lebih dari 10 baris atau lebih, pikirkan tentang membuat metode lain ... begitu banyak metode kemudian, Anda akan mengerti betapa banyak tanggung jawab objek yang Anda kembangkan memiliki.

Bel alarm berikutnya yang saya rekomendasikan, adalah 2-3 parameter maks dalam suatu metode. Jika Anda melihat metode dengan sekitar 10 parameter input, sampaikan halo ke pemrograman fungsional dalam bahasa OO ...

Maaf atas sedikit frustrasi yang diungkapkan dalam respons ini, saya hanya tidak bisa menjerit cukup bermanfaat bagaimana belajar menulis kode yang bersih.

Tolong ambil sendiri salinan Robert. C Martins Clean Code . Bacakan setiap minggu, keluarkan untuk makan malam, tidur dengan itu di bawah bantal Anda, bawa salinannya di toilet, dan cetak beberapa halaman dan tempelkan di langit-langit sehingga ketika Anda pergi tidur, Anda dapat membacanya sebelum Anda tertidur;).

Saya berharap yang terbaik dalam karir Anda. Gairah Anda pada titik ini sudah menunjukkan bahwa Anda akan melakukan yang terbaik.

Martin Blore
sumber
1

Satu-satunya saran yang bisa saya tawarkan adalah tidak pernah berhenti belajar. Cara yang dimiliki para pengembang rockstar di sana adalah dengan meluangkan waktu untuk mempelajari teknik dan bahasa baru adalah waktu luang mereka sendiri. Meskipun sangat bagus jika Anda tinggal di sana selama 10 tahun, ketika Anda keluar Anda hanya akan tahu Java + Spring + Hibernate. Inilah sebabnya mengapa di waktu senggang saya melihat platform .NET, Python, dan kode C ++ sesekali untuk tetap aktif. Sebagai seseorang yang mengerjakan MS dalam info detik, waktu bisa berharga dan harus digunakan dengan bijak.

Woot4Moo
sumber
1

Kemampuan menggunakan google. Benarkah.

Bukannya aku tidak akan pernah membantu siapa pun, khususnya kolega yunior. Tetapi tidak ada yang lebih membuat frustrasi ketika seseorang tidak melakukan uji tuntas dalam menyelesaikan masalah, secara terus-menerus.

Saran saya untuk junior lunak. insinyur adalah untuk melakukan uji tuntas Anda dalam memecahkan masalah. Gunakan google, wikipedia, atau stackoverflow dengan rajin dan metodis ketika Anda tidak tahu sesuatu.

Jangan menunggu terlalu lama sebelum meminta bantuan rekan kerja yang lebih senior - itu tergantung pada jenis organisasi. Di perusahaan yang baik di mana orang-orang saling membantu, jika Anda menghabiskan lebih dari setengah hari untuk mencari jawaban, jangan ragu untuk menghentikan penelitian Anda sendiri untuk meminta bantuan.

Di organisasi lain di mana orang selalu saling bermusuhan, Anda mungkin harus menghabiskan beberapa hari sendirian (mendokumentasikan semua yang telah Anda lakukan dan di mana pun Anda telah meneliti) sebelum meminta bantuan. Di perusahaan seperti itu, mendokumentasikan apa yang Anda lakukan membantu sehingga Anda dapat menunjukkan kepada mereka bahwa "Anda melakukannya di Google" karena itu akan menjadi jawaban pertama yang akan mereka berikan kepada Anda.

Tapi bagaimanapun, esensi dari apa yang akan saya cari dalam seorang insinyur junior adalah melakukan uji tuntasnya dalam mencoba memecahkan masalah alih-alih mengharapkan jawaban yang ditangani kepadanya setiap saat. Singkatnya, tunjukkan padaku kamu bisa menggunakan google.

luis.espinal
sumber
1
  • Gairah tentang pekerjaan

  • Bersedia belajar lebih banyak & lebih banyak & lebih banyak ..

  • kejujuran

  • konsistensi

Jigar Joshi
sumber
1

Jawaban yang bagus di sana, jika Anda mengikuti semua yang dikatakan orang di sini, saya yakin ada orang yang pandai melakukan apa yang dia lakukan,

Hanya ingin menekankan beberapa poin.

  • Bersikaplah rendah hati, jangan takut untuk memberikan pendapat Anda, tetapi begitu sebuah pendapat dibagikan, jangan bertahan, bersiaplah untuk belajar dari orang lain.
  • membentuk hubungan dengan anggota tim Anda, orang sebanyak yang kami inginkan untuk bekerja dengan programmer yang cerdas dan mapan, kami masih membutuhkan orang yang dapat kami ajak bicara, memiliki hubungan yang sehat dengan anggota tim Anda akan sangat membantu karir Anda.
  • Bersikap proaktif, jangan menunggu untuk diberikan pekerjaan, cari pekerjaan, usulkan ide-ide baru ke lingkungan, bahkan jika mereka tidak diterima, ini akan meningkatkan nilai Anda kepada perusahaan.
  • Bagikan dengan orang lain apa yang Anda pelajari, ini akan meningkatkan tingkat pemahaman Anda, meningkatkan nilai Anda bagi perusahaan dan masyarakat.
  • Selesaikan apa yang Anda mulai, komitmen adalah kualitas yang hebat untuk dimiliki.
  • Tetap bahagia dan jangan kecewa ketika segala sesuatunya tidak berjalan sesuai rencana, akan ada pasang surut, tetapi bertahanlah

Semua yang terbaik dalam pekerjaan Anda

Brian Paul
sumber
1

Satu keterampilan yang menurut saya tidak dimiliki oleh banyak Programer Jr, tetapi sangat bagus, kemampuan untuk membuat alat Anda sendiri. Anda dapat menghemat BANYAK waktu dan upaya dengan beberapa alat khusus yang dibuat dengan baik. Dan mereka tidak harus menjadi sesuatu yang mewah, kebanyakan dari saya adalah skrip shell 3 baris, meskipun beberapa jauh lebih lama.

Tetapi belajar mengotomatisasi berbagai hal akan membuat hidup Anda lebih mudah. (Dan mengesankan rekan kerja Anda ketika Anda bisa menyelesaikan sesuatu dengan baik)

Zachary K
sumber
-3
  • Tidak suka Java dan C ++.
  • Pemahaman dasar internal sistem operasi, algoritma dan struktur data.
  • Kemahiran luar biasa dalam C, dan setidaknya satu bahasa scripting.
  • Pengetahuan kerja satu VCS utama (Mercurial, Subversion atau Git).
  • Kemampuan untuk bekerja dengan mahir di baris perintah.
  • Tidak menyukai Windows, dan sesekali menggunakan OS Unix yang diturunkan di rumah seperti Linux, BSD, atau Solaris untuk pengembangan atau penggunaan umum.
Matt Joiner
sumber
Saya tidak berpikir bahwa ketidaksukaan yang kuat terhadap Java / C # / C ++ sama pentingnya dengan memahami bahwa dunia tidak dimulai dan diakhiri dengan mereka. Java memiliki kegunaannya, tetapi begitu juga Ruby, PHP, Erlang, Lisp dll.
Zachary K
Berapa lama waktu yang dibutuhkan untuk mengembangkan pengetahuan tentang VCS umum?
Andrew M
@Andrew M: Diperlukan waktu berminggu-minggu untuk menjadi mahir dengan sejumlah besar alat yang mengelilingi VCS. Diffs, cabang, penambalan, penggabungan. Lalu ada yang mengatasi keterbatasan, atau komplikasi berlebihan dari masing-masing VCS.
Matt Joiner
@ Matt: Begitu, terima kasih. Jadi apa cara terbaik untuk melakukan ini sendiri? Apakah hanya menggunakannya untuk proyek kesayangan Anda sendiri akan menjadi praktik yang cukup baik?
Andrew M
2
Poin-poin pertama dan terakhir Anda tidak ada hubungannya dengan menjadi pandai mengembangkan atau belajar (hal-hal utama yang Anda butuhkan dari pengembang baru.) Memiliki "ketidaksukaan yang kuat terhadap XYZ" hanya berguna jika semua orang di tim berbagi rasa tidak suka. Jika tidak, itu hanya akan menyebabkan keretakan. Tidak ada perbedaan antara pembenci Windows dan pembenci Linux kecuali bahwa mereka berdua pembenci. Di sisi lain, seseorang dengan alasan untuk tidak menyukai sesuatu berdasarkan pengalaman pribadi berarti mereka memiliki sesuatu untuk dibawa ke meja - BAHWA layak untuk dimiliki ... Tetapi menggunakan Suse di rumah tidak akan membuat Anda lebih pintar.
corsiKa