L'apprentissage du code est sans fin, comment les programmeurs planifient-ils leur développement de carrière ?

thèmes des tables rondes


  • Thème 1 : Depuis que l'open source est inscrit au plan national depuis 2020, les projets open source se multiplient. L'émergence de projets open source permet à chacun d'apprendre et de comprendre en profondeur le projet de mise à niveau. Du point de vue de l'apprentissage, comment un développeur s'implique-t-il dans un projet et prend-il connaissance d'un projet ?
  • Sujet 2 : L'orientation principale du projet open source CloudWeGo est le framework de microservices cloud natif. Quels sont les principaux scénarios d'utilisation de tels projets ? Quelle est la valeur de l'apprentissage de ce type de projet? Quelle est l'expérience de la communauté mixte ?
  • Sujet 3 : Quelle est la différence entre les rôles des programmeurs en tant qu'utilisateurs de projets et les rôles des développeurs en tant que concepteurs de projets open source  ? En tant que Community Committer qui a traversé ce genre de transition de rôle, quelles leçons pouvez-vous partager ?
  • Sujet 4 : Du point de vue de la communauté et de la situation globale, expliquez pourquoi les grandes usines recrutent des ingénieurs Go ? Comment les programmeurs devraient-ils planifier leur développement de carrière ? Où est la destination finale des programmeurs ?
  • Sujet 5 : Dans la session de partage des grands, blogueurs/sites d'apprentissage technologique/livres recommandés par les grands.

invité


Numéro un


Depuis que l'open source est inclus dans la planification nationale depuis 2020, il y a eu de plus en plus de projets open source. L'émergence de projets open source permet à chacun d'apprendre et de comprendre en profondeur le projet de mise à niveau. Du point de vue de l'apprentissage, comment un développeur s'implique-t-il dans un projet et prend-il connaissance d'un projet ?

Partagé par : Wang Weichao


L'introduction sur cette question s'effectue principalement à partir des quatre aspects suivants :
  1. Comment se connecter aux communautés Kitex et CloudWeGo ;
  1. Connaissance personnelle de la culture cloud native et open source ;
  1. Pourquoi participer à l'open source et à l'esprit de l'open source tel que je le comprends ;
  1. Réflexions personnelles futures sur l'open source.

Comment se connecter aux communautés Kitex et CloudWeGo

En fait, la relation avec Kitex est très fortuite, même si j'ai fait du développement back-end pendant plusieurs années, j'ai l'impression qu'il y a encore des goulots d'étranglement dans la technologie, donc je veux m'améliorer. Retour sur mon expérience passée :
  • En septembre 2021, j'essaierai de faire de la sortie dans InfoQ, et le challenge sera mis à jour dans la journée, et ce sera plus de traduction ;
  • Fin octobre, j'ai décidé d'apprendre une technologie spécifique, et j'ai découvert que j'en avais appris plus sur "Tao" et "Fa" auparavant, principalement sur la connaissance et la compréhension des concepts de programmation, et rarement sur les "compétences" et les "outils". " ;
  • Rappelant les paroles de Confucius : « Je goûte que je ne mange pas de la journée, je ne dors pas de la nuit, penser ne sert à rien, il vaut mieux apprendre », c'est-à-dire penser au niveau de la pensée et structure avant, mieux vaut apprendre quelques techniques spécifiques. Par conséquent, j'ai décidé de trouver un autre sujet et de partir des aspects qui m'intéressent, mais les sujets de Docker, du cloud natif, de la conception d'architecture et de la réflexion sur les microservices sont très chauds et très compétitifs, et il peut être difficile de démarrer et de faire mon posséder des choses pendant un certain temps;
  • Je me suis souvenu que Kitex, qui était juste open source, et certaines collections de middleware associées dans le projet CloudWeGo qui étaient juste open source devraient avoir moins d'informations et de pratiques, j'ai donc commencé la série "CloudWeGo Microservice Practice", et j'ai fait une petite collection, mais Je ne l'ai pas écrit complètement. , j'ai juste écrit sur les données d'exploitation, pas sur une pratique commerciale complète.
Pour moi personnellement, en apprendre davantage sur les frameworks de microservices est un excellent moyen de démarrer et, plus important encore, de pouvoir s'impliquer dans la communauté. Dans le processus d'apprentissage du cadre, j'apprends souvent les tendances pertinentes du groupe CloudWeGo Feishu, je jette un œil aux relations publiques ou aux problèmes liés à CloudWeGo, je fais attention à certains des derniers développements et je vois ce qui peut être fait par moi-même. Plus tard, j'ai principalement contribué à la découverte de services Kitex, aux composants liés à l'enregistrement de services, aux tests unitaires, etc.

Compréhension personnelle de la culture cloud native et open source

Alors, comment ai-je compris ou suis-je entré en contact avec la culture open source étape par étape ?
Cela remonte probablement à 2018-2019. A cette époque, je participais souvent à certains sommets technologiques, Meetup et autres activités à Shenzhen. L'ambiance technologique de cette ville est encore relativement bonne. A cette époque, il était évident que la virtualisation cloud-native et basée sur des conteneurs K8S devait être une tendance technique.A cette époque, en raison de mon intérêt pour Docker, j'ai accordé plus d'attention à ces domaines techniques connexes de K8S.
Enfin, par hasard, j'ai appris que la Linux Foundation, la Linux Open Source Foundation, aura des certifications techniques. A cette époque, je voulais saisir cette opportunité pour apprendre certaines technologies spécifiques, par exemple, ils ont lancé CKA et CKS, donc c'est aussi une sorte de canal d'apprentissage.
Non seulement cela, mais je prête aussi souvent attention à certains projets open source lancés par la fondation. À cette époque, lorsque j'apprenais K8S, j'ai parcouru des documents liés à K8S et j'ai mentionné certains PR pour leurs documents.C'est ma première exposition à l'open source.

Pourquoi s'impliquer dans l'open source et l'esprit de l'open source je comprends

  • En savoir plus sur les grands projets open source
Évitez d'être la grenouille dans le puits, sortez et voyez ce que font les autres. Par exemple : excellent codage, spécifications de code, modèles de conception, idées architecturales, etc., recherchez des exemples plus positifs et des meilleures pratiques, et élargissez les horizons techniques.
  • Le monde open source est un monde inclusif et ouvert
Vous pouvez découvrir, travailler avec et apprendre de plus en plus de personnes meilleures dans le monde sur Github. Comprendre leurs idées techniques, leurs façons de penser et leur planification de carrière vous inspirera également.
  • La co-construction, en partant petit à petit, l'intégration dans la communauté apporte un sentiment d'accomplissement
L'open source utilise souvent l'amour pour générer de l'électricité. La première étape de l'open source consiste à ouvrir le code, puis il est souvent piloté par la communauté pour conduire l'itération et l'évolution. L'essence et la signification de l'open source sont le niveau élevé de feu que tout le monde rassemble. Les éléments que nous apportons à la communauté peuvent aider de nombreux utilisateurs à résoudre des problèmes à l'avenir. C'est l'incarnation de la vitalité des projets open source et la source de notre sens de l'accomplissement.

Réflexions personnelles futures sur l'open source

Si possible, j'aimerais utiliser l'open source comme carrière à l'avenir. Les principales raisons sont les suivantes :
  • rêver
Je rêvais de pouvoir travailler à distance, de contribuer au code d'un produit open source ou de travailler dans une fondation.
  • prédicateur
Vous pouvez traiter avec des gens et des choses que vous aimez sans trop penser à la commercialisation et à l'introversion.
  • Plan d'avenir
L'idée actuelle ne sera peut-être pas réalisée du jour au lendemain, mais au moins elle a trouvé un point d'entrée dans CloudWeGo, en espérant mieux contribuer à la communauté. Du point de vue de la série de mises en page dynamiques et stratégiques de ByteDance, CloudWeGo sera certainement en mesure de réaliser des projets open source plus influents dans le domaine des microservices Go à l'avenir.
Enfin, je voudrais partager un passionné de l'open source, je pense que c'est une personne très représentative et geek. Il s'appelle Su Yeqin. Il est pédiatre dans le Yunnan, mais il est en fait un joueur Linux à ses heures perdues. Si cela vous intéresse, vous pouvez en savoir plus.
Enfin, j'espère que tout le monde pourra trouver du plaisir dans le monde du code !

Partagé par : Yang Wen


Concernant cette question, partant de mon expérience actuelle, je la partagerai sous deux aspects :
  1. l'angle de le faire vous-même ;
  1. La perspective de participer au projet.

faites-le vous-même

Faire de l'open source par vous-même n'est en fait pas très dur, comme un Repo comme Go Night Reading.
Go Night Reading a actuellement 1W+ étoiles sur Github. En fait, le nombre d'étoiles en lui-même ne représente rien. Il représente plus une expérience. De ce point de vue, je pense que la référence du nombre d'étoiles nous aide à comprendre l'open source . , ou plutôt c'est le retour d'expérience qu'apporte l'open source.
  • Clarifier l'importance du fonctionnement des projets open source
Qu'il s'agisse d'un projet très dur ou d'un composant de base, ou d'un contenu qui peut résoudre des problèmes pratiques et aider tout le monde à apprendre et à grandir, nous devons nous demander si cette chose est utile et comment le faire. participation Un modèle d'open source. Si vous essayez de gagner des étoiles, cela pourrait être contre-productif. En fait, à mon avis, vous devez l'exploiter comme un projet open source. Ce que vous pouvez en apprendre ou comprendre l'esprit de l'open source et les retours positifs apportés par l'open source, c'est en fait beaucoup. Vous n'avez pas besoin faire attention au nombre d'étoiles.
  • Processus des besoins de développement de projet
  1. Au départ, le développement d'un projet open source peut être initié par une ou deux personnes. Dans ce processus, vous pouvez introduire des personnes intéressées par cet aspect, ou en aider d'autres tout au long de votre projet, puis attirer d'autres personnes, puis étendre progressivement l'échelle du projet. Peu importe le type de projet, c'est en fait le processus. Même les projets qui sont relativement matures et à grande échelle à ce stade, tels que Go Night Reading, TiDB de PingCAP et certains autres Go Repo, sont en fait réalisés de cette manière.
La première chose est de le faire, à un niveau que vous pensez n'être pas mauvais, puis de le promouvoir dans votre cercle d'amis ou votre communauté. Par exemple, CloudWeGo a en fait résolu certaines des exigences de la scène en résolvant réellement le problème, puis en l'ouvrant, puis en le développant progressivement étape par étape. Un événement comme le nôtre aujourd'hui aide en fait les gens de la communauté. Si le projet lui-même est précieux et dynamique, que vous soyez un chef d'équipe ou un participant, tant que vous le rejoignez, vous pouvez en fait apprendre beaucoup.
Ce qui précède consiste à partir de votre propre point de vue, à trouver un projet dans lequel vous souhaitez investir ou un problème douloureux qui doit être résolu pour vous, puis à continuer à itérer. L'or brille toujours, tout comme le projet. Tant que le projet est vraiment précieux, il sera toujours remarqué par plus de gens.

Participation à la perspective du projet

Une autre perspective est de participer à certains projets, mais vous devez faire un choix avant de participer au projet.Les critères de sélection peuvent faire référence aux trois aspects suivants :
  • peut résoudre votre problème. Ce sont les critères ou les critères pour juger de la façon dont vous choisissez le projet et participez au projet.
  • Déterminez le langage de développement. Le choix d'un langage de développement avec une couverture relativement large, qu'il s'agisse de construction de projet ou d'exploitation open source, sera plus systématique et standardisé pour éviter de marcher sur des fosses.
  • Le but de participer à des projets open source. Considérez l'influence des projets open source, si vous pouvez apprendre et gagner quelque chose et générer une partie de votre propre valeur pour le projet.
En ce qui concerne mon expérience, il est recommandé de choisir un projet open source plus complet et influent. En 2018, j'ai participé à TiDB et obtenu Contributeur Actif.Bien que la dimension de ma participation au codage en dur réel ne soit pas très profonde, il s'agit plutôt de participation. Beaucoup de choses doivent être investies afin de continuer à générer et produire votre valeur, et en même temps continuer à absorber les retours de la communauté à votre égard.
En bref, choisissez ce qui vous convient en ce moment et identifiez le type de personne que vous voulez être, le type de rôle que vous souhaitez assumer, puis trouvez des projets pour vous aider à atteindre vos objectifs en conséquence. En fait, participer à des projets open source doit aussi se faire en fonction de ses capacités, choisir un domaine qui correspond vraiment à soi et à ses intérêts, puis continuer à se cultiver dans ce domaine technique. Ce n'est que grâce à un investissement technique à long terme que nous pourrons vraiment avoir des résultats et des résultats relativement bons dans ce domaine, afin d'apprendre vraiment le noyau et de s'améliorer.

Partagé par : Li Long


En ce qui concerne la manière dont les développeurs peuvent participer à l'open source, je propose les trois méthodes de référence suivantes :
  1. Contribuer/résoudre les problèmes de la communauté en participant au First Good Issue ;
  1. A travers le combat réel (comparaison combat réel/performance du projet, etc.), trouvez les points qui peuvent être optimisés, résolvez et faites des retours à la communauté ;
  1. Lisez directement le code source.

Participer à la contribution de First Good Issue/résoudre les problèmes de la communauté

  • La communauté générale aura beaucoup de problèmes de backlog, et vous pouvez choisir quelques problèmes simples au début.
À l'origine, je faisais de l'open source à cause de l'écriture. Fondamentalement, tous les services Go à l'intérieur de Byte utiliseront Gorm comme ORM. Quand j'ai entendu parler de Gorm, j'ai découvert qu'il y avait en fait beaucoup de problèmes dans Gorm à cette époque, y compris un arriéré de plus de 100 maintenant. J'ai donc découvert que je pouvais m'impliquer dans l'open source en résolvant certains problèmes de la communauté.
Certains problèmes peuvent être des bogues d'utilisation, vous pouvez essayer de corriger ces bogues. En résolvant constamment des problèmes, je me familiarise progressivement avec le framework, et il y a des bugs simples à corriger, ce qui dure environ un à deux mois, et je connais fondamentalement ce framework.
  • Les communautés open source fournissent généralement des tâches novices de temps en temps, et tout le monde peut participer activement.
La communauté CloudWeGo envoie souvent des premiers bons problèmes, c'est-à-dire des tâches novices, et vous pouvez participer à la communauté en prenant des tâches novices. Les tâches novices que M. Weichao et moi avons d'abord effectuées étaient l'extension de la découverte d'enregistrement de service, certains services de démonstration, des exemples de services, etc.
Pour résumer, vous pouvez participer à l'open source en envoyant des problèmes dans la communauté ou en recherchant activement des problèmes vous-même. En revanche, Gorm lui-même a beaucoup de problèmes, et les étudiants intéressés peuvent choisir quelques problèmes simples pour y participer. CloudWeGo enverra régulièrement des tâches novices, et tout le monde peut participer activement.

Combat réel (comparaison de combat/performance de projet, etc.)

  • Modifiez l'exemple de démonstration sur le document pour faire part de vos commentaires à la communauté.
Certains développeurs peuvent regarder la démo sur le document et coller la démo à exécuter, mais constater qu'elle ne peut pas être exécutée après avoir collé directement, ou le document est écrit de manière incorrecte. Dans ce cas, vous pouvez modifier l'exemple de démo sur le document pour obtenir des commentaires la participation de la communauté à l'open source.
  • Effectuez des tests de résistance pour réduire les performances de différents frameworks.
Auparavant, certains étudiants aiment effectuer des tests de résistance pour comparer les performances de différents frameworks. Cette méthode doit garantir au maximum le principe d'équité et de clarté, comprendre le framework à l'avance et découvrir les points qui peuvent être optimisés et itérés après. le stress test, afin de contribuer à la communauté après optimisation .

Lire directement le code source

Bien sûr, vous pouvez également lire directement le code source, mais il est plus difficile et pénible pour Xiaobai de se lancer.
Ce qui précède sont trois façons de participer à l'open source. De plus, en termes de sélection d'objets, je suis plus enclin à étudier les projets que j'utilise habituellement, comme Kitex ou Gorm, ce qui me fera me sentir mieux.

Numéro deux


L'orientation principale du projet open source CloudWeGo est le framework de microservice natif du cloud. Quels sont les principaux scénarios d'utilisation de tels projets ? Quelle est la valeur de l'apprentissage de ce type de projet? Quelle est l'expérience de la communauté mixte ?

Partagé par : Li Long


Scénarios d'utilisation de CloudWeGo

Si vous souhaitez choisir un framework performant, flexible et pouvant répondre aux exigences de personnalisation internes, le framework de microservice fourni par CloudWeGo sera un bon choix. Le projet open source CloudWeGo a principalement les caractéristiques suivantes :
  • Haute performance (Netpoll / Sonic / Frugal etc.)
Par exemple, le Netpoll sous-jacent lui-même est une bibliothèque réseau hautes performances ; Hertz intègre une bibliothèque d'encodage et de décodage JSON hautes performances Sonic.
  • Fournit une multitude de capacités d'extension
Kitex et Hertz offrent tous deux de riches capacités d'extension. Par exemple, Kitex est comme l'extension de limitation de courant, l'extension Transport Pipeline-Bound, etc. Hertz lui-même a une forte capacité d'extension et peut répondre à des exigences de personnalisation plus personnalisées.
  • Interface API utilisateur optimisée
Certaines interfaces API conviviales sont fournies et elles ne sont pas particulièrement compliquées.

Apprenez les points de valeur de ce type de projet

  • Conception en couches du cadre d'apprentissage / quelques points de conception améliorés
[Exemple] La conception à quatre couches de Hertz n'a aucun couplage entre les couches et a une forte évolutivité.
  • Apprenez quelques conseils d'optimisation des performances pour le framework et élargissez vos horizons
[Exemple] Pourquoi les performances de Netpoll sont-elles bien supérieures à celles de la bibliothèque standard dans certains scénarios ?
Référence : https://juejin.cn/video/7046282096435789835
  • Performances du cadre de test de stress, discuter de l'échange et de l'apprentissage
De nombreux étudiants de la communauté aiment le cadre de test de stress, en particulier pour Kitex et Hertz, et ses deux référentiels Benchmark. Nous espérons vivement voir ces optimisations techniques de bas niveau et les discussions connexes dans la communauté, quelles que soient les différences entre les frameworks Kitex et Hertz et la manière dont ils sont utilisés. En testant et en comparant les performances de frameworks tels que Hertz, Fasthttp et Gin, vous pouvez vous concentrer sur leur amélioration et leur optimisation des performances, qui est une logique de profondeur technique de niveau relativement bas.

Partage d'expérience communautaire

  • Un bon cas : Contribuez à la communauté des frères en apprenant d'excellents points d'optimisation de la conception et des performances dans la communauté.
    • [Exemple] Discussion de @Halst sur l'ajustement de la taille dans shardmap · Discussion #306 · cloudwego/kitex , lancez des discussions dans la communauté et appliquez des emplacements excellents et apprenables à d'autres projets open source.
  • Un mauvais cas : quelques questions/évaluations vagues sur le cadre utilisé.
    • [Exemple] Commentaire classique : "Le design n'est pas très bon/le design est trop lourd", vous devez donner des raisons pour le design spécifique où le design n'est pas bon/trop lourd. Veuillez éviter ce cas à temps, et essayez de parler avec des données.

Numéro trois


Quelle est la différence entre le rôle du programmeur en tant qu'utilisateur du projet et le rôle du développeur en tant que concepteur de projet open source ? En tant que Community Committer qui a traversé ce genre de transition de rôle, quelles leçons pouvez-vous partager ?

Partagé par : Wang Weichao


Point de vue de l'utilisateur du projet

En tant qu'utilisateur de projet, tenez compte des points suivants lorsque vous envisagez des projets open source :
  • Si le projet open source sera maintenu en permanence ;
  • La documentation est-elle riche ?
  • si la communauté est active;
  • Si le projet actuel est disponible et facile à utiliser, et peut résoudre les problèmes techniques de l'équipe actuelle ;
  • Si l'endroit insatisfait peut être agrandi.

Point de vue du concepteur de projet open source

En tant que concepteur de projets open source, je considère principalement comment aider les utilisateurs à résoudre leurs problèmes mieux ou plus rapidement. En prenant le projet CloudWeGo comme exemple, comme résumé de la pratique interne de Byte, l'open source est d'aider plus de personnes à résoudre certains problèmes courants, donc les problèmes suivants peuvent être davantage pris en compte :
  • Accepter les commentaires des utilisateurs via les projets de maintenance et les problèmes courants qui ne sont pas couverts ;
  • Développer de nouvelles fonctionnalités ;
  • Si la maintenance du bogue est opportune ;
  • Pouvez-vous aider les utilisateurs à résoudre leurs problèmes plus rapidement ?
  • Maintenance et enrichissement continu des documents, tri des business cases.

Numéro quatre


D'un point de vue communautaire et mondial, expliquez pourquoi les grandes usines embauchent des ingénieurs Go ? Comment les programmeurs devraient-ils planifier leur développement de carrière ? Où est la destination finale des programmeurs ?

Partagé par : Yang Wen


Pourquoi les grandes usines recrutent -elles des ingénieurs Go ?

  • L'évolution du langage Go
Je pense que la raison importante du développement de Go est le développement de la direction cloud native, le domaine de la conteneurisation Docker, K8S incluant toute l'écologie de Grpc connectée en série, qui a conduit ou déclenché le développement de certains composants de base. Couplé à l'application du cloud natif et du K8S chez divers fabricants, cela a incité tout le monde à faire beaucoup d'infrastructures, de contrôle de flux, de services de suivi de liens distribués et l'open source de nombreux composants de base à l'avenir ont choisi le langage Go.
  • Caractéristiques du langage Go
Sur la base des fonctionnalités linguistiques de Go lui-même, faire ces choses est relativement bon. Le langage Go lui-même est performant et simple, avec de faibles coûts de commutation et de faibles barrières à l'entrée. En termes de base de langage, le langage C peut fondamentalement réaliser une connexion transparente. S'il s'agit d'un langage de script, il peut être relativement nécessaire de changer la façon de penser, mais les performances de go sont meilleures et la conversion de PHP en Go peut résoudre un gros problème de performance. De plus, Go est rapide à démarrer et la documentation officielle exécute la démo très rapidement, donc si vous voulez apprendre, ne vous inquiétez pas, il sera difficile de démarrer.
  • Scénarios d'application de grandes usines
En fait, les grandes usines auront un scénario d'application réel et la nécessité de résoudre les problèmes. Le langage Go peut rapidement démarrer et compléter des activités connexes, et sa vitesse rapide et ses bonnes performances répondent également à ses besoins commerciaux. Du point de vue de l'infrastructure, dans le passé, les grandes usines pouvaient utiliser C, C++ ou JAVA pour construire l'ensemble du lien. Un ensemble affectera l'efficacité. En comparaison, la mise en œuvre de Go sera plus rapide et plus efficace.

Développement de carrière de programmeur et destination finale ?

J'ai un point : la langue n'est qu'un outil pour résoudre des problèmes.
Voici quelques éléments à prendre en compte en matière de développement personnel et de cheminement de carrière :
  • Vous êtes bon en langue, et vous souhaitez faire des efforts en profondeur technique ?
  • En combinaison avec votre entreprise, souhaitez-vous améliorer vos capacités commerciales, vos qualités relationnelles personnelles et vos capacités de gestion ?
  • Utiliser la technologie pour résoudre les problèmes commerciaux et apporter de la valeur commerciale ?
D'un point de vue personnel, si vous souhaitez vous intéresser au développement de carrière, vous ne pouvez pas seulement regarder votre pile technologique ou vos points techniques, mais ce dans quoi vous êtes bon, et dans votre période de temps prévisible, vos forces et Dans le direction que vous souhaitez développer, combinez-la avec votre emploi actuel et précisez vos besoins.
La dimension de valeur apportée par Go n'est qu'un outil de langage qui peut vous aider à franchir le seuil ou vous aider à résoudre des problèmes. Le développement de carrière personnelle dépend principalement de votre poste actuel et de votre valeur. Que Go soit utilisé pour les affaires ou pour l'infrastructure et le contenu de bas niveau dépend de votre propre domaine ou de vos besoins professionnels.C'est juste un outil linguistique qui peut répondre à vos besoins de développement professionnel.
De plus, je comprends actuellement que le travail des ingénieurs go est quand même plus orienté business, ou les fonctions produit sont plus, et il y en a relativement peu dans l'infrastructure ou le fond. Les grandes usines devraient également avoir plus d'activités ou de produits, mais la demande pour d'autres aspects tels que l'infrastructure peut augmenter progressivement.
Les applications Aftership Go sont principalement du côté commercial, et certaines d'entre elles auront une certaine relation avec le cloud natif ou l'infrastructure, mais elles n'ont pas couvert un large éventail, ou ont un département d'architecture spécial comme Byte pour faire la construction de l'infrastructure du Go écosystème. Il n'y en a pas encore, selon le stade de développement de l'entreprise, il peut encore être nécessaire et développé pour ce faire.

Numéro 5


Dans la session de partage des grands, les blogueurs/sites d'apprentissage technologique/livres recommandés par les grands.

Partagé par : Li Long


Raison recommandée :
  • Conception d'applications gourmandes en données
C'est un livre particulièrement classique, qui couvrira quelques problèmes rencontrés dans tous les aspects du processus de développement, et qui est relativement complet.
  • "Auto-culture du programmeur : liaison, chargement et bibliothèques"
Le contenu sera lié à un niveau relativement bas, comprenant principalement la liaison, le chargement, la compilation, etc.
  • Classeur Google SRE
Non seulement la SRE est à surveiller, mais aussi la R&D.
  • "Modèles de conception d'architecture de microservices"
Certains des problèmes que vous rencontrez lors du développement de microservices, vous obtiendrez ici des solutions pour votre référence.

Partagé par : Yang Wen


Raison recommandée :
  • "Mini-habitudes"
Il est plus orienté vers les individus, à partir des dimensions de l'esprit et de la pensée personnelle du développement de micro-habitudes. L'idée des mini-habitudes est d'imaginer une très petite dimension que vous pouvez atteindre quoi qu'il arrive, sans le fardeau. Le concept que je veux exprimer dans le livre est que souvent, faire des choses est principalement une question d'action. Pourquoi les habitudes sont-elles si difficiles à former ? L'essentiel est que vous pensiez que c'est un fardeau, affectant votre travail et votre vie normaux, perturbant votre rythme, vous ne pouvez donc pas le faire. Alors commencez petit. Prenez un certain temps et utilisez une petite action pour vous retenir afin de prendre progressivement une habitude, et enfin réaliser votre rêve ou atteindre votre objectif.
  • "Nouvelle décennie bouillie"
La raison pour laquelle ce livre est recommandé est qu'il y a beaucoup d'amis qui viennent d'obtenir leur diplôme. Bien qu'ils connaissent l'Internet mobile, il peut y avoir beaucoup de choses qu'ils ne connaissent pas très bien, ou ils ne savent pas grand-chose sur les dix- année (2010-2020) développement d'Internet. Au cours des dix dernières années, quel type d'entreprises ou d'applications y a-t-il eu ? Quelles sont les applications mobiles et comment ont-elles évolué ? Quels problèmes et changements avez-vous rencontrés dans ce processus ? Ce livre vous expliquera plus en détail.
  • Légendes Salesforce
Ce livre est lié au ToB SaaS dans mon secteur actuel. Salesforce est un leader, ou plutôt un pionnier, dans le secteur de la vente SaaS. Ce livre est une introduction à l'ensemble du processus de Salesforce, depuis sa création jusqu'à son développement et sa croissance progressifs. Il s'agit d'un historique de la croissance de Salesforce. Ce livre a un grand rôle de guide pour l'industrie SaaS. Comment arriver à quelle étape étape par étape, quelle méthode peut être adoptée ou quelle étape va-t-elle traverser, il devrait encore y avoir beaucoup de compréhension du SaaS dans cette industrie. utile.

Partagé par : Wang Weichao


  • liste de livres
Ma recommandation de liste de livres est en fait plus encline au niveau de "Tao". "Tao" signifie que beaucoup de ces livres sont une réflexion sur l'architecture ou le codage et la programmation. Il y a une petite explication orientée objet dans "The Future of Code" par le père de Ruby Matsumoto Yukihiro qui m'a beaucoup impressionné. Le livre explique pourquoi notre codage et notre programmation actuels devraient être orientés processus vers objets. Quels sont ses avantages ? Quel est l'arrière-plan ? Vous pouvez jeter un oeil si vous êtes intéressé.
  • Blog
Programmation confessionnelle, Geek Tutu, ces deux-là sont des blogs plus typiques. L'un est pour la couche inférieure de la conception orientée Go, et l'autre est pour la mise en œuvre de certains frameworks et middleware pour le codage Go. La lecture de nuit Go est plus complète, si vous voulez en savoir plus sur la pile technologique de Go, vous pouvez en apprendre davantage.
  • compétence douce
C'est en fait un gros sujet. En termes de soft skills en milieu de travail, comme le développement agile, de nombreuses entreprises les proposent maintenant.En tant que développeurs, nous pouvons également en apprendre davantage sur la norme ou la meilleure pratique, comment le développement agile doit être fait. Il y a aussi la communication et le retour d'expérience, chacun a son succès, et tout a un écho… Ces compétences de communication nécessitent également l'attention de tous.

Questions et réponses

Q : Qu'en est-il de l'évolution d'une partie de l'architecture globale du langage Go ? Principalement pour soutenir quoi ?
R : Il s'agit principalement de problèmes de performances et d'un certain développement commercial. Pour certains scénarios dans ByteDance, le réglage du framework est principalement destiné à l'optimisation des performances. Par exemple, pour le cadre, la perte globale de transmission est un coût réel sur la base d'une accumulation à grande échelle, de sorte que certaines pertes de nos coûts peuvent être réduites en optimisant les performances. Pour cette raison, ByteDance, y compris CloudWeGo, a continué à progresser dans le domaine des performances afin d'atteindre l'état optimal. En même temps, j'espère accorder plus d'attention à cet aspect de la technologie et j'espère que certains cadres de performances extrêmes pourront être obtenus ici, y compris certains étudiants qui connaissent des performances extrêmes, continueront à prêter attention à nos projets.
 
Q : Quels sont les besoins et les exigences des grands fabricants en matière d'ingénieurs Go ?
A: L'aspect commercial actuel du recrutement d'ingénieurs Go par Dachang sera plus important. Une autre partie consiste à créer le contenu de l'infrastructure, principalement pour le cadre de base, et à ajuster globalement ses performances. Le langage impliqué dans cette partie sera plus dur, et vous pouvez non seulement utiliser Go, mais aussi être très familier avec le cœur de Go, y compris l'écologie du langage et la logique sous-jacente, puis optimiser les performances des frameworks associés. .
Combiné avec le statu quo du cloud natif, il est actuellement dans un état de développement dans l'industrie. De nombreuses entreprises sont au stade de la transformation du cloud, et ce processus prend un certain temps et peut ne pas pouvoir être migré dans lieu à la fois. Dans cet état, beaucoup de logique et d'opérations d'arrière-plan seront en fait impliquées, de sorte que l'ajustement et l'évolution de l'architecture peuvent également être une orientation de carrière pour le développement ultérieur des ingénieurs Go. Selon le stade de développement de différentes entreprises, après que davantage d'entreprises se développent à l'avenir, elles peuvent augmenter la demande de construction d'infrastructures, promouvoir et entretenir leur propre infrastructure, et donc la demande d'ingénieurs en langage Go augmentera également en conséquence.

Plus d'information

{{o.name}}
{{m.name}}

Je suppose que tu aimes

Origine my.oschina.net/u/4843764/blog/5567708
conseillé
Classement