Je travaille actuellement à titre professionnel en tant qu'ingénieur logiciel travaillant avec le système d'exploitation Android. Nous travaillons à l’intégration de notre plateforme en tant que démon natif parmi les autres facettes du projet. Je travaille principalement en Java en développant le SDK et les applications Android, mais je peux aider avec la plate-forme en C / C ++.
Quoiqu’il en soit, j’ai un grand intérêt à travailler professionnellement en développant un faible niveau pour Linux. Je ne suis pas mécontent de mon poste actuel et je resterai aussi longtemps que l'entreprise me le permettra (en fait, j'aime bien travailler là-bas!), Mais j'aimerais travailler dans ce sens. Je travaille avec le développement du noyau Linux (Robert Love) et l'interface de programmation Linux (Michael Kerrisk) (en plus de renforcer mes compétences en C à chaque occasion) et de parcourir avec désinvolture Monster et des sites similaires.
Le problème que je vois est qu'il n'y a pas de postes de niveau débutant. Comment peut-on percer dans ce domaine? Chaque fois que je vois un "programmeur de systèmes Linux" ou un "programmeur de pilotes de périphériques Linux", ils ont tous besoin d' au moins 5 à 7 années d'expérience pertinente. Ils veulent quelqu'un qui connaisse les ficelles du métier, pas un programmeur de niveau junior (je travaille depuis 7 mois maintenant ...).
Je suppose donc que certains d’entre vous sur stackoverflow agissent à titre professionnel en faisant exactement ce que je voudrais faire. Comment êtes-vous arrivé là? Quelles plateformes avez-vous utilisées pour vous y rendre? Est-ce que je vais avoir des moments plus difficiles parce que j'ai mon baccalauréat en SCC, par opposition à un ingénieur en informatique (où ils feraient l'expérience d'un peu plus intégré, asm, etc.)?
EDIT POUR CLARIFICATION! Je suis conscient de la nature opensource du noyau Linux / des pilotes, etc. Je prévois de contribuer quel que soit le lieu de mon travail quotidien. Je suis plus curieux de savoir quels types de postes de premier échelon me permettront de faire un travail pertinent et d'être payé pour le faire! Merci pour toutes vos réponses jusqu'à présent!
la source
Réponses:
J'écris des pilotes de périphérique Linux pour mon entreprise et je me suis retrouvé à occuper ce poste en sachant tout sur le développement Linux dans mon département. Ils m'ont ensuite promu / embauché dans un nouveau rôle. C'était vraiment une entrée de niveau junior, donc elles existent et ne perdent pas espoir!
Mon conseil immédiat pour vous est de voir si vous pouvez affiner votre champ de vision. La programmation du noyau est très différente de la programmation système, de la programmation du pilote de périphérique.
Un très bon programmeur de noyau en sait peut-être peu sur la latence des interruptions et le déterminisme matériel, mais il en saura beaucoup sur le fonctionnement des verrous, des files d’attente et des Kobjects. Un programmeur de pilote de périphérique saura utiliser les verrous, les files d'attente et les autres interfaces du noyau pour que son matériel fonctionne correctement et de manière réactive, mais il ne sera pas aussi susceptible de corriger un bogue d'allocation de page ou d'écrire un nouveau planificateur.
Alors, choisissez ce qui vous intéresse le plus, peut-être en sondant les listes de développement ou les suiveurs de bogues, et voyez quel type d’impact vous souhaitez avoir. Ensuite, contribuez et développez votre expérience en travaillant sur ces projets et efforts. Lorsque votre nom / email est attaché au code dans la ligne principale du noyau, alors vous aurez l'expérience que vous pouvez indiquer dans votre CV / lettre de motivation pour d'autres postes :-)
la source
Je suis un développeur de logiciels avec plus de 15 ans d'expérience chez Motorola et quelques autres entreprises de haute technologie. J'ai un diplôme de BSCE. Donc je ne suis pas amateur.
Cette question ... comment entrer ... est commune, non seulement pour Linux mais pour pratiquement tous les domaines de spécialisation. Le génie logiciel est devenu tout comme la médecine dans la mesure où les praticiens doivent se spécialiser. Toutefois, lorsque votre entreprise réduit ses effectifs et vous licencie après 10 ans d’expertise, le marché du travail a changé et vous n’êtes plus d'actualité. Les entreprises n’étaient pas si sélectives: souvent, les seuls candidats possédant toutes les compétences énumérées dans la liste de souhaits sont ceux qui travaillent déjà pour cette entreprise ou pour un concurrent direct! C'est devenu assez difficile.
Je suis dans cette situation maintenant et bien que ce soit difficile, il existe quelques stratégies que vous pouvez utiliser pour être embauché. Mais d’abord, vous DEVEZ maîtriser la technologie, car si vous êtes embauché, vous devrez produire. Une fois que vous vous sentez prêt, considérez les points suivants:
Cherchez une petite entreprise pour commencer. Ils ne peuvent pas être aussi pointilleux au sujet de qui ils embauchent comme sont les grands types. Passer un an ou deux là-bas et après cela, vous aurez l'expérience professionnelle sur le CV pour se qualifier.
Pensez à sous-traiter, surtout si vous ne travaillez pas à temps plein. Les entreprises sont beaucoup plus disposées à tenter leur chance qu’à temps plein. Encore une fois, une fois que vous avez une expérience vérifiable à mettre sur votre CV, cela ouvre des portes.
Faites un petit projet ou deux par vous-même et créez un portefeuille à présenter aux employeurs potentiels. Cela pourrait ouvrir la porte à une entrée non seulement dans une petite entreprise, mais également dans une entreprise de taille moyenne.
En plus de ce qui précède, envisagez de faire appel à un recruteur professionnel d'une entreprise telle que Kforce, Aerotek, etc. L'employeur paie les frais de recrutement et le recruteur vous aidera à vous vendre d'une manière que vous ne pouvez pas faire vous-même.
En fait, un "programmeur junior" avec seulement 7 mois d’expérience a un énorme avantage sur un gars comme moi qui essaie d’être embauché pour faire quelque chose de nouveau. Les entreprises ADORENT les "nouveaux arrivants" / "nouveaux diplômés", car elles savent que vous ne demanderez pas beaucoup d'argent et seront disposées à faire tout ce qu'elles demanderont, y compris de longs séjours à l'étranger, si nécessaire. Les entreprises ne m'engageront pas pour un poste subalterne, même si j'en ai postulé un, car elles savent que je chercherai à en partir immédiatement. Votre situation n'est pas si grave.
Bonne chance!
la source