Maison  >  Article  >  Planification de carrière de programmeur PHP : comment devenir rapidement un talent technique indispensable ?

Planification de carrière de programmeur PHP : comment devenir rapidement un talent technique indispensable ?

PHPz
PHPzoriginal
2018-07-11 11:38:568656parcourir

Avant-propos : L'apprentissage du PHP est-il dépassé ? Comment les développeurs PHP peuvent-ils se développer rapidement ? Comment réaliser une planification de carrière ? En particulier, l'intelligence artificielle, l'apprentissage automatique, la technologie blockchain, etc., qui ont été très populaires ces dernières années, amèneront certaines personnes à suivre aveuglément la tendance et à se perdre. Ce qui suit est un article rédigé par l'expert PHP basé sur Wei Yongqiang. sur ses nombreuses années de travail PHP. L'expérience apporte des réflexions sur PHP et la planification de carrière, j'espère que cela pourra inspirer les internautes du site Web PHP chinois !

À propos de l'auteur : Wei Yongqiang s'est engagé dans le développement et l'architecture d'applications d'entreprise avec des millions de visites, et a participé au développement du produit financier Zhubajie. Système financier Bajie, support Zhubajie BOSS développement du système et AVIC Responsable de l'architecture et du développement du système d'événements en temps réel lors de la conférence de presse immobilière à Chongqing, et responsable de l'architecture et du développement de la plateforme marketing Yongchuan Wanda WeChat. Consultant technique en architecture de projet de Chongqing Yirongde E-Commerce Co., Ltd. J'aime jouer avec diverses nouvelles technologies et explorer.

Merci d'avoir cette opportunité de parler des choses des développeurs avec tout le monde et de partager votre expérience et votre compréhension avec les internautes du site Web chinois php.

En fait, la crise des programmeurs est un réel problème. Certains disent aussi que c'est le déclin de l'industrie Internet ou que l'industrie Internet a dépassé le courant dominant, etc. Ce dont je parle principalement ici, c'est de la crise des programmeurs PHP, et l'essentiel de cette crise vient de la riche variété de langages et du choix de langages de l'entreprise.

Surtout l'intelligence artificielle, l'apprentissage automatique, etc., qui ont été très populaires ces dernières années, et le python, qui est devenu populaire. Cela incitera quelque peu certaines personnes à suivre aveuglément la tendance. En fait, les ingénieurs de développement doivent avoir un objectif clair pour l’expansion et la transformation de leur propre système de connaissances. Suivre la tendance est une chose plus dangereuse, et la transformation est différente de jeter tout ce que l’on possède. Je veux discuter de la façon de choisir à travers la naissance des programmeurs et la croissance des programmeurs.

Planification de carrière de programmeur PHP : comment devenir rapidement un talent technique indispensable ?

Je vais l'expliquer sous les aspects suivants :

Situation actuelle du programmeur PHP ;

Quelles sont les causes de la stratification des programmeurs ;

Exigences auxquelles les ingénieurs seniors doivent répondre ;

Comment les programmeurs peuvent croître rapidement

Programme PHP La transformation qui les membres désirent;

Informations essentielles, le parcours de transformation dont vous avez besoin

Résumé.

La situation actuelle des programmeurs PHP

À ce stade, la plupart des programmeurs PHP sont relativement confus. Les PHP intermédiaires ont du mal. Je veux m'améliorer grâce à l'apprentissage, mais je me retrouve souvent dans une situation de poursuite de cette technologie aujourd'hui et de poursuite de cette technologie demain La plupart des PHP expérimentés ont leur propre système de connaissances, dont une partie se trouve dans le. architecture.

Il est très important pour les programmeurs de comprendre leur propre secteur, qui est la planification de carrière. C’est une question difficile, car pour planifier votre carrière, vous devez d’abord bien comprendre le secteur. Cela a beaucoup à voir avec la raison pour laquelle j'ai choisi de devenir programmeur en premier lieu.

D'une manière générale, s'il vous est difficile de survivre à la période d'entrée dans votre carrière de développement, cela peut signifier que vous n'êtes pas adapté à cette industrie. Si vous ne pouvez pas passer la période de transformation, vous ne réaliserez peut-être pas grand-chose ; .

L'entrée dans une carrière de développement est différente pour chacun. Certaines personnes s'intéressent à cette industrie et ont un objectif en tête. Même si elles n'ont pas de plan de carrière clair, elles auront au moins une idole dans ce domaine. Il y a aussi des gens qui entrent dans ce secteur après trois ou quatre mois de formation.

J'ai déjà analysé les données d'un établissement de formation (YMSD) du Chongqing Internet College. Parmi les étudiants qui sont entrés dans l'industrie après la formation, seuls 20 % ont continué à se développer dans ce poste après 2 ans. En d’autres termes, 80 % des étudiants dépensent de l’argent et du temps uniquement pour courir. Cela montre également que si nous entrons dans cette industrie, en plus d'espérer gagner beaucoup d'argent, nous devons également avoir des attentes en matière de développement futur.

De manière générale, les développeurs qui entrent dans l'industrie par le biais d'une formation auront des moments très difficiles au travail car ils n'ont pas d'objectifs systématiques en matière de parcours techniques, et ce qu'ils reçoivent dans les établissements de formation hors ligne est une imitation aveugle, ce qui est très manquant de capacité d’innovation. Et autant que je sache, les systèmes de formation de la plupart des établissements de formation hors ligne sont déconnectés de la scène de l’entreprise depuis au moins 5 ans. Par conséquent, ces programmeurs devraient travailler plus dur pour changer leur situation actuelle et clarifier leur situation.

Ce qui conduit à la stratification des programmeurs

La stratification des programmeurs est un problème très évident, qui se reflète directement dans le même type de programmeurs dans l'entreprise. Les postes varient considérablement ou les salaires et avantages sociaux sont très importants.

Quelle est la cause de cette superposition ?

La première raison est la vie professionnelle du développeur du programme.

En fait, l'expérience professionnelle n'est pas un facteur très important. En effet, lors d'entretiens précédents, nous avons rencontré de très bons développeurs qui n'avaient qu'un an d'expérience professionnelle. Mais lorsque vous utilisez un logiciel de recherche d'emploi, vous constaterez que presque toutes les descriptions de poste comportent un indicateur : les années d'expérience professionnelle.

Pourquoi y a-t-il ce truc ? Parce qu'il est très chronophage et énergivore pour les recruteurs d'entreprises de communiquer un par un avec de nombreux candidats, l'expérience professionnelle est le premier seuil.

Généralement, 1 à 3 ans d'expérience professionnelle constituent un niveau, et l'échelle salariale générale à Pékin est comprise entre 10 000 et 20 000

3 à 5 ans sont un autre niveau, et l'échelle salariale ; à Pékin, c'est 15 000 -25 000

5 ans et plus sont plusieurs niveaux ;

Bien sûr, ceux qui ont 1 à 3 ans d'expérience professionnelle peuvent également recevoir le même salaire que ceux qui ont 3 à 5 ans d'expérience professionnelle. Cela dépend principalement de la force, et notre chat discutera principalement de cette partie de. les facteurs.

Dans la section précédente, j'ai dit que les programmeurs sont grossièrement divisés en deux catégories : ceux qui sont issus d'une majeure et ceux qui sont devenus moine à mi-chemin. Je ne dis pas que ceux qui sont issus d'une majeure le seront certainement. être meilleur que ceux qui sont devenus moine à mi-chemin. Ce sont des choses complètement différentes. C'est juste qu'être issu d'une majeure signifie qu'il a un plus large éventail de connaissances, donc les autres devraient également se concentrer sur les connaissances et les compétences de base.

Dans ce Chat, je n'ai pas posé la question sur un langage en particulier, car en tant qu'ingénieur de développement, accorder trop d'attention au langage devient souvent une pierre d'achoppement pour soi-même.

Les gens qui recherchent une langue

Je rencontre souvent ce problème : en discutant avec des amis développeurs, la dernière fois que nous nous sommes rencontrés, ils ont dit qu'ils apprenaient technologie front-end Un mois plus tard, je me suis revu et j'ai dit que j'apprenais Python et que Python était toujours facile à utiliser. Lorsque nous nous sommes rencontrés un mois plus tard, il a dit qu'il étudiait la langue Go deviendrait certainement une tendance à l'avenir. J’appelle ce type de personnes des « chercheurs de langues ».

N'oubliez pas de suivre aveuglément une langue, car après avoir maîtrisé n'importe quelle langue de haut niveau, il est très rapide de s'initier à la grammaire, et la sémantique des langues actuelles est très conviviale, on apprend et contactez All très facilement. En fait, ce que nous devons le plus comprendre, ce sont les caractéristiques du langage.

Par exemple, de nombreuses personnes souhaitent apprendre l'apprentissage automatique et apprendre Python. Ensuite, nous devons réfléchir aux raisons pour lesquelles elles choisissent le langage Python, ainsi que le langage R, Java, JavaScript, C, C++, Scala, etc. Quels sont ses avantages ?

Pensez-y de cette façon. Lorsque l'entreprise sera confrontée à d'autres scénarios plus complexes que celui actuel, vous saurez quel type de langage et de pile technologique doit être utilisé pour résoudre de tels scénarios. Votre compréhension du développement s’élève à un autre niveau.

Les gens qui se divertissent

Il y a des gens qui ressentent un sentiment d'accomplissement en faisant la même chose encore et encore. Même si ce n’est pas une grosse erreur, cela nous fera stagner.

J'entends souvent les gens dire ceci : Notre entreprise a peu de choses à faire, et une fois qu'on les a terminées, on n'a plus rien à faire, ce qui est très ennuyeux. En fait, cela signifie qu'il a renoncé à la possibilité de devenir un meilleur programmeur. L'apprentissage est l'échelle du progrès. Même si votre entreprise n’utilise pas actuellement cette technologie, vous devriez utiliser votre temps libre pour l’apprendre.

En fait, la principale raison pour laquelle les programmeurs sont stratifiés est leurs habitudes d'apprentissage. Pourquoi dis-tu cela ? Parce que la cause la plus directe de la stratification est la connaissance, et que la formation des connaissances nécessite un apprentissage continu, et que l'efficacité de l'apprentissage est également essentielle. J'ai déjà entendu de nombreuses personnes se plaindre du fait que le directeur technique n'était pas aussi technique qu'eux. C'est également une manifestation des différences entre les programmeurs à deux niveaux. Parce qu'ils examinent les problèmes sous des angles différents, ils ne parviennent pas à comprendre la relation entre la résolution des problèmes et la fourniture de solutions.

Comment grandir rapidement en tant que programmeur

Nous discutons et présentons principalement des idées.

Le premier mot que nous voulons voir est croissance.

J'ai déjà coaché ​​un programmeur et il fait du développement depuis un an. Je lui ai demandé d'utiliser User-Agent pour déterminer si l'utilisateur avait accédé à WeChat, mais il m'a demandé ce qu'était User-Agent. Ne pensez pas que c’est ridicule. En fait, il y a beaucoup de gens qui ne savent pas pourquoi ? Parce qu'ils se concentrent uniquement sur leurs capacités CURD. Je ne dis pas que CURD est mauvais, c'est juste que CURD est tout simplement basique, comme comprendre User-Agent.

Il est très important que les développeurs comprennent la connaissance des réseaux informatiques. Tous les diplômés des filières informatiques ont étudié les réseaux informatiques. Peu importe si vous n'êtes pas un spécialiste en informatique. Vous devez comprendre certains des messages de requête http les plus élémentaires et la structure des messages correspondants. Ce sont les bases.

Lorsque j'étais mécaniste dans un établissement de formation auparavant, l'une des questions d'entretien que j'ai demandé aux étudiants de réciter était la différence entre les moteurs InnoDb et MyISAM de MySQL. Chaque fois que je voyais les étudiants répondre que l'un prenait en charge les transactions et l'autre le faisait. ne prend pas en charge les transactions, puis a regardé Quand le leader est si heureux qu'il veut sourire, j'ai envie de rire.

La prise en charge des transactions est une différence, donc je n'ai pas besoin de prendre en charge les transactions. Quel est le problème si j'utilise le moteur InnoDb ? Je pense donc que parler de points de connaissance en dehors de la scène est souvent la raison la plus directe pour laquelle les programmeurs sont classés dans la séquence inférieure.

Ce qui précède n'est qu'un exemple, qui montre simplement que l'apprentissage doit également être divisé en scénarios. Il en va de même pour l’apprentissage d’une langue. Nous devons réfléchir aux raisons pour lesquelles nous devrions choisir une nouvelle langue plutôt que la langue actuelle. Par exemple, pourquoi ne pas utiliser PHP pour le machine learning ? Peut-être qu'en parlant de ce problème, beaucoup de gens ont envie de rire : "PHP est le meilleur langage du monde" (parce que je l'aime, laissez-moi me faire honte).

Mais réfléchissons à nouveau sérieusement à cette question, s’il vous plaît, réfléchissez-y. De nombreuses personnes qui étudient l'apprentissage automatique sont également poussées par cette tendance. D'autres apprennent Python pour le faire, donc je veux aussi apprendre Python. Bien sûr, la vie est courte et votre choix d’apprendre Python n’est pas faux. De nombreux programmeurs C, C++ et Java recherchent Python. Article de référence : Si vous débutez dans le développement web, lequel devriez-vous apprendre, php, python ou ruby ​​?

Citant une phrase que d'autres disent souvent : « Il y a quelques années, un groupe de personnes s'est plaint que Java allait mourir, mais Java est-il mort ? Arrêtez de vous soucier des langages ? est Sélectionner la langue.

Bien sûr, sur les sites de recrutement, les types de langages que les entreprises ont besoin que les programmeurs maîtrisent sont également les orientations d'apprentissage de certains programmeurs. Les entreprises prennent en compte de nombreux facteurs lors du choix d'une langue, notamment la langue utilisée dans les projets précédents, les coûts de migration, les coûts de formation du personnel, les coûts du matériel linguistique, les coûts de communication du personnel et, plus important encore, si elle peut résoudre le problème actuel rencontré et combien de temps. prend pour les résoudre.

Une croissance donc rapide nous oblige à explorer de manière indépendante les détails techniques dans différents scénarios, et nous devons avoir une forte capacité d'apprentissage.

La transformation que souhaitent les programmeurs PHP

Le point de vue de mon collègue est le suivant : Il existe deux directions pour la transformation et le développement des programmeurs PHP La première est Pour un développement back-end plus approfondi, vous pouvez vous familiariser avec le langage Go ou Java et trouver une entreprise liée à ces langages. Par exemple, lors du développement PHP, peu de personnes comprennent les problèmes tels que l'asynchrone, la coroutine et le multithreading. L'autre consiste à se tourner vers le front-end. Le front-end est également un domaine très compétitif, et le front-end n'a pas moins besoin d'apprendre que le back-end.

Certaines personnes peuvent dire que je veux être un ingénieur full-stack. Mes collègues et moi sommes d'accord sur le fait que nous ne devrions pas être un ingénieur full-stack qui sait tout mais ne comprend pas tout en profondeur.

Bien sûr, je tiens à saluer ces programmeurs qui ne sont pas très sûrs de leur sécurité. PHP n'est pas mort.

À l'heure actuelle, Sina, Shenma Search, Baidu et d'autres sociétés utilisent toutes PHP et ont créé des postes PHP, sans parler des petites entreprises. Dans les petites et moyennes entreprises, à court terme et rapides, PHP reste le premier choix. Car la caractéristique initiale de PHP est le développement rapide des applications réseaux. Il n’est pas impossible pour vous d’étudier d’autres langues, mais n’oubliez pas de construire lentement des bases solides. Ne laissez pas votre système de connaissances devenir un gros homme gonflé.

De plus, peut-être que chaque programmeur souhaite investir rapidement dans l'intelligence artificielle et l'apprentissage automatique. Si vous souhaitez toujours devenir codeur dans ce domaine, vous pouvez apprendre de divers didacticiels de documentation sur Internet. Il existe également de nombreuses API fournies au monde extérieur, telles que TensorFlow. Si vous souhaitez évoluer dans ce domaine, vous devez d'abord comprendre ces algorithmes classiques.

Informations essentielles, le parcours de transformation dont vous avez besoin

Selon le niveau de produit auquel les programmeurs développent leur travail, les programmeurs sont divisés en deux catégories, à savoir front ingénieurs finaux et ingénieurs backend. Il existe désormais davantage de classifications pour les ingénieurs de développement. Je partagerai avec vous deux catégories : front-end et back-end.

C'est en fait une bonne chose que PHP soit dans une position étrange. Certaines personnes disent que PHP est un langage front-end, et d’autres disent que PHP est un langage back-end. Cette limite n'est pas si évidente. Nous disons généralement que le langage qui résout le travail de la couche de présentation est un langage frontal. Cela dépend principalement du niveau de problèmes que PHP est utilisé pour traiter.

PHP devrait déjà vous fournir ces connaissances avant même de penser à faire le changement.

Le premier est la compréhension du modèle MVC. Ce n'est pas difficile, mais vous devez savoir comment développer à partir de ce point de départ. Par exemple, MVVM, modèle MVP, etc., vous devez être capable de comprendre la différence entre eux, mais la théorie est souvent une chose relativement simple, alors n'oubliez pas de la comprendre en conjonction avec la zone du projet.

Une autre connaissance qui doit être maîtrisée est la requête et la réponse http. En fait, c'est cette connaissance que nous utilisons mais beaucoup de gens ne la comprennent pas. Par exemple, nous utilisons souvent le mode développeur du. navigateur sur lequel cliquer dans Réseau Pour une certaine demande, vous pouvez afficher l'en-tête de la demande.

Comme indiqué ci-dessous :

Planification de carrière de programmeur PHP : comment devenir rapidement un talent technique indispensable ?Ensuite, il y a l'idée de l'orientation objet. Tout le monde a des opinions mitigées sur l'orientation objet, en particulier de plus en plus de gens sont intéressés. en programmation fonctionnelle respectée. En fait, les deux ont leurs propres avantages. Ce dont nous avons besoin, c’est de vraiment comprendre les avantages et les inconvénients de l’orientation objet. Espérons que PHP vous aidera à comprendre les différents types de variables et comment les utiliser.

Il existe quatre types scalaires en PHP, à savoir booléen, entier, flottant, chaîne ; trois types composites, à savoir tableau, objet, appelable deux types spéciaux, à savoir : ressource, NULL, bien sûr Quelques pseudo-types ; sont également fournis.

Si vous maîtrisez le contenu ci-dessus, cela vous sera peut-être plus facile sur le chemin de la transformation.

Parlons d’abord de la transformation du front-end.

Si vous souhaitez vous transformer vers le front-end, js doit être appris. Mais dans quelle mesure ? Dans quelle mesure vous devez apprendre js est également la question la plus déroutante pour tout le monde. Beaucoup de gens peuvent continuer à mâcher la syntaxe de js. Mais pour quelque chose comme js, qui a des points de connaissances très compliqués, si vous continuez à rester coincé dans la syntaxe, vous perdrez plus que vous ne gagnerez.

En fait, la chose la plus importante est la réflexion frontale. Après avoir maîtrisé certaines opérations de type de base de js, y compris le traitement des chaînes, des tableaux, des objets et json, vous pouvez consulter des frameworks tels que vue.js ou réagir. Il est recommandé de commencer avec vuejs, qui est relativement simple et facile à démarrer. Bien sûr, vous devez toujours comprendre l’utilisation de base du HTML et du CSS. Il est très important d'examiner les projets des autres pendant le processus d'apprentissage. Vous pouvez accéder à github pour rechercher des projets vue.js et voir comment d'autres les implémentent.

Une autre direction de transformation consiste à passer au développement côté serveur.

Vous devez choisir un langage de développement côté serveur plus couramment utilisé. Que ce soit Java ou Go, il existe de nombreuses autres options. Dès le début, les programmeurs ayant des connaissances de base ne doivent pas partir d'une base épaisse de grammaire, car ce processus prend beaucoup de temps. Après avoir compris la grammaire la plus élémentaire, vous pouvez commencer à choisir un cadre pour apprendre, trouver des problèmes pendant l'apprentissage, puis revenir à l'apprentissage de la grammaire.

Il y a tellement de choix ici, je n'entrerai pas dans les détails, je vous donne juste une suggestion.

De nombreux programmeurs sont plus optimistes quant au langage go. En effet, le langage go est plus simple que les autres langages, fiable en ingénierie et possède des normes de développement naturelles qui apportent des avantages au développement de serveurs. En Chine, Qiniu Cloud utilise le langage go depuis longtemps, et maintenant de nombreuses grandes entreprises ont commencé à utiliser le langage go pour résoudre certains problèmes.

En raison des avantages de l'intelligence artificielle et de Python, de nombreuses personnes empruntent la voie Python, mais si vous empruntez la voie Python, soyez prêt à aller dans le sens de l'exploration, du traitement et du calcul des données. Le choix de la langue est une question d'opinion. La base la plus simple est d'examiner les besoins de l'entreprise.

Il y a beaucoup de connaissances que vous devez connaître pour approfondir le développement côté serveur, comme l'optimisation des performances. De nombreuses personnes ont mentionné que Redis était utilisé comme cache. C'est le problème du scénario commercial que j'ai mentionné plus tôt. Cela signifie que le scénario commercial que vous comprenez est trop unique, ce qui entraîne une connaissance insuffisante.

Bien sûr, il y a aussi la question du mécanisme de communication. Je pense que beaucoup de gens ne connaissent pas ces technologies MQ, Cron, RMI et RPC. Je ne les liste pas pour vous demander d’acheter immédiatement quelques livres et de les étudier. N'oubliez pas qu'avant de vouloir apprendre une technologie, vous devez d'abord créer un scénario.

Ce dont les programmeurs ont le plus besoin, et ce qui manque le plus à chaque programmeur, c'est la communication. Chacun a besoin de communiquer davantage et d'échanger des opinions avec d'autres programmeurs, ce qui est très propice à son propre épanouissement.

Résumé

L'industrie Internet n'est pas une industrie dans laquelle vous pouvez vous asseoir et vous détendre après y être entré. Vous devez continuer à apprendre et à vous améliorer.

Les programmeurs potentiels qui souhaitent se lancer dans cette industrie ne doivent pas se décourager, il faut trouver la bonne méthode et la bonne approche. De nombreux établissements de formation hors ligne sont inégaux, veuillez donc choisir avec soin. Si vous n’arrivez pas à trouver des informations sur Internet, il y a quelque chose qui ne va pas. Les ressources en ligne étant désormais très développées, il est relativement facile de trouver des informations.

Les programmeurs PHP n'ont pas besoin d'avoir un grand sentiment de crise dans le langage lui-même.

La clé d'une croissance rapide est d'avoir une bonne compréhension de soi et de ne pas suivre aveuglément la tendance. Faites attention à l'apprentissage basé sur des scénarios, soyez capable de réfléchir et de résoudre les problèmes rencontrés dans les scénarios, et de résoudre ou d'optimiser les goulots d'étranglement. Ce processus est également un bon processus d’apprentissage.

Enfin, merci encore au maître PHP Wei Yongqiang pour le partage !

[Recommandations associées]

1. Évitez les détours, un vieux programmeur parle de planification d'évolution de carrière PHP

2. 34 ans est-il un obstacle pour les programmeurs ? Parlons de l'avenir des programmeurs plus âgés

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn