Sona Avetyan À propos de JavaScript et de ses frameworks les plus utilisés
Publié: 2022-10-06Dans le monde de la technologie, nous pouvons tous trouver des réponses à nos questions en un clic. Cependant, avez-vous déjà prêté une attention particulière au format de la source ? Aimez-vous regarder des vidéos, lire des articles, effectuer des recherches vocales ou vérifier à la première personne ? Par exemple, dans le développement de logiciels et l'industrie ITO, vérifier les entretiens et les histoires personnelles directement auprès de professionnels, tels que les développeurs de logiciels, les ingénieurs et les CTO, est l'un des moyens les plus interactifs et les plus fiables de se former. Les histoires personnelles et les expériences réelles rendent l'éducation plus applicable et mémorable.
Chez CodeRiders, nous avons une série d'entretiens avec nos développeurs de logiciels.
Dans le monde de la technologie, nous pouvons tous trouver des réponses à nos questions en un clic. Cependant, avez-vous déjà prêté une attention particulière au format de la source ? Aimez-vous regarder des vidéos, lire des articles, effectuer des recherches vocales ou vérifier à la première personne ? Par exemple, dans le développement de logiciels et l'industrie ITO, vérifier les entretiens et les histoires personnelles directement auprès de professionnels, tels que les développeurs de logiciels, les ingénieurs et les CTO, est l'un des moyens les plus interactifs et les plus fiables de se former. Les histoires personnelles et les expériences réelles rendent l'éducation plus applicable et mémorable.
Chez CodeRiders, nous avons une série d'entretiens avec nos développeurs de logiciels.
JavaScript est également en tête d'un autre rapport Statista en tant que langage de programmation le plus demandé par les recruteurs du monde entier.
Bien sûr, après ces chiffres, il est évident que les frameworks JavaScript seront également en tête de liste des frameworks web les plus utilisés au monde.
Selon Statista, en 2022, Node.js, React.js et Vue.js font partie des 10 frameworks les plus populaires parmi les développeurs de logiciels du monde entier.
Dans cet esprit, commençons notre conversation avec Sona Avetyan, développeur de logiciels complets de CodeRiders.
Salut Sona. Merci d'avoir pris le temps de partager vos connaissances et votre expérience en tant que développeur de logiciels. Pour commencer, veuillez vous présenter.
Bonjour. Merci pour l'invitation à l'entretien. Je suis Sona, un développeur de logiciels full-stack avec plus de 3 ans d'expérience professionnelle dans le développement d'applications Web et de bureau utilisant des technologies innovantes. Depuis mon acceptation dans la société de développement de logiciels CodeRiders, j'ai participé aux projets de notre société et livré avec succès des applications utilisant PHP, JavaScript et ses principaux frameworks : Vue.js, Node.js, React.js et MySQL.
Comment es-tu arrivée chez CodeRiders ?
Je pense que mon parcours dans l'industrie informatique (en particulier dans CodeRiders) est intéressant et peut-être motivant pour certains. C'est pourquoi je veux le partager avec vous plus en détail.
J'ai une maîtrise en sciences actuarielles et en mathématiques, et au début de ma carrière, je me voyais comme une professionnelle accomplie dans ce domaine. Cependant, au fil du temps, j'ai remarqué que mes intérêts s'éteignaient, surtout après la grande «explosion» de l'industrie informatique et des technologies de l'information dans l'économie arménienne. Pendant mes années universitaires, le domaine de l'informatique était en plein essor en Arménie. De plus en plus de jeunes adultes étaient obsédés par l'informatique, et il y avait tellement d'opportunités de croissance et d'excellentes carrières dans ce domaine. Même si je réussissais plutôt bien dans mon domaine, j'ai décidé d'en créer un tout nouveau dans l'industrie des technologies de l'information. Mes amis m'ont conseillé de faire confiance à l'école de développement web CodeRiders pour un démarrage stable, et j'ai suivi leurs conseils.
Après avoir été diplômé avec succès de l'école de développement de logiciels CodeRiders, j'ai commencé à travailler pour l'une des plus grandes compagnies d'assurance d'Arménie en tant que spécialiste du support technique. Finalement, j'ai grandi pour devenir le chef d'équipe. Bien que j'aimais mon travail, j'ai toujours su que je voulais bien plus que simplement soutenir et maintenir le code écrit par d'autres développeurs de logiciels et ingénieurs. La compagnie d'assurance n'était pour moi qu'une "préparation" à un cheminement de carrière plus vaste et plus brillant.
J'ai travaillé dans la compagnie d'assurance pendant 6 ans, et entre-temps, j'ai gardé CodeRiders dans ma tête. Je savais que l'école de développement de logiciels était devenue la société d'externalisation de logiciels CodeRiders et qu'elle était devenue l'une des entreprises technologiques locales les plus prospères d'Arménie. J'ai suivi CodeRiders sur les réseaux sociaux et je me suis toujours imaginé comme faisant partie de leur équipe amicale. J'ai adoré l'entreprise et son style de travail. En 2019, j'ai reçu un appel du fondateur de CodeRiders et il m'a invité à rejoindre leur belle équipe. C'était l'un de mes appels téléphoniques préférés. J'étais ravi, et bien sûr, j'ai accepté l'offre, et c'est ainsi que tout a commencé. Je me suis rapidement adapté à l'atmosphère car je connaissais bien l'entreprise et tout le monde était très favorable, amical et toujours prêt à aider.
Pouvez-vous nous en dire plus sur votre pile technologique principale et sur ce que vous avez pris en compte lors du choix de ces technologies ?
C'est le « package complet » de mes compétences techniques à ce jour.
- Web : HTML, CSS3, MOINS, SASS, Bootstrap, JavaScript, PHP
- Serveurs : Apache, WAMP
- Bases de données : MySQL, MSSQL
- Langages : PHP (version 5.6-8.x), JavaScript, SQL
- Technologies/Bibliothèques : Vue.js, React.js, Node.js, Laravel, JQuery, Electron.js, API sociales (Google)
- Concepts : POO, MVC
- Environnements : Linux (Ubuntu, CentOS 6/7), MS Windows 10, Git, SVN
J'ai travaillé avec le langage de développement logiciel PHP au début de ma carrière en programmation. Ensuite, je suis passé à JavaScript. Je les aime tous les deux, mais JS est mon préféré à coup sûr.
Mon premier « mini-projet » avec JS consistait à créer un système de cartes de visite en ligne pour notre entreprise. Tous nos employés pouvaient insérer leurs identifiants et créer leurs cartes de visite personnalisées. Ensuite, ils pourraient numériser et imprimer ces cartes de visite, les transférer sur leur téléphone portable ou leur ordinateur et les utiliser à diverses occasions. J'ai utilisé Vue.js pour le développement front-end Node.js et MongoDB pour le développement back-end. C'était mon tout premier projet entièrement basé sur les technologies JS. A cette époque, j'avais le choix d'utiliser PHP pour le back-end, mais j'étais très intéressé par JavaScript et ses frameworks. De plus, c'était notre propre projet, alors j'ai essayé, et ça a très bien marché.
JavaScript est très dynamique si vous n'utilisez pas TypeScript avec lui, ce qui est exactement ce que j'aime chez JS. J'aime jouer avec le code. C'est comme jouer avec du plâtre, et vous n'avez pas à suivre certaines étapes fixes à plusieurs reprises. Contrairement aux langages statiques comme Java, en JavaScript, l'interpréteur attribue aux variables un type au moment de l'exécution en fonction de la valeur des variables à ce moment-là. Le JavaScript dynamique est une méthode permettant de créer des actions sur une page Web sans avoir à charger la page entière dans le navigateur. Ceci, à son tour, améliore la vitesse du site Web et le rend plus réactif pour l'utilisateur. D'un autre côté, vous ne pouvez pas imaginer le développement Web sans JS car tout le contrôle du développement front-end est entre les mains des technologies JS.
Ainsi, en JavaScript, vous pouvez être beaucoup plus flexible et cela peut vous aider dans de nombreux cas. Cependant, ce dynamisme irrite parfois de nombreux développeurs de logiciels, surtout s'il s'agit de développeurs de logiciels de langages typés comme Java ou C#. Nous n'avons rien de figé en JavaScript, mais d'un autre côté, si vous voulez être un peu "créatif" avec le code, cela vous donne une chance. Pendant ce temps, JavaScript a également une solution pour les développeurs de logiciels habitués aux langages typés. Grâce à sa flexibilité, ils peuvent simplement utiliser TypeScript avec.
La différence entre les langages de développement de logiciels typés et dynamiques est la suivante. Si vous donnez un type à une certaine variable, elle est fixe et vous ne pouvez jamais la modifier. Par exemple, si vous définissez une certaine variable comme une chaîne, un nombre ou autre chose, vous ne pouvez jamais revenir en arrière et modifier son type. D'un autre côté, dans les langages dynamiques comme JS, vous pouvez dire, OK, actuellement ma variable est un nombre, mais plus tard j'en ferai une chaîne. Dans certains cas, la « rigidité » des langages typés est grande car vous évitez de nombreuses erreurs, mais d'un autre côté, le dynamisme de la « souplesse » aide également à bien d'autres occasions. Il est donc difficile de dire lequel est le meilleur. Cela dépend principalement d'un développeur de logiciel spécifique et des caractéristiques d'un projet spécifique.
Pour résumer, si j'ai la chance de choisir la pile technologique d'un projet spécifique, je porte une attention particulière à la « substance » du projet. Il est très important de comprendre l'essence de votre projet, sa structure et la possibilité de son opportunité, car ce sont les principaux facteurs à prendre en compte avant de choisir une pile technologique spécifique pour votre projet. Par exemple, devriez-vous utiliser SQL ou MongoDB pour la base de données ? Pourquoi est-il préférable d'utiliser Vue.js pour le développement front-end ? Qu'en est-il de Node.js ou de PHP pour le développement back-end, etc. ?
Veuillez parler de vos choses préférées sur JavaScript et ses frameworks (Node.js, Vue.js et React.js).
- Le dynamisme de JavaScript
- Travailler avec JS et ses frameworks, c'est comme construire une maison
Comme je l'ai mentionné plus tôt, le dynamisme est ma première chose préférée. J'aime le plus les frameworks front-end JS. Avec les frameworks front-end JavaScript, vous êtes libre de jouer avec votre imagination.
Je compare souvent le travail avec JS et ses frameworks à la construction d'une maison. Vous construisez d'abord le "squelette" de votre bâtiment, et vous établissez déjà les emplacements d'éléments spécifiques à chaque étage, par exemple, la porte d'entrée, les pièces, les fenêtres, etc. Au lieu de les reconstruire tous à chaque étage, vous les remodelez simplement à chaque étage. Chaque pierre de votre maison est un composant, et chaque escalier ou ascenseur est un cheminement. Dans ce bâtiment, par exemple, chaque étage correspond aux pages de votre site Web, les escaliers et les ascenseurs sont les routages (lorsque vous passez d'une page à l'autre) et tous les autres éléments, comme les murs, les chaises et les fenêtres, sont des composants modifiables.
Les invités de la maison sont les utilisateurs et les résidents sont les autres développeurs de logiciels et ingénieurs qui travaillent avec vous. Les invités des résidents doivent se sentir à l'aise lorsqu'ils visitent votre maison.
Quel est le meilleur framework JavaScript ?
C'est une question très intrigante et, bien sûr, n'a pas de réponse précise. Au lieu de simplement mentionner un framework JavaScript spécifique, je vais comparer les frameworks JS les plus populaires et vous laisser le soin de décider.
Vue.js et React.js sont utilisés dans le développement frontal, tandis que Node.js est utilisé pour le développement de logiciels back-end.
Vue.js et React.js sont très similaires et, en même temps, très différents. Si vous connaissez React.js, il est très facile d'apprendre Vue.js et inversement. Ces deux cadres se complètent mutuellement. Par exemple, lorsque je traite des entrées et des modifications, il est beaucoup plus facile de travailler avec Vue.js qu'avec React.js.
Dans React.js, vous devez écrire plus de code que dans Vue.js. La structure du code est également mieux organisée dans Vue.js, mais encore une fois, cela dépend aussi fortement de la façon dont vous écrivez votre code.
En général, les frameworks JS sont les meilleurs car ils sont constitués de composants et il est très facile de jouer avec eux. Vous tenez compte du schéma « ne vous répétez pas ». Si vous avez déjà écrit un composant, vous pouvez l'utiliser à plusieurs endroits au lieu de le réécrire.
Par exemple, vous devez écrire un code pour un "bouton", et la structure de ce bouton est la même partout à l'exception de modifications mineures, telles que la couleur du bouton ou la couleur du survol. Le développeur du logiciel ne réécrit pas le code à partir de zéro s'il souhaite apporter ces modifications mineures. Ils prennent le composant spécifique responsable de la couleur et le modifient sur différentes pages selon les exigences du client. Ainsi, sur chaque page, vous appelez cette « composante de couleur ».
J'utilise Node.js dans mon développement back-end avec React.js et Vue.js pour le développement front-end, et la combinaison de ces trois technologies est tout simplement idéale. Je plaisante sur cette combinaison en la comparant à une personne idéale, qui est magnifique à l'intérieur comme à l'extérieur.
Dans le framework Node.js, j'aime travailler avec Express.js ou Nest.js. J'ai commencé à travailler avec Nest.js lors du développement de notre nouveau site Web, qui sortira bientôt.
Comment évaluez-vous l'importance de JavaScript dans l'industrie informatique d'aujourd'hui ?
Je n'imagine pas le développement web sans JavaScript. Bien sûr, de nos jours, l'industrie informatique se développe massivement et rapidement, mais JS a la même vitesse de croissance. Elle adapte ses solutions en fonction des dernières évolutions informatiques. Je suis donc certain que JS restera dans l'industrie informatique pendant des décennies.
Veuillez parler de vos projets de développement logiciel les plus « mémorables » chez CodeRiders.
Je vais parler de mon premier projet « massif, complexe et énorme », comme j'aime l'appeler. Ce projet m'a façonné en tant que développeur de logiciels expérimenté.
Il est difficile d'expliquer brièvement ce projet de développement de logiciels personnalisés. Le client opère dans plusieurs secteurs : solutions logicielles de médias et de divertissement avec solutions logicielles de marketing et d'analyse. Le client offre une énorme plate-forme permettant aux utilisateurs de s'inscrire, d'exécuter et de suivre l'efficacité des publicités de leur entreprise, de définir les limites de travail de leurs employés et de vérifier les résultats.
J'ai travaillé sur ce projet avec mes collègues de CodeRiders et avec d'autres ingénieurs logiciels distants d'autres pays. Nous avons travaillé sur ce projet au moment du confinement du COVID alors que tout le monde travaillait à domicile. Cela ne fait que quelques mois depuis mon acceptation dans l'équipe CodeRiders. Comme il s'agissait de mon premier projet d'envergure, j'avais l'habitude de rester tard, jusqu'à 2 heures du matin, avec mes collègues développeurs de logiciels de CodeRiders, qui étaient impatients de m'aider, afin que je puisse m'impliquer en douceur dans les processus de développement. Ce fut pour moi « l'introduction » à l'esprit d'équipe de CodeRiders.
Notre objectif était de développer un code sans bogue et de haute qualité, et peu importait sur quelle tâche nous travaillions. Tous mes collègues lanceraient des appels vidéo pour examiner le code et donner des conseils. Notre devise chez CodeRiders est « Nous désirons, ensemble nous réalisons », et oui, c'est la vérité, et grâce à cette approche, j'ai intégré notre équipe et acquis de l'expérience dans le domaine du développement logiciel.
Cette approche a également fonctionné avec d'autres développeurs de logiciels distants. Je me souviens que chaque fois que nous avions un problème, peu importait qui avait causé l'erreur. Notre première priorité était de régler le problème au plus vite. Donc, l'un de nous le ferait dès que possible. Nous aurions alors un appel d'urgence et discuterions du problème et des causes du problème pour nous assurer que nous n'aurions pas un problème comme celui-là à l'avenir.
Veuillez énumérer quelques avantages et inconvénients de JavaScript.
Avantages
- JavaScript est facile à comprendre et à apprendre.
- JavaScript prend en charge tous les navigateurs modernes, ce qui aide à produire un résultat équivalent.
- Les développeurs de logiciels ont la possibilité de créer des interfaces riches.
- Vous pouvez simplement l'implémenter dans chaque projet car il fonctionne parfaitement avec d'autres langages de programmation.
- Les entreprises mondiales accordent la priorité au développement communautaire et investissent dans des projets importants. De bons exemples sont Google, créé par le framework Angular, et Facebook, créé par React.js.
- JS fonctionne très bien avec d'autres langages technologiques.
- Il est possible de développer une application complète en utilisant uniquement JavaScript de bout en bout car nous avons différentes manières d'utiliser JS via les serveurs Node.js.
- Et enfin, il est très populaire et possède une énorme communauté. Vous pouvez facilement étendre vos connaissances sur JS car il existe de nombreux cours disponibles.
Désavantages
- Le code JavaScript est visible par tout le monde. N'importe qui peut inspecter le code.
- Divers navigateurs interprètent le code JavaScript différemment, ce qui peut entraîner des difficultés de lecture et d'écriture de code multi-navigateurs.
- Dans JS, le débogage est pris en charge par les éditeurs HTML, qui ne sont pas aussi efficaces que d'autres éditeurs comme C/C+. Cela peut compliquer le travail du développeur dans la détection du problème (ce n'est pas un inconvénient majeur).
Pouvez-vous décrire une journée de travail type chez CodeRiders ?
Ma journée type chez CodeRiders commence par une bonne tasse de café et une conversation matinale chaleureuse avec mes collègues. Ensuite, chacun va à son travail. Nous pouvons avoir plusieurs réunions au cours de la journée. Si c'est lundi, toute l'équipe se retrouve pour une grande réunion en fin de journée. Chacun représente ce qu'il a fait, ce sur quoi il travaille actuellement et ce qui doit être fait. Si quelqu'un a des problèmes, il les partage avec l'équipe et nous donnons des conseils.
Ce que j'aime chez CodeRiders, c'est que bien que je sois au travail et que je sois responsable de la qualité de mon travail, je ne me sens toujours pas sous pression. De plus, l'atmosphère est si relaxante que je travaille mieux et de manière plus productive.
Nous savons que CodeRiders offre la possibilité de choisir entre travailler à domicile ou au bureau. Laquelle préférez-vous et pourquoi ?
Oui, nous avons la possibilité de choisir entre travailler à domicile ou au bureau, mais j'adore travailler au bureau. Dans les deux cas, c'est productif pour moi, mais mes coéquipiers et le bureau en général me manquent. Je ressens beaucoup d'émotions positives lorsque je travaille depuis le bureau.
Imaginons que vous ayez un entretien avec un client. Votre client vous présente son projet et, à ce stade, il n'a pas d'exigences techniques spécifiques. Ils sont ouverts aux suggestions. Pouvez-vous s'il vous plaît décrire comment vous allez poursuivre la conversation ?
J'ai eu de nombreux entretiens avec les clients avant de me lancer officiellement dans le travail. C'est naturel car le client veut s'assurer que le spécialiste qu'il s'apprête à embaucher est un bon partenaire.
Dans ces entretiens, la plupart des clients souhaitent comprendre la détermination, l'approche du travail et les valeurs personnelles du développeur de logiciels. J'ai également reçu quelques petites tâches de test, mais cela n'arrive pas très souvent, uniquement lorsque le client est nouveau dans notre entreprise.
Il y a eu des moments où le client m'a posé une question technique et je n'ai pas eu de réponse à ce moment-là. Cependant, la plupart des clients ne se concentrent pas là-dessus, il est plus important pour eux de comprendre votre réaction face aux défis. Il y a eu des moments où je ne connaissais pas une technologie spécifique dont le client avait besoin, mais j'ai quand même réussi la phase d'entretien. Dans de tels cas, les clients voient probablement mon désir d'apprendre rapidement la technologie requise.
Quel est votre projet préféré de tous les temps et pourquoi ?
Mon projet préféré de tous les temps est le premier grand projet que j'ai décrit ci-dessus. Pourquoi? Parce que c'est là que j'ai acquis toute l'expérience et le professionnalisme que j'ai maintenant. J'ai travaillé sur diverses fonctions, testé mes connaissances sur plusieurs choses et pratiqué diverses technologies. Enfin, j'ai beaucoup souffert sur ces projets : des nuits blanches et de longs appels. Finalement, ils sont devenus une partie de ma vie.
Selon vous, quel langage technologique est l'avenir de l'informatique ?
C'est une question qui n'aura pas de réponse définitive. Chaque technologie est importante à sa manière et doit être utilisée à sa place pour fonctionner correctement. Par exemple, pour la science des données et l'IA, nous utilisons Python et cela fonctionne. Cependant, Python n'est pas la meilleure solution pour le développement Web back-end. Certains projets ne sont pas si gros et compliqués mais sont écrits dans les mauvaises langues, ce qui complique inutilement le travail.
Que conseilleriez-vous aux développeurs de logiciels qui débutent leur carrière dans l'industrie des technologies de l'information ?
Si vous pensez que vous n'apprendrez qu'une seule fois et que vous utiliserez vos connaissances tout au long de votre carrière, ce n'est pas le cas dans le développement de logiciels. Vous devez être prêt à apprendre de nouvelles choses et à mettre à jour et à améliorer vos connaissances tout au long de votre cycle de carrière. Donc, vous devriez travailler et apprendre simultanément dans l'industrie informatique, sinon vous serez laissé pour compte.
Merci, Sona, d'avoir pris le temps de discuter avec nous et de partager votre riche expertise.
De plus, mentionnons que les développeurs de logiciels JavaScript avec leurs frameworks populaires (React.js, Vue.js et Node.js) sont très populaires ces jours-ci. Dans la pénurie mondiale actuelle de talents informatiques, il est beaucoup plus facile de trouver des développeurs de logiciels JavaScript, Vue.js, React.js et Node.js à des prix abordables, en particulier si vous êtes dans l'externalisation de logiciels et que vous recherchez des développeurs de logiciels distants dans des centres technologiques réputés. .
Pour embaucher des développeurs JavaScript, nous proposons une consultation gratuite avec l'équipe CodeRiders. Contactez-nous pour discuter de vos besoins en logiciels et consultez nos tarifs pour les développeurs de logiciels.