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.
sumber
Jawaban:
Banyak dari ini benar di mana pun Anda berada dalam karir Anda, tetapi mungkin sangat penting bagi seseorang yang baru memulai.
sumber
Berikut daftar singkat dari atas kepala saya:
sumber
Dua hal: kemauan untuk belajar dan kemampuan untuk belajar.
sumber
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. ;)
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
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
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.
sumber
(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
sumber
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.
sumber
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.
sumber
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.
sumber
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.
sumber
Gairah tentang pekerjaan
Bersedia belajar lebih banyak & lebih banyak & lebih banyak ..
kejujuran
konsistensi
sumber
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.
Semua yang terbaik dalam pekerjaan Anda
sumber
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)
sumber
sumber