Je travaille dans une start-up nouvellement créée de cinq personnes. Nous avons un doctorat en apprentissage automatique, un ancien membre de l'équipe de base RSpec et le gars qui compile le binaire Git pour OS X. Ce ne sont que les employés; le fondateur a un Ph. D et était CTO pour une société de plusieurs milliards de dollars avant de partir pour démarrer une startup (réussie), et a maintenant quitté cela pour démarrer celle-ci. Nous pourrions aussi avoir un gars avec un doctorat en mathématiques.
Aaaaaaaa et puis il y a moi, stagiaire décrocheur. Je pense que je suis assez intelligent et je lis sans arrêt, mais le delta d'expérience, de compétence et de connaissances entre moi et mes collègues est à couper le souffle.
Alors mettez-vous à leur place: vous avez un jeune stagiaire brillant qui a beaucoup à apprendre mais qui est au moins énergique. Qu'est-ce qui serait ennuyeux? Quelle utilité espérez-vous retirer de lui ici et maintenant? Qu'est-ce qui serait agréablement surprenant si cela se produisait?
Chose la plus importante:
Ne soyez pas impressionné par les titres. En peu de temps, vous vous rendrez compte que vos collègues Ph. D, eux aussi, ne sont que des humains. Et certaines personnes titulaires d'un doctorat n'ont jamais vraiment créé quelque chose d'utile. Souvenez-vous toujours de cela, ne vous sentez pas inférieur.
Qu'attendrais-je de toi? Pour écrire du bon code et faire avancer les choses. Les chances sont que vous êtes quelqu'un qui travaille vraiment, car vous vous décrivez comme énergique. J'ai vu beaucoup de personnes diplômées qui ont mis un temps fou à accomplir des tâches simples parce qu'elles se concentraient trop sur les détails, etc. Mettez cela à profit et fournissez un bon code dans un délai raisonnable et bientôt tout le monde vous respectera.
Mais ne manquez pas de respect aux autres. Ils sont probablement plus âgés et vous pouvez probablement en tirer des enseignements précieux. Mais ne prenez rien de stupide. Essayez toujours de comprendre et de penser par vous-même. Je m'attends à ce que vous copiez les comportements et les connaissances qui fonctionnent vraiment.
Avec votre humble attitude, je doute sérieusement que vous serez ennuyeux. L'humilité va très loin. (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 retirer 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 vous en sortir en leur demandant beaucoup et en apprenant beaucoup d'eux. Ils se sentiront flattés, mais ce sera authentique. Il vous aidera également à apprendre et à devenir plus utile.
Enfin, en savoir moins qu'eux peut être utile en soi. Par exemple, vous serez probablement mieux à même d'écrire de la documentation pour les API, car vous poserez les questions que les étrangers poseraient, mais qui semblent trop évidentes pour les autres.
Et qui sait? Vous pouvez constater qu'en étant serviteur, vous devenez un leader.
Vous avez déjà beaucoup de bonnes réponses. Je pense que je peux contribuer en partageant mon expérience dans un poste similaire.
Contexte: Je travaille à temps partiel dans un département R&D d'une assez grande entreprise depuis quelques années alors que ma principale occupation est d'étudier le CS. Les gens avec qui je travaille la plupart du temps sont titulaires d'un doctorat ou d'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 ennuyeux?
Quelle utilité espérez-vous retirer de lui ici et maintenant?
Qu'est-ce qui serait agréablement surprenant si cela arrivait?
Quelques conseils supplémentaires:
Bon conseil des autres jusqu'à présent. Pour répondre à vos questions spécifiques:
Ce serait ennuyeux si vous posiez des questions sans faire vos devoirs au préalable. Demander de l'aide après avoir fait ce que vous pouvez pour résoudre le problème en premier est très bien. Mais si quelqu'un est capable de trouver la réponse via une simple recherche Google ou en parcourant le manuel, c'est ennuyeux.
Je suppose que vous avez déjà une sorte de projet/affectation. J'espère que vous pourrez terminer cela avec un minimum de supervision.
Une agréable surprise serait si vous terminiez votre travail tôt. Ensuite, vous seriez en mesure de travailler sur plus de projets avec une complexité croissante qui prouverait votre fiabilité. Une autre surprise serait si vous êtes en mesure d'anticiper les besoins de l'équipe et de travailler à les satisfaire en parallèle. Votre équipe a-t-elle besoin d'un environnement de construction automatisé, d'un cadre de test automatisé, de configurations informatiques/réseau spécifiques pour les tests, etc.? Ce peut être une chose périphérique
Réponse courte: Découvrez ce dont l'équipe a besoin, et peut-être ce que vous aimez le plus, et travaillez pour y répondre.
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 à effectuer ou les tâches que les gens veulent faire, elles 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? Prenez en charge les tâches d'embauche. Ou peut-être faire la paie. Intéressé par la programmation? Découvrez la langue que l'équipe souhaite utiliser. Essayez d'écrire des tests unitaires pour une partie du code. Vous détestez rédiger des rapports? Alors ne le fais pas. Voyez si vous pouvez déléguer cette tâche à quelqu'un d'autre et travailler à une solution constructive. Prenez un peu de temps et réfléchissez à ce que vous pourriez vouloir faire, puis essayez-le.
Une chose à garder à l'esprit que quand il s'agit de très petites start-ups, il y a beaucoup plus à faire que la simple programmation. Si vous voulez coder, tant mieux! Si vous préférez faire autre chose, c'est bien aussi! Apprenez vite, posez beaucoup de questions et mettez-vous au défi.
Je ne sais pas à quel point ma réponse serait utile, mais je l'ai été si vous l'êtes maintenant. Entouré de gens que je sentais/connaissais avaient tellement plus à apporter que je n'aurais jamais pu. Comment agir dans cette position? Profitez-en plutôt que de souffrir. Au lieu de penser à ce que vous ne savez pas, pensez à ce que vous avez à apprendre et à vivre avec ces personnes. Utilisez-les comme ressource, soyez respectueux et essayez de leur glaner toute information et 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 faire 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 à ce sujet - notez les commentaires qu'ils vous donnent et essayez de les mettre en œuvre pour créer un meilleur code. N'ayez pas peur de poser des questions, soyez simplement respectueux et essayez de poser de bonnes questions - essayez d'absorber les données et réfléchissez à votre question immédiate avant de demander - peut-être que la réponse a déjà été fournie ... Les meilleurs gens aiment enseigner, et je Je parie qu'ils seraient heureux de partager leurs connaissances et leur philosophie de vie avec vous.
Dans ma situation, j'ai essayé de le faire, et chaque fois que cela a fonctionné pour moi, j'étais le plus heureux, je n'ai jamais compris pourquoi ils m'ont gardé, mais j'ai passé le meilleur moment, 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 êtes 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 des situations réelles et l'humilité va très loin. Soyez donc respectueux de tout le monde, écoutez, absorbez - mais prenez vos propres leçons de l'expérience - parfois, vous feriez mieux d'apprendre ce que pas à faire.
Bonne chance.
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 avec des compétences/idées de gestion. C'est bien, mais c'est incomplet .
Vous êtes pragmatique: simplifiez-vous la vie.
Vous pouvez couvrir au moins deux domaines:
Technique
Ces gars-là sont des experts dans leur domaine, et c'est bien, mais cela ne signifie pas qu'ils savent comment se frayer un chemin hors d'un sac en papier. Honnêtement, j'ai vu des gens très brillants écrire un horrible code insaisissable.
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 idiomes que la communauté utilise. Recherchez les bibliothèques utiles qui existent.
Qualité
Il y a des tâches ingrates mais utiles:
Il y a quelques étapes qui peuvent aider, qu'elles soient très formelles ou non:
Il y a beaucoup d'activités périphériques autour d'avoir des idées et d'écrire du code.
Vous avez la possibilité de devenir le responsable qualité ici. Apprenez les meilleures pratiques de l'industrie (un peu de "Agile", un peu de mêlée, un peu de TDD, ...), et composez un processus qui convient à votre entreprise. Apprenez à construire des systèmes (make, cmake, ninja, que ce soit) et écrivez les scripts qui facilitent la construction/le déploiement. Vérifiez Jenkins (ou autre) et créez un serveur d'intégration continue.
Ils sont impressionnants dans leurs domaines respectifs et c'est super. Puisque pour le moment vous n'êtes pas spécialisé, je dirais qu'il est temps pour vous d'identifier les faiblesses (vous pouvez aussi demander leur avis) et de combler a(the) écart (s)!