Je suis le programmeur .1x de mon entreprise. Comment puis-je contribuer au mieux? [fermé]

61

Je travaille dans une nouvelle entreprise de cinq personnes. Nous avons un doctorat en apprentissage automatique, un ancien membre de l'équipe principale de RSpec et le gars qui compile le binaire Git pour OS X. Ce ne sont que les employés; le fondateur a un doctorat et était directeur technique pour une entreprise de plusieurs milliards de dollars avant de partir pour démarrer une startup (réussie), et a maintenant quitté cette tâche pour démarrer celle-ci. Nous pourrions aussi avoir un gars avec un doctorat en maths.

Aaaaaaaa et puis il y a moi, stagiaire décrocheur. Je pense que je suis plutôt intelligent et que je lis sans arrêt, mais le delta de l'expérience, des compétences et des connaissances entre moi et mes collègues est à couper le souffle.

Mettez-vous donc à leur place: vous avez un jeune stagiaire brillant, qui a beaucoup à apprendre mais qui est au moins énergique. Qu'est-ce qui serait agaçant? Quel usage espéreriez-vous en sortir ici et maintenant? Qu'est-ce qui serait agréablement surprenant si cela se produisait?

utilisateur invalide
la source
32
Une des choses intéressantes à propos des startups en phase de démarrage est que tout le monde fait tout - car il y a si peu de personnel au total. Vous aurez beaucoup d'occasions de comprendre ce que vous faites bien, contrairement aux autres. Pendant ce temps, ne vous inquiétez pas de la qualité de votre produit, mais de votre intimidation de la part de vos collègues.
James Youngman
3
Les bouts de papier ne représentent pas autant que des actions et des compétences démontrables, mais souvenez-vous-en. Si vous démontrez quelque chose, le papier est un détail technique.
6
c'est comme la meilleure chose dans la vie, vous pouvez apprendre beaucoup d'eux. Et ne réfléchissez pas trop, faites ce que font tous les programmeurs.
Sufendy
4
Vous ressemblez à Hawkeye entouré de Thor, Captain America, Hulk et Ironman. Mais quand même, Hawkeye est génial aussi! : D
bertzzie
20
"mec qui compile le binaire Git de OS X" == "mec qui tape 'make'"

Réponses:

58

Chose la plus importante:

Ne soyez pas impressionné par les titres. Dans peu de temps, vous réaliserez que vos collègues du Ph. D ne sont également que des humains. Et certaines personnes ayant un doctorat n’ont jamais vraiment créé quoi que ce soit d’utile. Rappelez-vous toujours cela, ne vous sentez pas inférieur.

Qu'est-ce que j'attendrais de toi? Écrire du bon code et faire avancer les choses. Il y a des chances pour que vous soyez quelqu'un qui travaille vraiment, puisque vous vous décrivez comme étant énergique. J'ai vu beaucoup de personnes diplômées qui prenaient pour toujours des tâches simples parce qu'elles se concentraient trop sur les détails, etc. Utilisez-le à bon escient et fournissez un bon code dans un délai raisonnable et tout le monde vous respectera.

Mais ne manquez pas de respect envers les autres. Ils sont probablement plus âgés et vous pourrez probablement en tirer des enseignements précieux. Mais ne prenez rien pour rien. Essayez toujours de comprendre et de penser par vous-même. Je m'attendrais à ce que vous copiez les comportements et les connaissances qui fonctionnent vraiment.

Faucon
la source
1
+1 J'avais un doctorat en EE travaillant pour moi pendant moins de 40 km par an pendant deux ans. Les titres ne veulent rien dire - il s’agit de compétences, de compétences et de capacités de réflexion critique.
Jonathan Henson
3
Les titres ne veulent rien dire. L'éducation ne veut rien dire. Expérience ne veut rien dire. Les certifications ne veulent rien dire. Utiliser vos outils pour produire des résultats, c'est tout.
Chuck Conway
Cela semble ... étrangement sage.
temporary_user_name
Tout comme vous devez faire preuve de respect envers vos collègues, vous avez le droit de vous attendre à ce qu'ils vous rendent la pareille. N'oubliez jamais qu'ils peuvent apprendre de vous - ils ne savent certainement pas tout.
mattnz
41

L'humilité va un long chemin

Avec votre humble attitude, je doute sérieusement que vous soyez ennuyeux. L'humilité va un long chemin. (Cela vaut autant pour les hot-shots que pour les stagiaires.)

Si votre rôle est explicitement de soutenir les autres, vous pouvez être sûr d'être utile en demandant simplement. "Quelle tâche ennuyeuse puis-je enlever de votre assiette?"

Vous constaterez également que la plupart des gens aiment se sentir appréciés. Si vous admirez vraiment les membres de votre équipe, vous pouvez leur demander beaucoup et apprendre beaucoup d'eux. Ils se sentiront flattés, mais ce sera authentique. Cela vous aidera également à apprendre et à devenir plus utile.

Enfin, connaître moins qu'eux peut être utile en soi. Par exemple, vous serez probablement plus doué pour écrire de la documentation pour les API, car vous poserez les questions que des étrangers poseraient, mais qui semblent trop évidentes pour les autres.

Et qui sait? Vous constaterez peut-être qu'en étant d'esprit de service, vous devenez un leader.

Nathan Long
la source
7
+1 pour "vous poserez les questions que les non-spécialistes poseraient", ce qui est particulièrement difficile pour les experts qui travaillent fort et qui sont au cœur des détails, qui peuvent penser qu'ils font un pas en arrière pour avoir une vue d'ensemble, mais sont loin d'être proches aucune idée de ce à quoi les choses ressemblent pour les étrangers (clients!) novices.
DarenW
17

Vous avez déjà beaucoup de bonnes réponses. Je pense pouvoir contribuer en partageant mon expérience dans un poste similaire.

Contexte: Je travaille à temps partiel dans le département de recherche et développement d'une assez grande entreprise depuis quelques années alors que ma principale profession était d'étudier la CS. Les personnes avec qui je travaille ont la plupart du temps un doctorat ou une maîtrise en EE, CS, mathématiques et physique. J'ai commencé comme un noob complet, mais j'ai beaucoup appris au cours de ces quelques années.

Qu'est-ce qui serait agaçant?

  1. Poser des questions auxquelles je pourrais facilement répondre par Google
  2. Interrompre les autres trop souvent en posant une question. Si vous avez une question qui ne bloque pas, faites un autre travail jusqu'à ce que vous puissiez la poser sans interrompre la personne que vous demandez. Vous pouvez collecter quelques questions, puis demander l'heure de votre interlocuteur ou attendre que celle-ci vous parle de vos progrès ou du bon moment pour aller lui parler, par exemple lorsqu'il a déjà été interrompu par un appel téléphonique, à la fin de la pause, .. Puis dites-lui "J'ai fait ceci et cela, mais actuellement je suis coincé ici et là".
  3. Si vous êtes bloqué (après avoir épuisé Google et d’autres ressources), n’oubliez pas de demander de l’aide. Rien de pire que de découvrir que quelqu'un est coincé depuis 2 jours sur un problème que vous auriez pu résoudre en 5 minutes (par Neil White, dans les commentaires)
  4. N'essayez pas d'être plus intelligent que tout le monde.

Quel usage espéreriez-vous en sortir ici et maintenant?

  1. Faites des choses que les autres trouvent faciles / ennuyeuses d’une manière qui aide réellement l’équipe. C'est vraiment tout.

Qu'est-ce qui serait agréablement surprenant si cela se produisait?

  1. Que vous accomplissiez l'essentiel de votre travail de manière satisfaisante et que vous participiez de plus en plus au travail de l'équipe.

Quelques autres conseils:

  1. Être humble.
  2. Montrez de l'intérêt pour le travail des autres.
  3. S'ils vous expliquent quelque chose, assurez-vous de bien comprendre. Si vous ne le faites pas, demandez-leur de l'expliquer de manière à bien comprendre au moins l'idée de base.
  4. Soit fiable. Essayez de faire le travail aussi bien que possible.
mort
la source
3
En plus du "Qu'est-ce qui serait agaçant", j'en suggérerais un autre: si vous êtes bloqué (après avoir épuisé Google et d'autres ressources), assurez-vous de demander de l'aide. Rien de pire que de découvrir que quelqu'un est coincé depuis 2 jours sur un problème que vous auriez pu résoudre en 5 minutes.
Neil White
@ Neil: vous avez absolument raison! Cela vous dérangerait-il si je fusionnais votre commentaire avec ma réponse pour qu'elle soit plus complète?
Mort
1
+1 pour I did this and that, but currently I'm stuck here and there. Le plus important est de montrer que vous avez essayé et compris les réponses.
Zenon
@mort Bien sûr, allez-y!
Neil White
9

Bon conseil des autres jusqu'à présent. Pour répondre à vos questions spécifiques:

  • Qu'est-ce qui serait agaçant?

Il serait agaçant de poser des questions sans faire ses devoirs au préalable. Demander de l'aide après avoir fait ce que vous pouvez pour résoudre le problème en premier, c'est bien. Mais si quelqu'un est capable de trouver la réponse via une simple recherche sur Google ou en parcourant le manuel, c'est embêtant.

  • Quel usage espéreriez-vous en sortir ici et maintenant?

Je suppose que vous avez déjà une sorte de projet / mission. J'espère que vous pourrez terminer cela avec un minimum de supervision.

  • Qu'est-ce qui serait agréablement surprenant si cela se produisait?

Une bonne surprise serait si vous finissiez votre travail plus tôt. Vous pourrez alors travailler sur plus de projets avec une complexité croissante, ce qui prouverait votre fiabilité. Une autre surprise serait que vous puissiez anticiper les besoins de l’équipe et travailler à les satisfaire. Votre équipe a-t-elle besoin d'un environnement de construction automatisé, d'un cadre de test automatisé, de configurations d'ordinateur / réseau spécifiques pour les tests, etc.? Ceux-ci peuvent être une chose périphérique

RonE
la source
4

Réponse courte: Trouvez ce dont l'équipe a besoin, et peut-être ce que vous préférez, et travaillez à le lui fournir.

Réponse plus longue: Aux premiers stades d’une start-up, la plupart du temps, tout le travail est "à gagner"; quelles que soient les tâches à accomplir ou les tâches que les gens souhaitent accomplir sont à la disposition de tous les preneurs. Vos préférences peuvent littéralement façonner la direction que prend l'entreprise.

Intéressé par les RH? Assumer les tâches d'embauche. Ou peut-être faire la paie. Intéressé par la programmation? Découvrez quelle langue l'équipe veut utiliser. Essayez d’écrire des tests unitaires pour une partie du code. La haine écrit des rapports? Alors ne le fais pas. Voyez si vous pouvez déléguer cette tâche à quelqu'un d'autre et cherchez une solution constructive. Prenez un peu de temps et réfléchissez à ce que vous voudrez peut-être faire, puis essayez-le.

Une chose à garder à l'esprit que lorsqu'il s'agit de très petites entreprises en démarrage, il y a beaucoup plus à faire que la programmation. Si vous voulez coder, c'est parfait! Si vous préférez faire autre chose, tant mieux! Apprenez vite, posez beaucoup de questions et relevez le défi.

joshin4colours
la source
1

Je ne suis pas certain de l'utilité de ma réponse, mais j'ai été où vous l'êtes maintenant. Entouré de personnes que je savais / savais avoir tellement plus à contribuer que je ne l’aurais jamais fait. Comment agir dans cette position? Profitez-en plutôt que de souffrir. Au lieu de penser à ce que vous ne savez pas, réfléchissez à ce que vous comptez apprendre et à vivre avec ces personnes. Utilisez-les comme une ressource, faites preuve de respect et essayez de leur retirer n'importe quelle information ou expérience - devenez une éponge ...

Maintenant, cela ne signifie pas que vous devez cesser d'essayer de faire des choses, mais quand vous le faites, essayez de les amener à regarder par-dessus votre épaule et à revoir votre travail au fur et à mesure. Essayez de terminer un travail, puis écoutez ce qu’ils ont à dire - écrivez les commentaires qu’ils vous ont donnés et essayez de les implémenter pour créer un meilleur code. N'ayez pas peur de poser des questions, soyez juste respectueux et essayez de poser de bonnes questions - essayez d'absorber les données et réfléchissez à votre question immédiate avant de poser la question - peut-être que la réponse a déjà été fournie ... Les meilleures personnes aiment enseigner, et moi Je parie qu'ils seraient heureux de partager leurs connaissances et leur philosophie de la vie avec vous.

Dans ma situation, j'ai essayé de faire cela, et chaque fois que cela fonctionnait pour moi, j'étais le plus heureux, je n'avais jamais compris pourquoi ils m'avaient retenu, mais j'avais le meilleur temps, et j'aime penser que je suis devenu un meilleur programmeur et même un homme. à la suite de cette expérience.

Tout cela ne veut pas dire que vous devriez vous sous-estimer - vous valez probablement beaucoup mieux que vous ne le croyez, mais comme les gens l'ont écrit ici, les titres et les diplômes ne sont pas toujours aussi impressionnants dans les situations de la vie réelle et l'humilité peut aller très loin. Alors, soyez respectueux de tout le monde, écoutez, absorbez - mais prenez vos propres leçons de l'expérience - parfois, il vaut mieux apprendre à ne pas faire.

Bonne chance.

Moshe Eshel
la source
1

Il y a déjà beaucoup de choses présentées ici, donc je ne répéterai pas ce qui a été dit.

En un coup d'œil, il me semble que vous avez des experts et un leader doté de compétences / idées en gestion. C'est bien, mais c'est incomplet .

Vous êtes le pragmatique: leur rendre la vie plus facile.

Vous pouvez couvrir au moins deux domaines:

  • plonger dans les détails techniques de la langue choisie par la startup
  • améliorer la qualité du code et lisser les aspérités de son utilisation

Technique

Ces gars-là sont des experts dans leur domaine, ce qui est bien, mais cela ne signifie pas qu'ils sachent comment se sortir d'un sac en papier. Honnêtement, j’ai vu des personnes très intelligentes écrire un code horrible et insoutenable.

Vous avez la possibilité de devenir le responsable technique ici. Apprenez la langue à l'intérieur / à l'extérieur, jusqu'à ce que vous connaissiez toutes ses subtilités. Apprenez les expressions que la communauté utilise. Recherchez les bibliothèques utiles qui existent.


Qualité

Il y a des tâches ingrates mais utiles:

  • qui maintient le référentiel source de code?
  • qui écrit / maintient les tests?
  • qui surveille la réussite de la suite de tests? et identifie les coupables et cingler les délinquants sans relâche?

Certaines étapes sont très utiles, qu'elles soient formelles ou non:

  • comment examinez-vous les commits? (y a-t-il une propriété associée à certaines zones du code?)
  • Comment planifiez-vous le travail / les tâches?

Il y a beaucoup d'activités périphériques pour avoir des idées et écrire du code.

Vous avez la possibilité de devenir le responsable de la qualité ici. Découvrez les meilleures pratiques du secteur (un peu "Agile", un peu de mêlée, un peu de TDD, ...), et composez un processus adapté à votre entreprise. Apprenez à construire des systèmes (make, cmake, ninja, peu importe) et écrivez les scripts qui facilitent la construction / le déploiement. Vérifiez sur Jenkins (ou autre) et construisez un serveur d'intégration continue.


Ils sont impressionnants dans leurs domaines respectifs et c'est génial. Puisque pour le moment vous êtes non spécialisé, je dirais qu'il est temps que vous identifiiez les faiblesses (vous pouvez également demander leur avis) et que vous combliez un (des) vide (s)!

Matthieu M.
la source