Ringkasan
Penulis mengerti betapa sulitnya bagi insinyur di Rusia untuk hidup dan memutuskan untuk pergi ke programmer. Dia melakukannya. Posting tentang bagaimana.
Mengapa saya menulis semua ini
- Terima kasih Ucapkan "terima kasih" kepada komunitas Habr.
- Dukungan dan motivasi . Adalah moral untuk mendukung insinyur yang juga memutuskan untuk mengubah panggilan mereka ke yang baru, tetapi tidak dapat memutuskan.
- Motivasi diri . Sebuah laporan kecil dan beberapa rencana yang dibuat secara publik sangat berguna untuk bergerak maju.
- Bagikan pengalaman . Mungkin seseorang akan menunjukkan jalan saya ke jalannya sendiri.
Terima kasih
Demi ini, pos itu dikandung. Di sinilah untuk memulai.
Posting saya “ Insinyur VS Programmer. Atau ke mana para insinyur pergi ”membawa banyak komentar, beberapa pesan pribadi, beberapa wawancara. Yang paling penting, dia membawakan saya gelombang dukungan, kepositifan, dan motivasi.
Terima kasih banyak untuk seluruh komunitas Habr! Itu adalah dukungan dari komunitas yang memberikan tendangan inspirasional, maju, ke tujuan saya, dan membawa saya ke programmer.
Terima kasih khusus Saya ingin mengatakan serenityfx , yang secara khusus mendaftar untuk meninggalkan komentar dengan proposal untuk berbagi pengalaman mereka, meluangkan waktu untuk berbicara dengan saya secara pribadi, untuk menjawab pertanyaan saya. Dia memberi saya arahan dan membantu saya memahami bagaimana dan ke mana harus pergi berikutnya.
Terima kasih, Habr! Kamu keren!
Ringkasan pos terakhir
Setelah bekerja sebagai seorang insinyur selama 14 tahun, termasuk seorang insinyur pengembangan, saya memutuskan untuk beralih ke programmer, karena seorang insinyur perangkat lunak adalah spesialisasi yang dituntut dengan gaji yang lebih tinggi, prospek dan peluang yang luas.
Cara saya
Berkat umpan balik dari Habr, saya dapat dengan jelas mengartikulasikan dua jalur pengembangan lebih lanjut.
Yang pertama adalah mencoba lagi untuk menemukan diri Anda sebagai insinyur pengembangan, baik di Rusia maupun di luar negeri. Untungnya, beberapa kontak pribadi datang langsung dari komentar, yang memungkinkan kami melakukan beberapa upaya.
Cara kedua, yang juga digambarkan dengan sangat jelas, adalah mengunduh keterampilan programmer mikrokontroler dan embedded system dan mencari posisi awal (Juni tengah) di area ini.
Sebagai "monyet yang cerdas dan cantik" yang punya waktu, saya mencoba berjalan secara bersamaan dalam dua arah. Terlibat aktif dalam pencarian pekerjaan, termasuk di luar negeri, dan mulai memompa keterampilannya dalam pengontrol.
Enam bulan kemudian, menjadi jelas bahwa jalan pertama masih jalan buntu. Kita harus pergi ke programmer. Kebetulan mendorong saya untuk memberhentikan. Saya fokus pada pengontrol dan pencarian pekerjaan, tetapi sebagai programmer.
Tanpa diduga untuk diri saya sendiri, saya menerima tawaran untuk bekerja sebagai freelancer pada proyek yang pada saat yang sama menggunakan saya baik sebagai programmer pengontrol dan sebagai insinyur pengembangan. Kehidupan freelancer saya bertahan 8 bulan dan berakhir dengan pembayaran pesanan. Tetapi keterampilan pemrograman saya telah tumbuh banyak selama ini, jadi saya kembali ke pasar tenaga kerja dan mencari pekerjaan sebagai insinyur perangkat lunak.
Menurut hasil salah satu wawancara, saya diundang pertama kali untuk magang, kemudian untuk masa percobaan, yang secara bertahap mengalir ke kontrak permanen. Jadi saya menjadi insinyur perangkat lunak tertanam.
Tapi mari kita sedikit lebih rinci tentang masing-masing langkah.
Posisi awal
Mulai dengan insinyur pengembangan. Bahkan, pekerjaan saya setengah terdiri dari pengembangan dan pengujian algoritma, perangkat keras, seperempat masalah organisasi - manajemen tim, pengadaan dan dokumentasi, dan seperempat perangkat pemrograman yang dikembangkan.
Sebagai seorang insinyur jadul, saya memiliki kecenderungan untuk pengetahuan teoretis, jadi pada saat saya dipecat di belakang, saya sudah memiliki beberapa program dengan berbagai tingkat kegunaan:
Selain itu, ada kursus yang menarik tetapi tidak berguna dari ITMO Academy HTML (HTML / CSS / JS),
" Manajemen Proyek " dari HSE dan " Teori Grafik " dari ITMO. Dan juga setengah dari kursus JavaRush selesai, yang ditinggalkan setelah memutuskan untuk masuk ke embedded.
Dalam praktiknya, saya memiliki pengalaman pemodelan dan pemrosesan sinyal yang terkait dengan perangkat saya. Pengalaman menulis firmware untuk pengontrol seri SiliconLabs C8051, pengontrol Atmel junior, dan beberapa pengalaman pengembangan untuk FPGA Altera.
Di belakang saya adalah pengalaman mengelola tim dan produksi skala kecil, tetapi saya menganggapnya tidak relevan.
Mencari pekerjaan
Topik wawancara layak mendapat posting terpisah. Ada banyak, mereka lewat dalam gelombang.
Ada banyak keanehan dalam wawancara. Ketika saya datang untuk mewawancarai posisi seorang programmer, mereka bertanya kepada saya mengapa dengan pengalaman seperti itu saya tidak ingin bekerja sebagai seorang insinyur. Pada sebuah wawancara dengan seorang insinyur, saya disiksa karena pengalaman pemrograman.
Ada beberapa pertemuan singkat di mana aku berkata, "Berhentilah, kau tidak membutuhkanku." Sebaliknya, salah satu posisi adalah maraton wawancara dari lima wawancara dua jam dalam bahasa Inggris di Skype. Ada orang-orang militer berkamuflase yang pada prinsipnya saya tidak ingin pergi. Ada sebuah perusahaan, yang intinya adalah koperasi freelancer yang dipimpin oleh seorang manajer.
Hasil utama dari sebagian besar wawancara saya adalah kurangnya tawaran pekerjaan di mana saya inginkan, dan ketersediaan pekerjaan di mana saya tidak ingin bekerja.
Hidup dalam freelance
Di sini saya terjun langsung ke semua pro dan kontra dari lepas, yang dibahas berkali-kali tentang Habré. Bagi saya, waktu telah menjadi nilai tambah yang besar. Saya tinggal di rumah kota saya di alam dan tidak menghabiskan waktu di jalan. Tapi saya dengan mudah memberi proyek 12 jam sehari, memiliki kesempatan untuk belajar dan menutup kesenjangan pengetahuan yang saya miliki dalam pemrograman. Saya terjun ke dunia STM32, termasuk FreeRTOS. Pertama saya mengejek proyek yang saya butuhkan di Discovery, kemudian saya membuat papan dan mengulanginya pada seri 10x. Secara paralel, saya menemukan Git dan mendesain untuk UML sebagai bagian dari tugas yang diperlukan. Sayangnya, saya tidak bisa pergi jauh dari rumah, karena saya harus membawa osiloskop, besi solder, catu daya bersama saya.
Pada saat yang sama, proyek yang berhubungan dengan antena dan radar dijalankan. Namun penghasilan utama ditanggung oleh satu pelanggan. Omong-omong, penghasilan ini satu setengah kali lebih tinggi dari gaji saya sebagai insinyur pengembangan.
Namun, pada awalnya pelanggan mulai menunda pembayaran tahap, tapi saya tahan dengan itu. Ketika dia benar-benar berhenti membayar dan menghilang dari cakrawala, dia harus mengencangkan ikat pinggangnya dan mencari pekerjaan lagi.
Ya, lumrah dikenal semua orang - menyimpulkan kontrak. Saya bertukar uang dengan pengalaman dalam freelance dan pemrograman.
Tes pertempuran
Saya masuk ke perusahaan ini untuk kedua kalinya. Upaya pertama untuk menyelesaikan tugas tes (tugas kecil untuk mikrokontroler) tidak mengarah ke wawancara. Saya menelepon kembali, mencari tahu apa yang sebenarnya tidak suka solusi saya (beberapa komentar, hanya satu solusi yang diusulkan). Upaya kedua enam bulan kemudian lebih berhasil.
Wawancara dengan perwakilan SDM, dengan tes kecil. Pembicaraan dengan kolega masa depan itu panjang dan menyeluruh. Total lebih dari 2 jam. Proposal untuk magang "berbayar" selama beberapa hari.
Selama "magang" dia menutup beberapa bug. Dia menerima uang di tangannya bersama dengan tawaran masa percobaan tiga bulan.
Kita dapat mengatakan bahwa sejak saat ini mulai menyelam nyata, setengah tahun. Secara singkat selama ini:
- terjun cepat ke seluruh Legacy Code Lake, bergulat dengan serangga;
- Saya tersedak pada Linux bawaan, dari driver ke skrip bash;
- cepat berlari melalui SVN;
- pengujian unit yang dipelajari oleh GTest;
- menguasai metodologi CI, mengkonfigurasi tugas-tugasnya dengan sekelompok tes unit + kompilasi Hudson / Ant / Python;
- menemukan Qt dan widgetnya;
- memompa aplikasi praktis FreeRTOS di STM;
- menulis skrip pengujian keluar untuk perangkat baru;
- hampir berhenti merasakan sindrom penipu.
Enam bulan pertama adalah waktu yang sangat aktif. Anda bekerja selama 8 jam. Kemudian Anda pulang dan selama sisa waktu Anda mencoba untuk dengan cepat menarik pengetahuan dan keterampilan Anda untuk menyelesaikan tugas-tugas yang ditetapkan oleh hari. Hari berikutnya Anda datang bekerja dan mencoba memecahkan masalah dengan pengetahuan baru.
Kolega banyak membantu. Di mana saran praktis, di mana hanya ide.
Ketika Anda bekerja dalam mode: ada masalah - Anda harus segera menyelesaikannya, kemudian pelatihan bergerak lebih cepat. Hal utama adalah jangan lupa untuk terlihat sedikit lebih lebar, dan punya waktu untuk memahami apa yang sebenarnya Anda lakukan.
Sekarang saya telah sedikit melambat, terutama karena di musim dingin saya jatuh ke dalam keadaan mendekati hibernasi, tetapi saya tidak hanya bekerja sebagai programmer, tetapi juga merasa seperti itu. Kode lawas, sprint, desain, tes, CI / CD dalam pertumbuhan penuh. Dan aku suka itu!
Gaji dibandingkan dengan insinyur pengembangan memiliki lebih dari dua kali lipat. Tidak ada persyaratan pemrosesan atau tidak jelas. Ini bahkan lebih dari yang saya harapkan ketika saya akan pergi ke programer.
Apa selanjutnya ...
Jangan berhenti. Ini tidak sulit, karena pemrograman memiliki kemampuan untuk masuk ke dalam proses. Setelah memulai, sangat sulit untuk berhenti.
Untuk belajar. Karena masih banyak bintik-bintik putih dalam pengetahuan saya, termasuk yang teoritis. Dan bagaimana tidak cukup praktis.
Saya benar-benar ingin berurusan dengan proyek saya, terutama karena saya memiliki beberapa ide di kepala saya, dan saya memiliki dua syal yang menarik di tangan saya.
Terdaftar dalam beberapa kursus. Algoritma dan basis data.
Saya ingin pergi ke tuan di lingkungan yang sama, tetapi kita akan lihat.
Kesimpulan
Pesan utama dari teks ini adalah bahwa saya bisa menjadi insinyur perangkat lunak untuk sistem tertanam dari seorang insinyur pengembangan dalam dua tahun. Jika saya tidak kehilangan waktu dengan harapan sia-sia dan menginjak-injak di tempat, saya pasti akan tetap dalam satu setengah tahun.
Yang penting dan perlu adalah pengetahuan teori. Konsep dasar, besi, Linux, pengontrol.
Yang jelas tidak cukup - berlatih. Salah satu proyek saya, dengan kode dan komentar indah yang wajib - sangat kurang ketika mencari pekerjaan.
Keyakinan bahwa semuanya akan berhasil. Saya memiliki komentar inspirasional tentang Habré dan "belakang yang kuat" yang percaya pada saya.
Sekali lagi terima kasih untuk semuanya!