Apprendre le développement de systèmes embarqués sans supervision [fermé]

10

J'ai obtenu mon diplôme cette année et j'ai obtenu mon premier emploi impliqué dans la programmation C, l'administration Linux et le développement de systèmes embarqués. Je me sens assez satisfait de mon travail, mais je crains de ne pas devenir un programmeur performant dans ce domaine. Je suis seul développeur sur mon travail maintenant, avec mes coéquipiers étant des experts en matériel, il n'y a personne pour me guider ou m'enseigner les méthodes de programmation intégrée, je dois étudier tout seul.

Donc, voici mes questions. Est-il possible de devenir un bon développeur de systèmes embarqués à partir d'un poste d'entrée de gamme sans aucune supervision par des programmeurs seniors? Comment pourrais-je en devenir un (peut-être avec l'aide de forums, de canaux IRC, de bons manuels)? Combien de temps cela prendrait-il?

MISE À JOUR: Jusqu'à présent, j'ai reçu une poignée de réponses utiles, mais j'ai réalisé que j'avais besoin de quelques conseils spécifiques sur le sujet.

Voici donc mes questions particulières:

  1. Quels sont les bons manuels que l'on peut utiliser pour apprendre le développement intégré?
  2. Quelles communautés en ligne spécialisées peuvent être utiles pour un futur développeur intégré (sans compter les choses générales comme Stack Overflow, Reddit, etc.)?
  3. Quels sont les blogs les plus intéressants dédiés au développement embarqué?
Olga
la source

Réponses:

3

Vous avez raison, le fait d'être dans votre cas rendra les choses un peu plus difficiles. Cependant, il existe de nombreuses solutions pour résoudre votre problème.

  1. Essayez d'abord de participer à des communautés comme celle-ci, mais peut-être plus spécialisées dans votre domaine. En participant, vous augmenterez vos connaissances et, plus important encore, rencontrerez d'autres personnes.

  2. Essayez de participer à des camps de code ou à toute initiative où vous rencontrez d'autres développeurs comme vous en vrai. Il est plus facile de partager des connaissances lorsque vous avez la personne devant vous.

  3. Demandez à votre patron de vous réserver au moins 10 jours de formation par an . Pas besoin d'expliquer les avantages ici, s'il refuse, il est stupide.

  4. Essayez d' aller à 1 à 2 conférences ou foires commerciales liées à votre entreprise.

  5. Essayez de lire un livre technique tous les deux mois . Si vous pouvez en savoir plus, n'hésitez pas.

  6. Obtenez un mentor . Ce n'est pas la chose la plus facile à réaliser, bien sûr.

  7. Réservez du temps dans la semaine pour expérimenter et faire de la recherche et du développement , en essayant de nouvelles technologies de choses que vous lisez dans vos livres, votre communauté, vos salons professionnels, vos formations, etc ... Prendre le temps de pratiquer ce que vous avez appris est TRÈS important.

  8. Aujourd'hui, vous êtes le seul développeur, mais grâce à votre travail acharné, l'entreprise dans laquelle vous êtes va croître et devra probablement embaucher plus de personnes de votre genre .


la source
3

Je suis seul développeur sur mon travail maintenant, avec mes coéquipiers étant des experts en matériel

N'hésitez pas à les utiliser comme ressource. L'une des choses les plus difficiles pour les programmeurs embarqués qui ne sont pas EE est de se familiariser avec le matériel. Il est très utile de pouvoir lire un schéma (même si vous ne pouvez pas en concevoir un) et de comprendre comment utiliser un oscilloscope pour regarder les signaux sortant du microcontrôleur.

tcrosley
la source
0

Cela fait un moment que vous n'avez pas posé cette question, j'espère donc que vous êtes sur la bonne voie. Voici quelques suggestions supplémentaires qui, je l'espère, vous seront utiles.

Échange de pile et blogs

Étonnamment, Stack Exchange ne dispose pas de son propre site de questions / réponses pour les systèmes embarqués. L'une a été proposée il y a environ deux ans, mais elle est toujours en phase d'engagement, languissant sans suffisamment de personnes s'inscrivant pour la soutenir. Si vous voulez faire une différence, rendez-vous ici:

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

Lisez la proposition et si vous êtes d'accord, cliquez sur valider pour vous impliquer.

Linked In possède également un groupe Embedded Systems, ainsi que quelques groupes étroitement liés qui peuvent être intéressants:

Systèmes embarqués

Firmware

BRAS

Ressources Web

EETimes a des fonctionnalités sur les systèmes embarqués.

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

Le Dr Dobbs est un ami de longue date des programmeurs de tous types et a d'excellentes choses sur l'embarqué.

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

La communauté Arduino est grande, enthousiaste et a supprimé de nombreuses barrières à l'entrée pour la programmation intégrée, y compris le prix et la formation préalable.

http://www.arduino.cc/

Si vous êtes une femme développeur de logiciels ou un développeur masculin non éclairé qui s'occupe des systèmes embarqués est principalement un club "Good-Old-Boys", consultez ce site. L'auteur est diplômée du MIT, avait fait énervé, hors de la boîte (ou parfois dans la boîte, comme son chargeur iPhone Altoids-box), et semble être très prolifique dans sa conception, son écriture et son blog vidéo.

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

http://www.adafruit.com/tutorials

De nombreux fournisseurs disposeront de vastes collections de fiches techniques, de notes d'application, de livres blancs et de copies gratuites ou d'évaluation d'outils de développement. Les principales entreprises dans cet espace sont ARM, Atmel, Freescale, Intel, Microchip Technologies, NXP (anciennement Phillips), TI et bien d'autres.

Livres

Je ne sais pas si vous pouvez le trouver, mais j'ai un livre qui, je pense, raconte une grande partie de l'histoire des systèmes embarqués en termes d'outils (assembleurs, linkers, chargeurs) et des choses fondamentales qui se produisent dans les microprocesseurs (interruptions, E / S, simples gestionnaires de tâches et planificateurs, structures de fichiers simples). Programmation de systèmes pour les petits ordinateurs, Daniel Marcellus.

Une référence plus moderne est Embedded Linux Primer. Les premiers chapitres discutent de la raison d'être de Linux sur les systèmes embarqués et de certains des mécanismes impliqués. Le chapitre 3 présente une discussion intéressante sur les processeurs + les chipsets de support et les options SOC (System On a Chip) qui peuvent être envisagées pour une utilisation dans les conceptions actuelles. En fait, la cible bouge, elle donne donc un point de départ contemporain de la publication du livre. Le chapitre 3 est génial, mais devrait être complété par d'autres recherches sur le Web et en discussion avec les fournisseurs. En règle générale, l'ingénieur électricien et les principaux ingénieurs logiciels du projet choisiront le processeur.Par conséquent, si vous êtes dans une entreprise et que vous apprenez des systèmes embarqués, approfondissez le matériel qu'ils choisissent.

Les chapitres suivants incluent des descriptions détaillées sur de nombreux aspects pratiques du ciblage de Linux sur le matériel, mais le partenariat avec le fournisseur et l'utilisation d'une conception de référence assez standard pourraient réduire considérablement l'effort.

DeveloperDon
la source
0

Cela dépend surtout de vous. Si vous êtes prêt à apprendre et à savoir comment collecter suffisamment d'informations sur le sujet, vous pouvez tout vous apprendre. Mais tout le monde n'y parvient pas également:

J'ai commencé dans un environnement similaire, et si je vois où je suis maintenant par rapport à il y a 5 ans (diplômé en tant qu'ingénieur en électronique, pratiquement sans expérience en programmation), je trouve incroyable ce dont le cerveau humain est capable. Quand j'ai commencé, je n'avais jamais entendu parler de modèles de conception, TDD, ... et je n'avais jamais vu le code d'un vrai programme. Maintenant, je connais assez bien ces choses et je sais comment les utiliser. La seule chose que je fais est de chercher sur le net, de lire le code des autres et de certains livres (que j'ai encore trouvé sur le net), et le plus important, d'écrire des tonnes de code, de déboguer, d'apprendre de mes erreurs. Apprendre d'une erreur est une bien meilleure façon d'apprendre quelque chose que de simplement lire un échantillon et de reproduire un comportement. C'est très étrange, mais je n'ai parlé que dans la vraie vie à ce que j'appellerais un bon programmeur à quelques reprises.

Le seul autre programmeur ici est ce que vous appelleriez un senior (car il est au travail depuis plus de 15 ans). Il travaille d'une manière complètement différente de la mienne. Et il écrit toujours une forme paralysée de C avec des classes, n'utilise jamais STL, n'a aucune idée de ce qu'est un modèle de conception, etc., etc. (je vais probablement commencer une question à ce sujet bientôt, j'ai du mal à essayer de lui faire adopter au moins certaines de mes méthodes ..)

stijn
la source
-1 Pour une ouverture éventuellement bien intentionnée, mais sans indice "Si vous êtes assez intelligent ...". S'il vous plaît, ne remettons jamais en question l'intelligence de personne, surtout s'il n'y a aucune preuve apparente. Je ne pense pas que votre objectif était d'être hostile, mais pour Olga, cela aurait pu sembler ainsi. Elle semble avoir posté cette seule question, puis n'avoir rien fait de plus sur Stack Exchange.
DeveloperDon
@DeveloperDon mon objectif était en effet de ne pas être hostile mais vous avez raison, quand je lis la phrase maintenant, on dirait que je suis assis sur une tour étant tout supérieur. Une chose honteuse, alors je l'ai retiré.
stijn