Conseil de carrière: restez avec PHP ou commencez une nouvelle carrière dans quelque chose d'autre (.Net?) [Fermé]

34

Je prévois de déménager à New York d'ici 6 à 12 mois, alors je suis obligé de trouver un nouvel emploi. Lorsque je prévois de commencer ma vie dans une autre ville, le moment est probablement propice pour réfléchir aux changements de carrière.

J'ai trouvé beaucoup d'opinions différentes sur PHP vs .Net vs Java et ce n'est pas le sujet ici. Je ne veux pas commencer un nouveau combat pour savoir quelle langue est la meilleure. Connaître un langage de programmation n’est pas la chose la plus importante pour un développeur de logiciel. Pour être un très bon développeur, vous devez connaître la programmation orientée objet, les modèles de conception, les tests ... et un langage n'est qu'un outil pour faire avancer les choses.

Revenons donc à ma question. Je possède une expérience variée en informatique - 1 an en tant que technicien en support informatique (administration et support Windows), environ 2 ans d'expérience en programmation intégrée (VB.Net 2005) et depuis 2 ans, je travaille avec PHP / MySQL. J'ai travaillé avec la boutique en ligne Magento, assisté à certains projets de Symfony, modifié quelques sites Drupal.

Mes principales préoccupations sont les suivantes:

  1. Est-ce que je continue à améliorer mes compétences en PHP, par exemple pour commencer à apprendre un framework PHP majeur tel que Zend, Symfony peut-être obtenir une certification PHP?
  2. Ou dois-je commencer à apprendre .NET ou Java. Je suis plus familier avec .NET, donc je le choisirai probablement si le choix se situe entre .NET et Java (ou vous pourriez me convaincre de choisir Java :).

En ce qui concerne la carrière, je ne sais pas quel est le meilleur choix. Apprendre un nouveau framework et un nouveau langage prend plus de temps que d’améliorer mes compétences existantes en PHP. Mais avec .NET, vous avez beaucoup de possibilités (développement de téléphones Windows 7, Silverlight, WPF) et peut-être plus de chances de trouver de meilleurs emplois.

Les emplois PHP sont moins bien rémunérés que .NET, du moins, d’après mes recherches (corrigez-moi si je me trompe). Mais si je commence maintenant avec .NET, je ne suis qu'un débutant et mon salaire sera bas. J'ai besoin d'au moins 2 ans d'expérience dans certaines langues pour même essayer de trouver un emploi qui rapporte plus de 50 à 60 000 dollars à New York. Mon objectif principal au cours des deux ou trois prochaines années est de tenter de trouver un emploi dans la catégorie des 60 à 80 000 dollars. Ne vous méprenez pas, je ne cherche pas seulement de l'argent, mais l'argent est un facteur important lorsque vous essayez de fonder une famille.

J'ai 27 ans et j'estime qu'il n'y a pas beaucoup de place pour de mauvaises décisions concernant ma carrière. Tout conseil sera donc le bienvenu.

Mise à jour

Merci à tous d'avoir passé du temps à m'aider à résoudre mon problème. Toutes les réponses et commentaires ont été très utiles. J'ai décidé de rester avec PHP mais aussi d'apprendre le C # et Silverlight 4. Nous verrons où la vie me mènera.

Christian P
la source
Apprenez les deux. Démarrer un projet dans chacun. cela ne prend pas si longtemps.
systemovich
Essayez Code Igniter. C'est super facile à apprendre et bien documenté.
B Seven
2
Il n'y a pas de mal à apprendre 2-3 langues.
Rudy
Depuis que cela a été heurté par quelqu'un, je dois demander: VB.NET intégré? ..
Simon Whitehead
@SimonWhitehead ce n'est pas exactement intégré mais je ne pourrais pas trouver un meilleur mot pour l'expliquer. Il s’agissait d’une application écrite dans VB.NET pour un élément de matériel industriel (fabriqué par mes collègues et moi-même) communiquant avec deux cartes DAC (cartes d’acquisition de données).
Christian P

Réponses:

64

J'ai 51 ans et utilise au moins 15 langues et / ou frameworks depuis que j'ai eu mon premier emploi payant après l'obtention de mon diplôme en 1987.

Soyez bénis.

Je ne me suis jamais lancée dans la gestion parce que je ne voulais pas, mais je sais programmer et je sais garder les équipes motivées et livrer du bon code. Vous devez travailler sur les compétences des personnes et rechercher un travail intéressant qui vous s'étend. Je n'ai jamais cessé d'apprendre ou de m'amuser, mais il y avait des moments où j'étais sur la route, j'aurais pu m'arrêter en m'arrêtant - mais sans coder, sans voyager.

Tant que vous pouvez gagner votre vie et respecter vos engagements personnels sans compromettre vos principes, tant que vous aimez ce que vous faites (un luxe que la génération de mes parents ne possédait pas), continuez comme ça.

.Net et Java sont généralement des entreprises (parce qu’il est coûteux de faire des choses utiles, mais qu’ils évoluent très bien), PHP est généralement une startup, je fais Ruby (généralement des startups sorties de studios de design pour une raison quelconque) pour beaucoup de gens en tant qu'indépendant. Si vous vous en tenez à PHP, apprenez ce que vous faites avec OO, car je pense que cela va enfin commencer à être la façon dont les gens font les choses, même s'il s'agit d'une réimplémentation légèrement meilleure de ce que vous avez avec Java et qu'ils auraient pu le rendre beaucoup plus dynamique. Les personnes qui pratiquent Python et qui veulent voyager peuvent finir par faire toutes sortes de recherches scientifiques et de jeux passionnantes dans le monde entier. Perl est toujours aussi un coureur et a un profil similaire.

Oubliez la langue, choisissez le secteur que vous aimez, choisissez une entreprise gérée par des êtres humains et amusez-vous à faire en sorte que vos clients apprécient ce que vous leur apportez. Vous ne le regretterez pas.

Poisson Francis
la source
9
PHP est très faible sur OO. Cela a commencé comme un langage de modèle et ça se voit.
Keyo
5
@Keyou, ne signifie pas que vous ne devriez pas pousser l'utilisation des fonctionnalités de OO php car il prend la langue à un autre niveau :)
jonathan
@Keyo Qui a dit que PHP était faible sur OO pour votre information PHP OO est maintenant très proche de Java Voir PHP 5.5 et il ne cesse de progresser
Hmmm
120

En quoi le choix du langage de programmation a-t-il quelque chose à voir avec votre carrière?

Cette question revient à demander: "J'ai deux choix de lieu de travail. Devrais-je travailler dans celui où le chef a un accent norvégien ou dans celui où le chef a un accent espagnol?"

Il y a des considérations de carrière beaucoup plus importantes.

  1. Startup ou entreprise établie?
  2. Entreprise de produit ou entreprise où l'informatique est une fonction de support?
  3. Apprenerez-vous de nouvelles choses ou ressasserez-vous les anciennes?
  4. 9 à 5 ou "travailler 80 heures que vous voulez?"
  5. Collègues gentils ou méchants collègues?
  6. Des collègues intelligents ou des collègues stupides?
  7. Costume et cravate ou t-shirt?

Cette liste pourrait durer des heures. Le choix d'un langage de programmation est aussi pertinent pour la carrière d'un programmeur que le choix de se peigner les cheveux à gauche ou à droite. Tout le développement logiciel, peu importe le dialecte de langage de programmation que vous parlez.

Joel Spolsky
la source
19
Vous avez un point. Mais le type de langage de programmation est dans la plupart des cas étroitement lié au profil de l'entreprise. D'après ce que je comprends, le PHP est principalement utilisé dans les entreprises en démarrage et les grandes entreprises bien établies utilisent .NET pour leur développement.
Christian P
29
La vraie réponse: passer quelques mois à gagner une réputation de Stack Overflow à cinq chiffres, et vous obtiendrez des offres d'emploi de l'ordre de 100 000 $ sans entretien.
Joel Spolsky
37
@Joel: autant que j'aime StackOverflow (et dans quelques semaines, la réputation à cinq chiffres suffira pour m'amuser), si jamais je obtenais une offre d'emploi de 100 000 grâce à cela, je t'achèterais une bière :-)
Diego Mijelshon
25
Pour certaines personnes, la langue a tout à voir avec votre carrière. J'aimerais travailler pour beaucoup de grandes entreprises, mais pas au détriment de la rédaction d'un langage qui me contrarierait / réduirait la productivité. Je ne dis pas que je ne suis heureux que d'écrire une langue, mais il y a certainement des langues que je ne voudrais pas coder à temps plein, et il serait stupide pour moi d'accepter un emploi, par exemple avec l'écriture d'horaires flexibles. C sur un travail 9-5 écrit C #. Vous ne pouvez pas partager cette opinion, c'est bien. Mais ne supposez pas que les programmeurs qui le font sont des idiots. Votre liste de considérations importantes est à vous .
Danny Tuppeny
39
@ Joel. Puis-je avoir un travail de 100K? J'ai un représentant à 5 chiffres et je suis actuellement au chômage.
aaronasterling
23

Apprenez autant de langues que vous le pouvez, de préférence au moins une de chaque domaine de développement principal.

  • Langages de programmation scriptés (vous avez déjà PHP, essayez Ruby, Python ou autre chose)
  • Compilé en langages de machine virtuelle avec des infrastructures riches: .Net, Mono, Java
  • Compilé en métal nu: C / C ++
  • Langues fonctionnelles: Lisp, F #, Haskell

Chacun de ceux-ci vous apprendra quelque chose sur les bases du développement logiciel. Bien sûr, en plus de cela, vous devrez expérimenter différentes approches de conception (OO, fonctionnel, piloté par les données), différentes méthodes de travail en équipe (agile, tdd, par rapport aux types plus rigides), différentes plates-formes, différents mécanismes de déploiement (processus natif). , basé sur le cadre, web). La liste continue. La maîtrise de la langue n'est qu'une infime partie de l'ensemble.

Pour toutes ces choses, vous devez créer au moins un produit réel qui les utilise pour être compétent.

Certaines personnes vous diront que vous devez vous spécialiser dans une technologie (PHP, .Net, Java) et construire votre carrière principalement autour de celle-ci pour progresser. Je ne suis pas du tout d'accord avec ça. Je prendrai un développeur qui a fait plusieurs fois le tour du bloc avec différentes plates-formes et technologies sur un autre qui a passé 10 ans à faire une chose tous les jours de la semaine. La raison en est que la technologie change chaque année et que le développeur capable de choisir une nouvelle technologie, de lire l'API et d'appliquer son expérience de manière plus générale que le simple fait de savoir que la bibliothèque fonctionne par cœur, sera beaucoup plus productif dans le futur. long terme. Ok, donc ce vétéran du .Net de 10 ans sera plus rapide dans le bloc .Net, mais cette avance prématurée est perdue dans environ un mois. Il'

Steve Streeting
la source
3
J'ajouterais également à votre liste, les langages logiques (Prolog), les langages mathématiques (qui sont un sous-ensemble de fonctionnels en règle) (Mathematica, R), les langages préfixes / postfixes (PS, Forth), les assembleurs et les matériels (pour FPGA et similaires).
Orbling
8
Je suis d'accord ... c'est amusant d'apprendre de nouvelles langues. Mais lorsque vous essayez d’améliorer vos connaissances générales en matière de développement de logiciels tout en apprenant un nouveau framework PHP et un langage supplémentaire (C #) que vous souhaitez utiliser à l’avenir, l’apprentissage de nouvelles langues pour le plaisir n’est pas une option ni du moins une option sans sacrifices majeurs dans d'autres parties de votre vie.
Christian P
4
Je suis d'accord Christian, cette réponse est un peu extrême. Mais peut-être que la réponse à cette question ne devrait pas être: "Apprenez un bajillion de nouvelles langues tout de suite ou vous pouvez simplement dire adieu à vos rêves". Cela devrait plutôt être: "Oui, vous devriez essayer de décrocher un emploi dans une langue que vous ne connaissez pas, car il s'agit d'un meilleur investissement de carrière à long terme". De plus, c'est le meilleur moyen de vraiment maîtriser une langue.
Neil Traft
1
@Orbling: vous avez raison, la liste n'était pas complète, j'ai juste choisi les principales 'carrières' pour éviter que cela ne devienne une liste trop lourde;)
Steve Streeting
3
Pour ce qui est de l'extrême - je ne proposais pas que vous appreniez toutes ces langues en un an :) Étant donné que la question était dans le contexte d'une carrière, je ne pense pas que ce soit irréaliste du tout. Nous devons tous assumer la responsabilité de notre propre développement professionnel, et même si vous réalisez un projet de loisir en un an en utilisant une technologie que vous n'avez pas utilisée auparavant, cela vous aidera énormément. L’open source est un excellent moyen de le faire aussi, car cela signifie que vous pouvez être impliqué dans un vrai projet sans partir de zéro et obtenir l’aide de pairs de la communauté.
Steve Streeting
7

Je suggérerais de chercher un travail PHP car c'est ce que vous faites le mieux.

Je vous suggérerais également de commencer à vous familiariser avec les nouvelles technologies que vous souhaitez apprendre pour pouvoir éventuellement commencer à chercher des emplois dans ces domaines, mais ne le faites pas avant une échéance aussi courte, car vous constaterez que ces éléments sont énormes et que les employeurs s'attendent à il faut en savoir assez sur ces mastodontes pour être productif. Cela nécessite du temps et de la pratique . Ne sous-estimez pas le temps et la quantité de pratique que vous devrez faire.

Pour vous donner une estimation de ce que "je peux programmer en Java" devrait être capable d'employé potentiel, vous pouvez consulter le didacticiel Sun Java . Je m'attendrais à ce que vous connaissiez au moins la moitié des concepts énumérés, où familier signifie être capable de l'utiliser dans un programme que vous avez écrit et de l'utiliser correctement . Je pense que cela prend plus de 6 mois de temps libre pour atteindre ce niveau.


la source
7
6 mois? vraiment? Le genre de programmeurs que j'engage apprend le langage et la plate-forme dès leur première semaine de travail. C'est pourquoi je ne me soucie JAMAIS de la langue que quelqu'un connaît lorsqu'il postule un emploi chez Stack Overflow ou Fog Creek.
Joel Spolsky
4
@ Joel, s'il vous plaît noter que je parle de ramasser des trucs dans votre temps libre . Seul, sans mentor. Ce n'est peut-être pas un moyen aussi efficace d'apprendre de nouvelles choses que d'être physiquement dans vos bureaux avec vous et vos employés ... Peut-être voudrez-vous engager christian.p pour me prouver le contraire?
3
@ Joel Lorsque votre application est écrite dans votre propre langue créée sur mesure, vous n'avez pas beaucoup de choix, hein! ;-)
Darrel Miller
3
@Orbling. N'est-ce pas un peu facile pour eux? Pourquoi pas quelque chose comme "s'il vous plaît trouver et corriger le bogue dans ce code de production BrainF * ck! Moi et mes 5 collègues allons vous regarder et le temps que vous prenez"?
5
@Joel - J'imagine que lorsque Christian recherchera un nouvel emploi dans une nouvelle ville, il s'apercevra que tous les employeurs ne sont pas aussi agnostiques que leur langue à Stack Overflow / Fog Creek. En fait, je suppose que loin de ne pas se soucier des langues qu’il connaît, plus de 95% jetteront son curriculum vitae à la poubelle instantanément s’il ne correspond pas aux mots-clés corrects.
Carson63000
6

Je déteste ressembler à un troll, mais la langue que vous devez apprendre est l'anglais. Il y a un tas d'erreurs dans votre message et cela a l'air tout à fait négligeable. Si j’engageais et que c’était votre CV, peu importait le langage de programmation que vous disiez connaître, je présumerais que votre manque d’esprit en anglais se répercuterait sur votre travail de programmation.

Il ne semblait pas que vous veniez en anglais langue seconde (je pouvais, bien sûr, vous tromper), mais il y avait suffisamment de fautes de grammaire et d'orthographe pour que la plupart des gestionnaires d'embauche fassent une pause. Puisqu'ils ne verront votre mot écrit qu'au début, vous devez le corriger.

Doug Johnson-Cookloose
la source
6
C'est hors sujet, mais merci pour le heads up. L'anglais est en fait ma langue seconde. Croyez-le ou non (ou c'est peut-être évident pour vous) mais j'ai appris à parler anglais tout seul (sans cours de langue).
Christian P
3
Puisqu'il s'agit de votre deuxième langue, vous vous débrouillez bien. Évidemment, demandez à quelqu'un de vérifier votre CV juste pour être sûr, mais je sais que si je devais faire mes commentaires en français, par exemple, ils ne seraient pas aussi lucides et bien formulés que les vôtres en anglais. Ce n'était pas être sournois, juste essayer d'être utile. De nombreux Américains ne s'embarrassent pas de leur orthographe et de leur grammaire et cela leur fait mal au marché.
Doug Johnson-Cookloose
1
Je sais que mon anglais a besoin d'être amélioré et je fais de mon mieux pour l'améliorer. Mais je suis reconnaissant de vos commentaires car je sais que lorsque je postule à un emploi, c'est l'impression générale qui compte. Donc, si mon écriture est bâclée, cela va nuire à mes chances globales de trouver un emploi.
Christian P
1
Il était une fois, si vous postuliez pour un emploi par l'intermédiaire d'un recruteur, celui-ci prendrait le temps de peaufiner votre CV et de vous assurer que l'orthographe, la grammaire et le style général étaient corrects. Mais récemment, j'ai interviewé des candidats et il semble que les recruteurs ne se dérangent plus, ils collent leur logo dans le coin supérieur droit et envoient le curriculum vitae. Je recommanderais donc à un ami en qui vous avez confiance de consulter votre CV et vos lettres de candidature / courriels.
Carson63000
1
@ Carson63000 Mon expérience en matière de recrutement par le biais de recruteurs est que lorsqu'ils essaient d '"aider", ils gâchent souvent le curriculum vitae des candidats. En conséquence, je devais donner le bénéfice du doute aux candidats dont le CV était négligé. Avec le choix, j'aurais coupé les recruteurs idiots de l'équation.
Daniel Cassidy
5

La réponse à long terme à cette question est fondamentalement ce que notre hôte estimé (Joel Spolsky) et Steve Streeting ont dit. La programmation de base ne concerne pas les langages mais l’utilisation de l’ordinateur pour résoudre des problèmes, c’est un art qui doit être appris, travaillé et réfléchi au fil du temps. Savoir coder ne fait pas de l’on un programmeur.

Mais vous avez posé une question pragmatique et urgente. Que devez-vous faire MAINTENANT?

Je suggère que vous creusiez dans PHP jusqu'au déménagement. Creusez dedans, dur, vraiment dur, 20 heures par semaine en dehors du travail dur. Avec PHP, c’est très facile… obtenez un compte d’hébergement et un domaine et commencez à créer des applications. Avec un effort ciblé, 6 mois est une éternité. Au cours de cette période, soyez vraiment bon en la matière. Cela vous aidera à trouver un bon emploi une fois à New York et fera de vous un meilleur programmeur.

BTW .. si vous ne le saviez pas déjà, il existe un site d'emploi en informatique dans la famille StackExchange.

ALORS, lorsque la transition de la vie est un peu stabilisée, commencez à suivre le manuel de M. Streeting et à vous familiariser avec le métier de programmeur plutôt que le métier de codeur. Utilisez du temps en dehors du travail pour lire et faire des choses sur d’autres plateformes et avec d’autres outils.

tomjedrz
la source
1

Je pense que l’essentiel est qu’un ingénieur logiciel finisse par arriver à l’état où la langue n’est en grande partie pas liée à la tâche à accomplir, sauf dans ses limites.

Que vous connaissiez une langue ou non ne devrait pas faire la différence, pourvu que vous ayez un manuel, seulement pour accélérer le premier jour pendant que vous trouvez vos repères.

Cela dit, les langages propriétaires ont généralement moins de documentation et d'exemples disséminés sur le Web. Il est donc plus difficile de s'y habituer et de poser un problème si vous souhaitez emporter votre travail chez vous.

Orbite
la source
3
La langue est rarement difficile. Apprendre l'écosystème et les meilleures pratiques peut prendre pas mal de temps ...
@ Thorbjørn Très vrai, l'acquisition des meilleures pratiques dans une langue peut prendre un certain temps. Bien que cela dépende beaucoup de votre apprentissage, certaines langues sont beaucoup plus difficiles à trouver que d’autres.
Orbling
1

Mon conseil est de trouver un travail qui vous plaise et que vous aimiez faire. Si vous aimez PHP, pourquoi ne pas continuer à développer vos compétences en PHP. Il est beaucoup plus facile d'apprendre et de développer des compétences en faisant quelque chose qui vous intéresse.

Avez-vous déjà consulté .NET ou Java auparavant? Sinon, cela pourrait suggérer que ces langues ne vous intéressent pas, mais vous pourriez peut-être passer environ une semaine à les examiner et voir par vous-même si cela vous intéresse.

Cspolton
la source
Je connais bien Silverlight 4 et C # (également depuis 2 ans dans VB.NET 2005), c’est la raison principale pour laquelle je songe à changer de fournisseur.
Christian P
1

Court terme; Je ne sais pas quelles sont les pratiques d’embauche aux États-Unis, mais étant donné que vous déménagez dans 6 à 12 mois, j’envisagerais pour l’instant de continuer à utiliser PHP, car vous en avez une expérience de deux ans.

Mon expérience ici (aux Pays-Bas) est que les entreprises ont tendance à se focaliser sur les technologies et l’expérience en matière de framework. Le langage n’est vraiment pas le cas, même s’ils demandent « 3 ans d’expérience C # », ils veulent dire « 3 ans d’expérience avec les bibliothèques et outils de classe / framework que vous utiliseriez avec C # ».

(Sinon, pourquoi ils veulent engager quelqu'un qui a besoin de trois ans pour apprendre la syntaxe C # et les fonctionnalités du langage me dépasse. Cela ressemble à quelqu'un que je ne voudrais pas embaucher.)

Apprendre de nouvelles langues; statique, dynamique, fonctionnel est d’une grande utilité pour élargir vos perspectives. Cependant, apprendre les bibliothèques de classes pertinentes et la manière de faire les choses dans cette langue demandera de l'expérience.

Je recommanderais de prendre une décision en choisissant une pile de technologies et en les apprenant en profondeur. Utilisez les autres environnements pour vous inspirer.

Bien sûr, les préférences personnelles entrent également en jeu. Par exemple, bien qu'il y ait beaucoup de marché pour cela, je n'accepterais jamais un travail PHP: -PI choisir une pile et je recherche un travail sur cette base.

Pour ce qui est de faire une carrière à long terme, je pense que vous devriez regarder au-delà du codage (il s’agit en définitive d’apprendre et de savoir lire et / ou parcourir de la documentation) et de la technologie du jour, mais plutôt de compétences non techniques. Les technologies vont et viennent assez rapidement. Bien sûr, il y a beaucoup à apprendre en matière de bonnes pratiques et de savoir-faire plus général. Malheureusement, ils sont rarement recherchés sur le marché du travail, selon mon expérience.

Joppe
la source
1

Je pense que souvent les gens mélangent des langages de programmation et des cadres / piles de technologie. Il est relativement facile d'apprendre une nouvelle langue, mais c'est beaucoup plus difficile avec les grandes technologies. Je conviens avec certaines réponses que le plus important est votre expérience globale en programmation / résolution de problèmes, mais je ne crois pas que quiconque puisse COMPRENDRE une technologie totalement nouvelle en une semaine.

Bien sûr, une grande partie des développeurs n’ont jamais lu un seul livre technique et n’ont pas compris les éléments constitutifs des technologies qu’ils utilisent. Ils se débrouillent pour sortir des problèmes et réussissent très bien. J'ai moi-même commencé une carrière dans PHP sans même comprendre comment fonctionne HTTP au début. Mais certains employeurs, que je respecte le plus, s'attendent à une compréhension profonde de "comment ça marche", tout simplement parce que cela tend à augmenter les chances de succès de leurs projets.

Le moins que vous puissiez faire pour acquérir cette compréhension est de lire quelques bons livres avec suffisamment de temps pour mettre au point des solutions aux problèmes courants dans un nouvel environnement de développement inconnu. Est-il possible de le faire en une semaine? J'adorerais travailler avec des personnes capables, mais je n'espère pas voir de telles personnes de si tôt.

Certains employeurs sont en fait prêts à vous donner suffisamment de temps pour acquérir cette compréhension, en respectant votre profonde expérience technique dans d’autres piles de technologie (le cas échéant), mais malheureusement, la plupart ne le sont pas.

En outre, lorsque vous modifiez les technologies, le plus important est votre personnalité: quelle humilité et quelle curiosité devez-vous passer suffisamment de temps pour comprendre comment les choses fonctionnent et dans votre nouveau domaine.

Donc, pour résumer, ma réponse serait la suivante. Choisissez une technologie qui a assez de potentiel et qui (surtout) vous rendra heureux dans votre travail. Spécialisé dans cette technologie, le marché du travail le valorisera et les quelques années nécessaires pour obtenir votre salaire cible en vontudront la peine. Mais ne soyez jamais trop zélé, passez du temps avec d’autres technologies, cela vous fera un bien meilleur PROFESSIONNEL dans son ensemble.

Konstantin
la source
1

Je suis d'accord avec Joel. Mais sa réponse dépasse les compétences techniques et les préférences.

D'après mon expérience, ce sont généralement les exigences de votre travail qui vous orientent vers une technologie ou un langage de programmation spécifiques, et non ce que vous souhaitez utiliser. sauf si c'est une startup qui n'a pas encore défini ce qu'elle va utiliser. Et personne ne peut garantir que vous trouverez un travail / une entreprise utilisant exactement ce que vous recherchez.

La vraie question est donc la suivante: êtes-vous doué pour apprendre de nouvelles choses? pouvez-vous résoudre un problème et le résoudre rapidement, quel que soit le langage de programmation?

Un bon programmeur doit bien connaître la construction de logiciels et les concepts de génie logiciel. Votre question me fait penser que vous n’avez pas investi suffisamment de temps pour les apprendre, ce qui vous rend probablement incertaine de vos compétences et de vos potentiels réels. Et honnêtement, si vous ne l’avez pas fait, c’est à peu près le moment, car sans cela, vous n’irez probablement pas loin.

Il y a une autre chose à laquelle la plupart des programmeurs ont tendance à ne pas s'intéresser avant l'âge de 30 ans: les compétences en programmation ne représentent que la moitié des compétences qui font d'un bon programmeur. Êtes-vous un bon joueur d'équipe? Êtes-vous disposé à transmettre des connaissances à vos collègues aussi volontiers que vous (ou devriez être) recevoir des connaissances d'autres personnes? Les compétences humaines sont largement sous-estimées par beaucoup d’entre nous, alors qu’elles sont en réalité très importantes.

mspir
la source
1

Je ne suis pas d'accord avec la plupart des commentaires figurant sur ce forum.

Outre l'apprentissage des principes et de la théorie du génie logiciel, la langue que vous choisissez de maîtriser est un choix de carrière. C'est pourquoi il existe des programmeurs Java et des programmeurs PHP. Les programmeurs PHP ne travailleront probablement pas pour la NASA et les programmeurs Java ne travailleront probablement pas pour une boutique en ligne.

Si vous voulez un emploi dans les entreprises américaines, vous feriez mieux d’utiliser Java / .Net. Un bon revenu vous permet d’entrer mais soyez prêt à leur donner votre vie (en termes de temps).

Si vous voulez être un pigiste indépendant et vivre dans la voie rapide avec la technologie Web, vous êtes mieux avec PHP. Il y a beaucoup de travail ici, mais le salaire varie énormément et être indépendant, c'est travailler avec chaque Tom, Dick et Harry avec une idée pour vous engager pour des sous.

Il existe un certain chevauchement avec PHP et Java, mais uniquement dans les travaux d’entreprise (services REST Java avec interface frontale PHP), mais vous ne trouverez pas de boutiques en ligne ni de travail indépendant indépendant près de Java.

Les deux nécessitent beaucoup de temps et de dévouement si vous voulez être utile dans une situation donnée.

Pour être un développeur PHP compétent et recherché, vous avez besoin d'un sac rempli de compétences. Il est probable que vous êtes censé connaître CSS, HTML4 / 5, et plus certainement Javascript DOM / Ajax / Jquery, et au moins un framework viable tel que Zend (choix du testeur de l'entreprise en Amérique), Codeignitor, cakePHP, etc., puis vous Vous devez connaître les "trois grands" CMS: Drupal, Wordpress et Magento. Mettez ces compétences à votre portée et vous serez un spécialiste de PHP capable de travailler n'importe où. Comme vous pouvez le constater, assimiler tout cela à un langage est une passion et un outil, car l'apprentissage de Perl ne vous aidera pas à devenir un expert en développement Drupal ou Zend.

Il en va de même pour Java: POO, J2EE, REST / SOAP, Spring / Struts, etc. et sa flotte d’autres outils qui prennent des années à maîtriser.

Est-ce que quelqu'un ici a essayé de coder Java pendant un an, puis est retourné à PHP (ou à un langage de script)? C'est difficile. Ça fait mal à l'aise.

Je travaille pour une entreprise du groupe Fortune 500 et les développeurs Java ne seraient pas en mesure de faire ce que font les développeurs PHP et les développeurs PHP ne pourraient pas faire ce que les développeurs Java font. Mais ils ont tous les deux de bonnes finances car ils sont des spécialistes de leur domaine, de la langue de leur choix et de la panoplie d'outils qui l'accompagnent.

codeur3
la source
0

La langue et la plate-forme ne sont pas si importants. Apprenez des personnes solides et des compétences en science-fiction. Beaucoup de gens ont dit cela mais n'ont pas donné de détails, alors laissez-moi faire. Voici quelques choses à apprendre

  • algorithmes et structures de données.
  • concurrence
  • apprentissage automatique
  • programmation au niveau des systèmes
  • recherche d'informations et moteurs de recherche
jshen
la source