Quels sont les domaines de spécialisation au sein de la programmation recommanderiez-vous à un débutant [fermé]

StackOverflow https://stackoverflow.com/questions/17320

  •  08-06-2019
  •  | 
  •  

Question

Je suis un étudiant de développement de logiciels, et j'ai l'impression de programmation, en général, est trop large d'un sujet pour essayer de tout savoir.Pour être compétent, vous avez à choisir les domaines d'intérêt de votre apprentissage et de compréhension.Certains ensembles de compétences en synergie les uns avec les autres, comme pilotés par les données, développement web et SQL expérience.Cependant, toutes les API win32 expérience dans le monde ne peut pas l'appliquer directement pour le développement de linux.Cela me mène à croire, comme un programmeur débutant, je devrais commencer à décider où je veux à se spécialiser après avoir une compréhension générale des principes de base de développement de logiciels.

C'est une question vraiment:

  1. Quelles sont les principales spécialisations au sein de la programmation informatique et développement de logiciels?
  2. Laquelle de ces spécialisations ont plus de valeur à long terme, à la fois comme une base pour d'autres spécialisations et/ou des compétences?
  3. De laquelle les ensembles de compétences complètent les uns les autres?
  4. Existe-il des domaines de spécialisation qui entravent votre capacité de développer d'autres domaines de spécialisation.
Était-ce utile?

La solution

Ben, Presque tous les programmeurs chevronnés sont encore étudiants dans la programmation.Vous n'arrête jamais d'apprendre quoi que ce soit quand vous êtes un développeur.Mais si vous êtes vraiment en train de rabais sur votre carrière, alors vous devriez être moins inquiet au sujet de la spécialisation chose.Toutes les Api, les cadres et les compétences que vous vous attendez à ce que vous donne une longue durée de vie limitée dans le domaine ne va pas se produire.La technologie semble beaucoup changé et vous devez être polyvalent et suffisamment souple pour apprendre quoi que ce soit.La connaissance que vous acquérez sur une plate-forme/api/framework ne pas mourir.Vous pouvez appliquer les compétences pour la prochaine plus grande plate-forme/api/framework.

Cela étant dit, vous devriez juste arrêter de se soucier de l'avenir et de se concentrer sur l'essentiel.Structures de données, Algorithme d'Analyse et de Conception, Conception du Compilateur, conception de système d'Exploitation sont le strict minimum de choses que vous devez.Et plus loin, vous devriez être prêt à revenir en arrière et lire des milliers de livres dans ces domaine tout moment dans votre carrière.C'est tout ce qui est nécessaire.Bonne chance.

Désolé si je ressemblait à un gros cul conseiller;mais c'est ce que je pense.:-)

Autres conseils

Ne pas rejeter directement chez vous, mais en fait, je pense être un généraliste est une bonne position dans la programmation.Vous aurez certainement de développer une expertise dans des domaines spécifiques, mais il est susceptible d'être un produit, soit des intérêts personnels ou de travail de la nécessité.Au fil du temps les choses que vous êtes capable de transférer entre les langues et les domaines de problème est au cœur de ce qui fait de bons programmeurs.

Je pense que la question la plus importante est:Quels sont les domaines de spécialisation sont vous intéresse le plus?

Une fois que vous savez, commencer à apprendre dans ce domaine!

Je pense que le plus grand talent de tous serait de s'adapter avec le temps, parce que si votre employeur peut voir ce potentiel en vous, alors qu'il serait plus sage de tenir fermement.

Cela dit, je vous conseille de vous plonger dans la zone que VOUS voulez. L'apprentissage est entraîné par l'enthousiasme.

Depuis mon actuelle utilisent, c'est avec un fournisseur d'accès internet, j'ai trouvé la mise en réseau des connaissances particulièrement utile.Mais un jour, j'aimerais jouer avec des graphismes en 3D (pas nécessairement des jeux).

Aller aussi profond que vous pouvez démarrer dans un environnement win32 .net, Java, Objective-C...quoi que ce soit.

Il est important de construire la compréhension profonde de la façon dont X fonctionne...de sorte que vous pouvez traduire les mêmes concepts dans d'autres langues ou des plates-formes et environnements, si vous le désirez.

"Y at-il des domaines de spécialisation qui entravent votre capacité de développer d'autres domaines de spécialisation." En quelque sorte, mais rien de permanent, je pense.

Depuis que je suis relativement vert moi-même (moins de 4 ans) je viens vraiment de la POO état d'esprit.J'ai rarement sauté de .NET, donc j'ai eu un moment difficile sur un emploi lors de l'entrée en contact avec code incorporé.Avec embedded programmeurs craignant de création de l'objet et de la perte de performance de l'héritage.J'ai dû apprendre à l'environnement, au sérieux peu de mémoire et ralentir l'horloge du temps, ils venaient de.Ce sont les temps de grandir, j'ai eu un meilleur moment car j'ai compris ma région assez bien.

Je dirai, si vous chercher quelque chose à se spécialiser dans de qualité marchande et de l'argent, vous aurez probablement brûler rapidement.Si vous commencez à se spécialiser de choisir quelque chose que vous appréciez.J'aime GUI programmation et de la haine de côté de serveur de trucs, mon copain est à l'opposé, mais tous les deux nous aimons notre travail.S'il avait à faire mon travail, et je de son, nous permettrait à la fois de rendre fou hors de l'ennui.

Comme un étudiant, je vous recommande d'oublier ce que vous êtes en programmation et en se concentrant sur le processus du logiciel lui-même.Comprendre comment analyser un problème et de poser les bonnes questions;apprendre chaque modèle de conception que vous pouvez et en fait tous les appliquer afin d'acquérir une réelle compréhension et l'appréciation de la conception orientée objet;écrire des tests et ensuite seulement le code autant que vous avez besoin afin de rendre les tests passent.Je pense que la meilleure façon de vraiment apprendre, c'est juste le code autant que vous le pouvez - la langue et le domaine ne sont pas importants, parcourir sourceforge et freshmeat pour tout intéressant de sondage, des projets et de s'impliquer.Ce qui est important est de comprendre les principes fondamentaux du génie logiciel.

Et oui, cela inclut C.Ou L'Assembleur.C'est la façon la plus simple d'obtenir une bonne compréhension de la façon dont votre ordinateur fonctionne et ce que votre code de haut niveau est en train de faire.

Enfin, ne jamais cesser d'apprendre, Service architecture orientée, l'inversion de contrôle, les langages spécifiques au domaine, gestion des processus d'affaires sont tous les montrant d'énormes avantages ils sont donc important d'en être conscient - Mais par le temps que vous finissiez l'étude et rejoignez la main-d'œuvre qui sait ce que la prochaine grande chose sera?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top