PDA

Afficher la version complète : Informatique au Japon - Offres d'emploi: systèmes embarqués (hardware & software)



Gnurou
24/01/2012, 07h51
Bonjour à tous,

Puisque nous avons du mal à recruter via les canaux traditionnels, pourquoi ne pas essayer de faire d'une pierre deux coups en offrant du travail à la communauté française! ;)

Nous recherchons plusieurs profils très spécialisés, pour une boîte étrangère travaillant dans le domaine des GPUs et les systèmes Android embarqués. Voici les 3 postes que nous cherchons actuellement à pourvoir:

Compute DevTech Software Engineer
Spécialiste des GPUs, vous ouvrirez de nouveaux domaines de recherche et d'application en développant des algorithmes, en aidant des développeurs d'applications à utiliser au mieux le potentiel des GPUs et en travaillant sur le l'état de l'art de demain en la matière: géo-sciences, ingénierie, modélisation des fluides, modélisation des éléments chimiques, physique, finance, imagerie médicale, etc.

Compétences requises:
- excellentes bases en C, C++, algorithmique, et techniques de programmation
- fortes bases en mathématiques, notamment l'algèbre linéaire et l'analyse numérique
- familier avec les architectures CPUs et les systèmes d'exploitation
- expérience avec la programmation parallèle, notamment CUDA, fortement appréciée
- capacité à résoudre les problèmes de façon ingénieuse
- bonne communication

Embedded Software Engineer
Passionné de systèmes embarqués, vous aiderez les clients dans le développement de leurs solutions Android en les assistant et en intervenant à tous les niveaux de la chaîne logicielle pour assurer la qualité des produits mis sur le marché. Vous serez amené à résoudre des problèmes dans des domaines aussi variés que les périphériques d'entrée/sortie (USB, i2c, ...), la vidéo et l'accelération 3d, la consommation énergétique, le noyau Linux, les couches d'Android, etc.

Compétences requises:
- excellentes bases algorithmiques et compréhension des systèmes d'exploitation et du fonctionnement d'un SoC
- language: C, assembleur ARM, C++, ...
- expérience en développement système et noyau Linux, notamment pilotes de périphériques
- capable de débogger les problèmes survenant dans un OS, du niveau utilisateur jusqu'au noyau
- mentalité "hacker", capable de trouver des solutions innovantes à des problèmes corsés
- la connaissance d'Android est un gros plus
- capacité à travailler en équipe

Mobile Application Engineer
Poste pour une personne expérimentée avec le côté matériel, et capable de gérer plusieurs projets simultanément tout en maintenant une bonne communication avec le client. Vous créerez et ferez la revue de schémas électroniques, testerez, validerez et analyserez la consommation énergétique des designs, créerez de la documentation, etc.

Compétences requises:
- excellente connaissances en électronique et design des SoCs
- connaissance du design des SoCs, et plus généralement des tablettes et téléphones
- bases en C/C++
- connaissances des standards en terme vidéo/audio mobiles et communications sans fil (802.11*)

Pour tous ces profils sont également requis un très bon niveau d'anglais et un niveau de japonais correct. Vous devez également être sur Tokyo afin de passer des entretiens. Côté visa, la boîte s'occupe des formalités nécessaires à son obtention après embauche. Les conditions de travail sont très bonnes et le travail en lui-même très stimulant.

Si vous êtes intéressés ou désirez plus d'infos, merci de me contacter par MP.

Momix
24/01/2012, 16h00
Les postes ont l'air très intéressants, mais encore une fois, ça donne l'impression qu'ils cherchent des dieux vivants du domaine... Rien qu'à lire ce genre de description, ça me fait presque une dépression ! Il me faudrait au moins un an à bosser à plein temps (çad j'oublie mon boulot actuel et l'apprentissage du japonais), pour satisfaire à une ligne de ton descriptif :)

Dans tous les cas, j'espère qu'il y aura des gens qui pourront en bénéficier et je salue ton geste de mettre les annonces ici !

Gnurou
25/01/2012, 00h22
En fait il faut bien comprendre que ces offres décrivent un profil idéal et qu'on ne s'attend pas non plus à trouver des gens remplissant parfaitement toutes les conditions. En revanche cela donne une idée de ce qu'un candidat sera capable de faire après quelques mois.

Certaines choses sont non-négociables, comme connaître ses bases en algo (complexité d'un algorithme, structures de base, etc.). En revanche pour le reste, ça dépend. Tout se joue à l'entretien: le but est de repérer une question sur laquelle le candidat a quelques lacunes et de voir s'il arrivera à se diriger vers la solution à l'aide de quelques indices. Un candidat qui démontre se genre de qualité (ainsi qu'une passion pour le domaine) saura vraisemblablement combler ses manques pourvu qu'il ait de la documentation et une mission simple pour commencer. Et la compensation de profils aussi spécialisés (outre des conditions de travail avantageuses et une rémunération en conséquence), c'est qu'après être passé là, le candidat pourra mettre toutes ces compétences sur son CV, pour de vrai cette fois. :p

Les expériences demandées, notamment en logiciel, n'ont pas besoin d'être professionnelles: si vous avez acheté une webcam qui ne fonctionnait pas sous Linux et que, dépité, vous avez écrit le driver vous-même, c'est excellent. Pareil si on peut vous retrouver dans un projet open-source en rapport. C'est pour cela qu'il n'est pas précisé "5 ans ou + d'expérience", c'est trop relatif et ça découragerait des jeunes (diplômés ou non) qui n'auraient besoin que d'un petit coup de pouce pour commencer.

Donc pas de déprime, le profil est plus là pour que le candidat ce dise "est-ce que j'aimerai faire cela", même si des bases solides restent bien entendu indispensables. Si tu veux tenter ta chance lors de ton prochain passage (les offres devraient rester actives plutôt longtemps), je veux bien te guider vers les références à étudier. ;)

zev
25/01/2012, 07h00
Spécialiste des GPUs, vous ouvrirez de nouveaux domaines de recherche et d'application en développant des algorithmes, en aidant des développeurs d'applications à utiliser au mieux le potentiel des GPUs et en travaillant sur le l'état de l'art de demain en la matière: géo-sciences, ingénierie, modélisation des fluides, modélisation des éléments chimiques, physique, finance, imagerie médicale, etc.

Hohoho, je peux avoir un peu plus d'infos sur le projet (en MP si necessaire?)

zarkis
25/01/2012, 07h51
Spécialiste des GPUs, vous ouvrirez de nouveaux domaines de recherche et d'application en développant des algorithmes, en aidant des développeurs d'applications à utiliser au mieux le potentiel des GPUs et en travaillant sur le l'état de l'art de demain en la matière: géo-sciences, ingénierie, modélisation des fluides, modélisation des éléments chimiques, physique, finance, imagerie médicale, etc.

J'avoue que moi aussi ça m'intrigue, juste par curiosité...

ps : zev je t'ai envoyé un mp.

Gnurou
25/01/2012, 07h58
Etant donné qu'il n'y a qu'une place pour ce poste, je vous ai envoyé un MP à tous les deux. Le protocole dans ce genre de cas est d'enfermer les candidats dans une salle de réunion et de faire glisser un cutter sous la porte.

zarkis
25/01/2012, 09h36
Etant donné qu'il n'y a qu'une place pour ce poste, je vous ai envoyé un MP à tous les deux. Le protocole dans ce genre de cas est d'enfermer les candidats dans une salle de réunion et de faire glisser un cutter sous la porte.

Une petite cuillere a la place du cutter serait plus sympa.

Je demandais juste par curiosite (et peut etre pour des amis), je ne suis pas interresse par le poste, donc ceux qu'il le sont ne soyez pas timide, y a plus que zev et une petite cuillere..

ps : Et bosser dans une entreprise ambiance japonaise ca me fait pas rever, si un jour je suis interresse par un poste au Japon ca sera pour une hierarchie et des regles non japonaises, ceci est une remarque personnelle, il n'y a pas sujet dans ce billet a debat ou polemique, merci.

zev
25/01/2012, 09h48
Mdr :p

Je ne suis pas forcement interesse non plus par le poste (merci pour le MP).
Mais je etant donne que je fais de la biostatistique + modelisation biologique ca a titille ma curiosite :)

Disons que plus que le cote technique du poste (prog C++, // computing etc.) c'est plutot les concepts theoriques qui m'interessent (voir MP :) )

Bon ben y'a plus que la cuiller alors...

skydiver
25/01/2012, 10h12
Le système de sélection "Battle Royal" a fait ses preuves. Ta société a bien fait de te nommer responsable du recrutement Gnurou...

Gnurou
25/01/2012, 10h31
Je précise tout de suite qu'il ne s'agit pas d'une boîte japonaise ou d'une ambiance à la japonaise, soyez donc tranquilles. ;)

Pour tous les postes c'est le côté pratique qui prévaut, les bases théoriques sont indispensables mais l'idée reste d'aider des clients à finaliser leurs solutions. C'est très donc hands-on. Pas du travail pour ce genre de théoricien donc:

http://www.youtube.com/watch?v=YZ8Php8WYQk

skydiver: et encore, il faudrait que tu voie comment on gère les licenciements! :p

shinhanga
25/01/2012, 11h29
Bonjour à tous,
- familier avec les architectures CPUs et les systèmes d'exploitation


Bonjour je viens troller le sujet;) mais je serai reconnaissant si tu pouvais me dire les livres de references pour ces deux choses?

skydiver
25/01/2012, 11h40
Et vous n'avez pas besoin de quelqu'un pour justement vous aider à licencier? Je connais des méthodes efficaces...;)

Gnurou
25/01/2012, 12h25
Bonjour je viens troller le sujet;) mais je serai reconnaissant si tu pouvais me dire les livres de references pour ces deux choses?
Je vais répondre ici, vu que Momix m'a demandé la même chose par MP. ;) Désolé si c'est un peu HS.

En gros, parce que ça pourrait durer des heures (il y a des livres - payants - mais aussi des pages web - gratuites -):

Pour la théorie:
- Le "best-of" de Gustavo Duarte: http://duartes.org/gustavo/blog/best-of
- Systèmes d'exploitation, d'Andy Tanenbaum: http://www.amazon.fr/Systèmes-dexploitation-3ème-Andrew-Tanenbaum/dp/2744072990
- Compilateurs: principes, techniques et outils (ou "le Dragon" comme on dit): http://www.amazon.fr/Compilateurs-principes-techniques-outils-édition/dp/2744070378
- Introduction à l'algorithmique, de Leiserson, Cormell et Rivest: http://www.amazon.fr/Introduction-lalgorithmique-Thomas-H-Cormen/dp/2100039229
- Thinking in C++, de Bruce Eckel: http://www.mindview.net/Books/DownloadSites
- FreeVGA, pour comprendre comment fonctionne un controlleur graphique: http://www.osdever.net/FreeVGA/home.htm
- Les pages "Simple OS" en français: http://sos.enix.org/fr/PagePrincipale
- PC Interdit, de Micro Applications: http://www.amazon.fr/PC-interdit-Micro-Applicati/dp/2742903526 (eh oui, micro applications. En plus ça date de 1994. Mais c'est un livre qui explique à fond les détails des archis à une époque où celles-ci étaient plus simples qu'aujourd'hui. En plus il contient tous les algos nécessaires au calcul 3D, qui est fait aujourd'hui par les GPUs. Pour 3€50 ya pas photo)
- Le Graphics Programming Black Book: http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698 (encore une oldies, mais on ne trouve plus d'ouvrages si fondamentaux maintenant qu'on enseigne aux étudiants que l'informatique c'est du Java)

Edit: et si vous avez un QI de 250 comme Donald Knuth (http://fr.wikipedia.org/wiki/Donald_Knuth):
- The Art of Computer Programming, de Donald Knuth: http://www.amazon.com/Computer-Programming-Volumes-1-4A-Boxed/dp/0321751043

Bien sûr il ne s'agit pas de bâchotter comme un dingue, mais de prendre ça et là afin de construire sa propre compréhension.

Pour la pratique:
- Linux Kernel Development, de Robert Love: http://www.amazon.com/Linux-Kernel-Development-Robert-Love/dp/0672329468
- Linux Devices Drivers, de Jon Corbet: http://www.amazon.com/Linux-Device-Drivers-Jonathan-Corbet/dp/0596005903
- The newbie's guide to hacking the Linux kernel: http://www.tuxradar.com/content/newbies-guide-hacking-linux-kernel
- Le répertoire Documentation du noyau Linux: www.mjmwired.net/kernel/Documentation/ (http://www.mjmwired.net/kernel/Documentation/)
- Write you own OS: http://jamesmolloy.co.uk/tutorial_html/index.html
- Comment compiler Android: http://source.android.com/source/initializing.html
- Prendre git et les sources de Linux ou Minix et s'amuser dessus avec QEmu! ;)


Et vous n'avez pas besoin de quelqu'un pour justement vous aider à licencier? Je connais des méthodes efficaces...:wink:
Ah ben tu m'as déjà appris quelques trucs efficaces, mais il est sûr que si on avait ton ushiro-geri on les enverrait ballader bien plus loin. :p

KoYuBi
25/01/2012, 13h07
En fait il faut bien comprendre que ces offres décrivent un profil idéal et qu'on ne s'attend pas non plus à trouver des gens remplissant parfaitement toutes les conditions.

J'ai le sens du rythme, un peu moins de l'algo, avec ces cours (http://troll-me.fr/apprendre-lalgo-en-dansant/), je pense avoir aquis les bases ( tout est dans la souplesse du genou), je commence quand?

zev
25/01/2012, 13h32
Argh du code assembly!
J'avais fait un espece de pong sur PIC a une epoque ca compte? :p
Nan franchement, la microP c'est interessant mais qu'est ce que c'est prise de tete.

Gnurou
25/01/2012, 14h08
J'ai le sens du rythme, un peu moins de l'algo, avec ces cours (http://troll-me.fr/apprendre-lalgo-en-dansant/), je pense avoir aquis les bases ( tout est dans la souplesse du genou), je commence quand?
Pourquoi apprendre l'algo avec des Roumains quand tu peux le faire avec des ninja:

http://video.google.com/videoplay?docid=-664493411424324244


Argh du code assembly!
J'avais fait un espece de pong sur PIC a une epoque ca compte? :razz:
Un pong sur un pic, avec des peek et des poke? Toi t'es pas un plouc! ;)

Momix
25/01/2012, 15h24
Un pong sur un pic, avec des peek et des poke? Toi t'es pas un plouc! ;)

Alors là, c'est du joli ! Vous nous avez fatigué le Gnurou !

Pascal
29/01/2012, 12h17
Bonjour!


Argh du code assembly!
J'avais fait un espece de pong sur PIC a une epoque ca compte? :p
Nan franchement, la microP c'est interessant mais qu'est ce que c'est prise de tete.

Pour moi, ça compterait. Dans la mesure où le postulant ne parle pas de prise
de tête. Ça me changerait des programmeurs dont je reçois parfois les CVs, qui
n'on jamais touché autre chose qu'un PC.

Pascal

À tout hasard, et hors-sujet: il y a toujours des irréductibles qui travaillent en assembleur,
mais de nos jours les compilateurs sont tellement perfectionnés qu'il est rarement possible
de faire mieux en assembleur qu'en C.

zev
29/01/2012, 13h03
Apres ca depend pour le poste.
Pour un driver forcement c'est utile.

Disons que programmer un driver et programmer une appli complete (genre une appli d'analyse de donnees) avec GUI, c'est des concepts bien differents, avec des problemes et des approches bien differents, du coup ouais programmer une appli avec GUI en asm c;est prise de tete, faire un driver de module input/output en port serie, ca va encore :)

Pascal
30/01/2012, 00h08
Bonjour!


Pour un driver forcement c'est utile.

C'est un mythe. Un peu comme celui qui consiste à dire qu'on ne peut pas écrire
un kernel décent en C++.
J'attends encore qu'on me montre un driver qui ne peut être écrit qu'en assembleur.
(Je passe mon temps à écrire des drivers pour les systèmes de mesure que je construis,
et je ne vois pas l'intérêt de se pourrir la vie à écrire en assembleur). Enfin bon,
on pourrait en discuter hors forum.


Pascal

Gnurou
30/01/2012, 00h29
J'attends encore qu'on me montre un driver qui ne peut être écrit qu'en assembleur.
(Je passe mon temps à écrire des drivers pour les systèmes de mesure que je construis,
et je ne vois pas l'intérêt de se pourrir la vie à écrire en assembleur).
Tout à fait. Ecrire un driver en assembleur pose également le problème de sa non-portabilité entre différentes architectures. Sur Linux 90% des drivers fonctionnent aussi bien sous x86 que sous arm, ppc ou autre parce qu'ils sont écrits en C.

La question de connaître l'assembleur (et le bas-niveau de la machine), c'est surtout parce qu'on ne programme pas de la même façon quand on sait se qui se passe sous le capot et qu'il y a une grosse différence entre un programmeur qui connaît sa machine et un autre qui pense qu'il y a des petits lutins qui courrent dans la boîte magique. Cela démontre aussi un autre degré de motivation vis-à-vis du métier. Avis à ceux qui cherchent un job dans le domaine.

zev
30/01/2012, 01h36
Bouarf, perso j'avais fait ca en exercice pour du PIC (j'en avais profite pour m'amuser un peu en faisant un jeu), apres j'ai pas retouche a ca du tout. Donc j'ai en fait aucune idee de comment sont ecrits les drivers en vrai :)
Si vous me dites qu'on peut faire ca en C++, je vous croit :) et d'ailleurs ca me rassure un peu ;)