Belajar pengembangan sistem yang tertanam tanpa pengawasan [ditutup]

10

Saya telah lulus tahun ini dan mendapatkan pekerjaan pertama saya terlibat dengan pemrograman C, administrasi Linux dan pengembangan sistem embedded. Saya merasa cukup puas dengan pekerjaan saya, tetapi saya khawatir saya tidak akan menjadi programmer yang sukses di bidang ini. Saya seorang pengembang tunggal di pekerjaan saya sekarang, dengan rekan tim saya menjadi ahli perangkat keras, tidak ada yang membimbing saya atau mengajar saya cara pemrograman tertanam, saya harus belajar sendiri.

Jadi inilah pertanyaanku. Apakah mungkin untuk menjadi pengembang sistem embedded yang baik mulai dari posisi entry level tanpa pengawasan oleh programmer senior? Bagaimana saya bisa menjadi satu (mungkin dengan bantuan forum, saluran IRC, buku teks yang bagus)? Berapa lama?

PEMBARUAN: Sejauh ini, saya telah menerima beberapa jawaban yang membantu, tetapi saya menyadari bahwa saya memerlukan beberapa petunjuk spesifik tentang masalah ini.

Jadi, inilah pertanyaan khusus saya:

  1. Apa saja buku teks bagus yang bisa digunakan untuk mempelajari pengembangan yang disematkan?
  2. Apa komunitas online khusus yang dapat membantu untuk pengembang tertanam yang bercita-cita (tidak termasuk hal-hal umum seperti Stack Overflow, Reddit, dan sebagainya)?
  3. Apa saja blog paling menarik yang didedikasikan untuk pengembangan yang disematkan?
Olga
sumber

Jawaban:

3

Anda benar bahwa berada dalam kasus Anda akan membuat segalanya sedikit lebih sulit. Namun ada banyak solusi untuk menyelesaikan masalah Anda.

  1. Pertama-tama cobalah untuk berpartisipasi dalam komunitas seperti ini, tetapi mungkin lebih terspesialisasi dalam bidang Anda. Dengan berpartisipasi, Anda akan menambah pengetahuan Anda, dan yang lebih penting, bertemu orang lain.

  2. Cobalah berpartisipasi dalam kamp kode , atau inisiatif apa pun di mana Anda bertemu pengembang lain seperti Anda. Lebih mudah untuk berbagi pengetahuan ketika Anda memiliki orang di depan Anda.

  3. Minta atasan Anda untuk memesan Anda setidaknya 10 hari pelatihan setahun . Tidak perlu menjelaskan kelebihannya di sini, jika dia menolak, dia bodoh.

  4. Cobalah pergi ke 1 hingga 2 konferensi atau pameran dagang yang terkait dengan bisnis Anda.

  5. Cobalah membaca buku teknis setiap dua bulan . Jika Anda dapat membaca lebih lanjut, jangan ragu.

  6. Dapatkan mentor . Tentu saja itu bukan hal yang paling mudah untuk dicapai.

  7. Cadangan waktu dalam seminggu untuk bereksperimen dan melakukan penelitian & pengembangan , dengan mencoba teknologi baru dari hal-hal yang Anda baca di buku, komunitas, pameran dagang, pelatihan, dll. Meluangkan waktu untuk mempraktekkan apa yang telah Anda pelajari adalah SANGAT penting.

  8. Hari ini Anda adalah satu-satunya pengembang, tetapi berkat kerja keras Anda, perusahaan tempat Anda akan tumbuh, dan mungkin perlu mempekerjakan lebih banyak orang dari jenis Anda .


sumber
3

Saya seorang pengembang tunggal di pekerjaan saya sekarang, dengan rekan tim saya menjadi ahli perangkat keras

Jangan ragu untuk menggunakannya sebagai sumber daya. Salah satu hal yang paling sulit untuk programmer yang tidak EE adalah merasa nyaman dengan perangkat keras. Sangat berguna untuk dapat membaca skematik (bahkan jika Anda tidak dapat mendesainnya), dan memahami cara menggunakan ruang lingkup untuk melihat sinyal yang keluar dari mikrokontroler.

tcrosley
sumber
0

Sudah lama sejak Anda mengajukan pertanyaan ini, jadi saya harap Anda baik-baik saja. Berikut adalah beberapa saran tambahan yang saya harap akan membantu.

Stack Exchange dan Blog

Cukup mengherankan, Stack Exchange tidak memiliki situs tanya jawab untuk sistem Tertanam. Satu diusulkan sekitar dua tahun lalu, tetapi masih dalam tahap komitmen, mendekam tanpa cukup banyak orang yang mendaftar untuk mendukungnya. Jika Anda ingin membuat perbedaan, buka di sini:

http://area51.stackexchange.com/proposals/15961/embedded-system-design-and-development

Baca proposal dan jika Anda setuju, klik komit untuk terlibat.

Linked In juga memiliki grup Sistem Tertanam, ditambah beberapa grup yang terkait erat yang mungkin menarik:

Sistem Tertanam

Firmware

LENGAN

Sumber Daya Web

EETimes memiliki fitur tentang sistem tertanam.

http://www.eetimes.com/design/embedded

Dobbs adalah teman lama bagi para programmer dari semua jenis dan memiliki hal-hal hebat yang tertanam.

http://www.drdobbs.com/embedded-systems

Komunitas Arduino besar, antusias, dan telah menghilangkan banyak hambatan untuk masuk ke pemrograman tertanam termasuk harga dan pelatihan sebelumnya.

http://www.arduino.cc/

Jika Anda adalah pengembang perangkat lunak wanita atau pengembang pria yang tidak memiliki penerangan yang menggunakan sistem embedded adalah klub "Good-Old-Boys", lihat situs ini. Pengarangnya adalah lulusan MIT, telah melakukan hal yang tidak menyenangkan, di luar kotak (atau terkadang di dalam kotak, seperti pengisi daya iPhone kotak Altoids-nya), dan tampaknya sangat produktif dalam mendesain, menulis, dan membuat blog video.

http://www.youtube.com/watch?v=QkmtHqsYCbw&feature=player_embedded# !

http://www.adafruit.com/tutorials

Banyak vendor akan memiliki koleksi luas lembar data, catatan aplikasi, kertas putih, dan salinan gratis atau evaluasi alat pengembangan. Perusahaan-perusahaan top di ruang ini termasuk ARM, Atmel, Freescale, intel, Microchip Technologies, NXP (sebelumnya Phillips), TI, dan banyak lainnya.

Buku

Tidak yakin apakah Anda dapat menemukannya, tetapi saya memiliki buku yang saya pikir menceritakan banyak kisah untuk sistem tertanam dalam hal alat (perakit, penghubung, pemuat) dan hal-hal mendasar yang terjadi dalam mikroprosesor (interupsi, I / O, sederhana manajer tugas dan penjadwal, struktur file sederhana). Pemrograman Sistem untuk Komputer Kecil, Daniel Marcellus.

Referensi yang lebih modern adalah Embedded Linux Primer. Bab-bab awal membahas alasan di balik menjalankan Linux pada sistem embedded dan beberapa mekanisme yang terlibat. Bab 3 memiliki diskusi yang bagus tentang prosesor + chipset dukungan dan opsi SOC (System On a Chip) yang dapat dipertimbangkan untuk digunakan dalam desain saat ini. Sebenarnya, targetnya bergerak, sehingga memberikan titik awal yang kontemporer dengan penerbitan buku. Bab 3 hebat, tetapi harus dilengkapi dengan beberapa penelitian lebih lanjut di web dan dalam diskusi dengan vendor. Biasanya, insinyur listrik dan insinyur perangkat lunak utama pada proyek akan memilih prosesor, jadi jika Anda berada di perusahaan dan mempelajari sistem yang tertanam, lakukan penyelaman mendalam pada perangkat keras yang mereka pilih.

Bab-bab selanjutnya menyertakan deskripsi luas tentang banyak aspek praktis penargetan Linux ke perangkat keras, tetapi kemitraan dengan vendor dan penggunaan desain referensi standar yang cantik mungkin mengurangi upaya secara signifikan.

Pengembang Don
sumber
0

Sebagian besar tergantung pada diri Anda sendiri. Jika Anda bersedia untuk belajar dan mengetahui cara mengumpulkan informasi yang cukup tentang masalah ini, Anda dapat mengajari diri sendiri apa saja. Tetapi tidak semua orang sama berhasilnya dalam melakukan itu:

Saya mulai di lingkungan yang sama, dan jika saya melihat keberadaan saya sekarang yang bertentangan dengan 5 tahun yang lalu (lulus sebagai insinyur elektronik, praktis tidak memiliki latar belakang pemrograman), saya merasa luar biasa kemampuan otak manusia. Ketika saya mulai, saya belum pernah mendengar pola desain, TDD, ... dan belum pernah melihat kode program yang sebenarnya. Sekarang saya tahu hal-hal ini dengan cukup baik, dan tahu cara menggunakannya. Satu-satunya hal yang saya lakukan adalah mencari di internet, membaca kode dari orang lain dan beberapa buku (yang lagi-lagi saya temukan di internet), dan yang paling penting, menulis banyak kode, men-debug, belajar dari kesalahan saya. Belajar dari kesalahan adalah cara yang jauh lebih baik untuk belajar sesuatu daripada hanya membaca sampel dan mereplikasi perilaku. Ini sangat aneh, tetapi saya hanya berbicara dalam kehidupan nyata dengan apa yang saya sebut programmer yang baik beberapa kali.

Satu-satunya programmer lain di sini adalah apa yang Anda sebut senior (karena dia sudah bekerja selama 15+ tahun). Dia bekerja dengan cara yang sangat berbeda dari saya. Dan dia masih menulis bentuk C yang cacat dengan kelas, tidak pernah menggunakan STL, tidak tahu apa pola desain dll dll (saya mungkin akan memulai pertanyaan tentang masalah ini segera, saya mengalami kesulitan mencoba minta dia untuk mengadopsi setidaknya beberapa metode saya ..)

stijn
sumber
-1 Untuk makna yang mungkin baik, tetapi petunjuk-kurang "Jika Anda cukup cerdas ..." pembukaan. Tolong, jangan pernah mempertanyakan kecerdasan siapa pun, terutama jika tidak ada bukti nyata. Saya tidak berpikir tujuan Anda adalah untuk tidak ramah, tetapi bagi Olga, mungkin terlihat seperti itu. Dia tampaknya telah memposting satu pertanyaan ini, dan kemudian tidak melakukan apa pun lebih lanjut di Stack Exchange.
DeveloperDon
@DeveloperDon tujuan saya memang bukan untuk tidak ramah tetapi Anda benar, ketika saya membaca kalimat sekarang sepertinya saya duduk di atas menara yang semuanya lebih unggul. Suatu hal yang memalukan, jadi saya menghapusnya.
stijn