Je pense que ça dépend des projets sur lesquels tu bosses. Si tu bosses sur un énorme logiciel qui fait intervenir des dizaines de développeur mais qui ne met pas en œuvre des algorithmes compliqués, ou des traitements qui demandes des performances particulière (par exemple, le cas classique d'un système d'information où bien comprendre ce que veut le client est plus difficile que d’implémenter la solution à son problème) alors oui, maitriser les outils et les méthodes qui permettent de travailler efficacement dans une grande équipe c'est le plus important. Mais c'est pas toujours le cas. Par exemple, dans un gros logiciel il peut y avoir un petit noyau qui effectue des des traitements très compliqués, qui doivent être optimisé à mort etc... Les quelques devs qui bossent sur cette partie ont besoin de connaître leur langage à un niveau de détail plus élevé et/ou avoir un niveau correcte en algorithmique.
D’ailleurs en passant j’ai rencontré incomparablement plus de problèmes de perfs dus à un mauvais schéma de base de données qu’à un algo de tri en Java. Au final, il vaut mieux connaitre SQL que savoir la notation O :)
C'est que tu bosses probablement sur des logiciels avec beaucoup de code et de modules mais dans lequel la majorité du traitement est de faire des requête vers la base de données. La difficulté est surtout de gérer une grande quantité de code et de développeur efficacement. C'est loin d'être le seul boulot de développement possible. En plus, il y a d'autres boulot que développeur dans l'informatique :)
Savoir utiliser quotidiennement un outil de gestion de version, et tout le vocabulaire qui va avec, savoir pourquoi c’est important d’avoir une branche stable et une branche évol (à minima)
Savoir lire une spec/un besoin, poser les bonnes questions fonctionnelles
Savoir écrire et exécuter un Test unitaire (cas passant ET non passant), avec le jeu de données requis
Savoir écrire et exécuter un test d’intégration
Connaitre les critères d’acceptation d’une fiche d’anomalie, ainsi que le processus de traitement (quand est ce que je livre ? à qui sur quel environnement ?)
Savoir évaluer la charge Dev+TU d’une fonctionnalité, au besoin en posant des hypothèses, et donc savoir quand est ce qu’on aura (raisonnablement) fini
et bien sur savoir travailler en équipe
ça, c'est pas de l'informatique mais de la gestion de projet. Ce genre de compétence est commun à la gestion de projet dans d'autres domaines. C'est important et enseigné, mais c'est normal d'apprendre aussi des compétences plus spécifiques à l'info, par exemple de l'algorithmique ou de la théorie, pour les gens qui se dirigent vers d'autres métiers de l'informatique.
# ça dépend de ce que tu code!
Posté par brendel . En réponse au journal Ce qu'on demande à un développeur aujourd'hui. Évalué à 5.
Je pense que ça dépend des projets sur lesquels tu bosses. Si tu bosses sur un énorme logiciel qui fait intervenir des dizaines de développeur mais qui ne met pas en œuvre des algorithmes compliqués, ou des traitements qui demandes des performances particulière (par exemple, le cas classique d'un système d'information où bien comprendre ce que veut le client est plus difficile que d’implémenter la solution à son problème) alors oui, maitriser les outils et les méthodes qui permettent de travailler efficacement dans une grande équipe c'est le plus important. Mais c'est pas toujours le cas. Par exemple, dans un gros logiciel il peut y avoir un petit noyau qui effectue des des traitements très compliqués, qui doivent être optimisé à mort etc... Les quelques devs qui bossent sur cette partie ont besoin de connaître leur langage à un niveau de détail plus élevé et/ou avoir un niveau correcte en algorithmique.
C'est que tu bosses probablement sur des logiciels avec beaucoup de code et de modules mais dans lequel la majorité du traitement est de faire des requête vers la base de données. La difficulté est surtout de gérer une grande quantité de code et de développeur efficacement. C'est loin d'être le seul boulot de développement possible. En plus, il y a d'autres boulot que développeur dans l'informatique :)
ça, c'est pas de l'informatique mais de la gestion de projet. Ce genre de compétence est commun à la gestion de projet dans d'autres domaines. C'est important et enseigné, mais c'est normal d'apprendre aussi des compétences plus spécifiques à l'info, par exemple de l'algorithmique ou de la théorie, pour les gens qui se dirigent vers d'autres métiers de l'informatique.