Composants

7 Compétences pour la renommée informatique et la fortune

EL CAMINO A LA FAMA | Los Sims 4 (1)

EL CAMINO A LA FAMA | Los Sims 4 (1)
Anonim

Avec le ralentissement économique les hypothèses sur la sécurité d'emploi sont en question, et tout le monde commence à réexaminer leurs compétences. Il y a beaucoup, beaucoup de tâches utiles dans l'informatique, mais certaines compétences sont plus appréciées que d'autres. Avec tout le bouleversement que nous éprouvons dans l'informatique, de nombreuses nouvelles compétences sont très demandées ou augmentent rapidement en valeur. Voici mes 7 meilleures compétences qui pourraient vous aider non seulement à conserver ce travail, mais à vous assurer un travail encore meilleur, vous permettant de travailler sur la prochaine génération d'applications et de produits informatiques à l'ère des applications en ligne livrées sur le Web. > Conception d'applications Web:

J'ai une passion pour la conception de produits géniaux et des gens qui savent très bien le faire. Concevoir une excellente application Web est très différent de la conception d'un site Web génial. Ils ne pourraient pas être plus différents dans mon livre. La plupart des concepteurs d'IU doivent être capables de travailler dans des circonstances difficiles - la plupart des gens autour d'eux ne comprendront pas ce qu'ils font, comment ils le font, quand ils devraient être amenés, quelles informations et ressources ils ont besoin et combien prend pour créer non seulement une conception d'interface utilisateur utilisable mais aussi utile. Vous devez être une personne ingénieuse, quelqu'un qui peut s'insérer dans les conversations entre les architectes, développeurs, utilisateurs, QA, test, gestion de produit et tous ceux qui pensent qu'ils peuvent concevoir une meilleure souricière UI. La conception de l'interface utilisateur est comme le football NFL: tout le monde peut reconnaître un bon jeu quand ils le voient, mais très peu peuvent réellement jouer le jeu. Et nous avons tous une opinion à ce sujet. L'une des meilleures critiques que j'ai reçues d'un client en regardant mon produit était: "Cette interface utilisateur ressemble à un développeur l'a conçu." Cela a presque tout dit sur ce qu'ils pensaient de la facilité d'utilisation de cette application. Maintenant, si vous êtes un développeur qui pense que vous pourriez avoir un oeil pour la conception de l'interface utilisateur, cela pourrait être une déclaration assez insultante d'un client. Peut-être que vous êtes un développeur qui est un concepteur d'interface utilisateur bon, décent ou adéquat, mais vous êtes de loin la rare exception. Si vous pensez que la conception de l'interface utilisateur est simple et que vous ne comprenez pas tout ce qui se passe, vous avez certainement besoin de l'aide d'un concepteur d'interface utilisateur.

Si vous souhaitez développer vos compétences en tant que concepteur d'interface utilisateur, concevoir des informations, développer certaines compétences liées aux facteurs humains, apprendre à planifier et réaliser des entretiens avec des utilisateurs, développer des personnalités et exécuter des sessions de test de produits bien conçues avec les utilisateurs. Le plus important est de commencer par savoir qui sont les utilisateurs du logiciel que vous construisez. C'est incroyable combien de fois on sait très peu sur le véritable utilisateur d'un produit ou d'un système informatique.

Développement d'applications Web:

Si vous écrivez des applications qui s'appuient sur un client lourd ou installé, je dois vous croire re probablement pas à l'avant-garde du développement de l'application. Les applications Web sont là où les logiciels sont dirigés, avec un peu de SaaS et de PaaS (plate-forme-comme-un-service) pour démarrer. La livraison d'applications via le navigateur Web est l'endroit où se déroule le développement d'applications le plus intéressant, qu'il s'agisse d'applications ASP.NET, d'applications de portail Sharepoint, de LAMP (Linux Apache MySQL PHP), de Java ou de Ruby on Rails. Ajoutez à cela les capacités offertes par les fournisseurs PaaS, tels que Amazon, Salesforce / Force.com et Google, et les choses deviennent très intéressantes. Les interfaces Web dans les applications peuvent être une chose amusante. L'interface utilisateur Web est-elle quelque chose qui se trouve au-dessus d'une application bien conçue? La conception de l'interface Web entraîne-t-elle le reste de la conception de l'application? Qu'est-ce qui est conçu en premier, le back-end ou l'interface utilisateur frontale? Eh bien, c'est probablement un mélange des deux, avec un facteur déterminant très important. Le gourou de la productivité 7 Habits Steven Covey dit: «Commencez par la fin en tête." Une sorte d'idée que vous ne pouvez pas vous perdre si vous ne savez pas où vous allez. J'ai adapté le dicton de Covey:

Commencez avec l'utilisateur final. La création d'un équilibre efficace entre la conception frontale et la conception back-end dans une application Web est une compétence astucieuse qui doit être appréciée par les développeurs d'applications Web qui ont découvert non seulement comment la trouver. équilibre, mais aussi aider les autres membres de l'équipe à voir, apprécier et valoriser. Le nombre d'applications Web que nous allons créer dans les mois et les années à venir ne fera qu'augmenter. Les équipes et les leaders techniques qui peuvent le faire valent leur pesant d'or. Faites-le bien et vous aurez le choix entre plusieurs projets et entreprises.

Lever de la virtualisation:

Je parlais l'autre jour avec des collègues des facteurs financiers qui sous-tendent la virtualisation. Il y a deux façons de démontrer cela, et la première chose que je dirais est; La virtualisation est le meilleur ami d'un CFO (j'en ai déjà parlé sur mon podcast.) La deuxième chose que je dis est: Il y a trois types de CFO: Comment la virtualisation peut-elle faire économiser de l'argent, ceux à qui la virtualisation a permis de faire des économies et enfin ceux à la recherche de leur prochain responsable informatique? Vous voulez marquer des points avec l'entreprise? Faites de grands progrès dans les économies de matériel, de centre de données, de logiciels et d'installations en tirant parti de la virtualisation partout où vous le pouvez. Ce n'est pas toujours gratuit, en particulier pour obtenir les capacités de gestion dont vous avez besoin pour déployer la virtualisation à n'importe quelle échelle, mais les économies substantielles sur les achats matériels normaux devraient facilement justifier les coûts du logiciel sur un retour sur investissement consolidé. Maintenant, prenez le niveau suivant et montrez comment vous pouvez obtenir l'équilibrage de charge, le basculement, la reprise après sinistre et d'autres fonctionnalités via la virtualisation, et votre directeur financier fera de vous le

détenteur du Golden Spreadsheet au prochain Green Visor. convention comptable. La virtualisation ne concerne pas seulement le centre de données. En tant que développeur d'applications, planifiez comment tirer parti de la virtualisation dans l'architecture de votre application, les options de déploiement, les tests unitaires et les tests d'assurance qualité. La virtualisation est idéale pour tester les idées de conception, simuler les configurations réseau et serveur et charger un grand nombre de machines utilisateur simulées. Les avantages de l'AQ constituent à eux seuls un argument tout aussi convaincant pour les économies de la virtualisation que pour le centre de données. Si vos environnements de QA et de laboratoire deviennent plus grands au lieu de plus petits, vous faites quelque chose de mal.

Si vous cherchez un endroit pour commencer à plonger dans la virtualisation, allez télécharger les versions gratuites pour Hyper-V, Xen et VMware. Vous verrez rapidement le besoin de capacités de gestion supplémentaires, mais les éléments gratuits sont excellents.

SaaS multi-locataires et évolutivité:

SaaS est là où il est, qu'il s'agisse d'applications à la demande d'entreprise ou de produits et services Web. C'est l'un des secteurs les plus chauds de notre industrie en ce moment. Mais SaaS apporte de nouveaux défis auxquels il n'a pas encore été confronté, entraînant des pénuries de compétences dans de nouveaux domaines. Probablement le plus inquiétant est ce qu'on appelle le multi-locataire: la capacité à soutenir pleinement plusieurs clients (entreprises) au sein d'une application en ligne hébergée. Quel est le problème, dites-vous? Nous soutenons déjà des structures organisationnelles complexes dans nos applications? Eh bien, rappelez-vous que vous le faites probablement au sein d'une entreprise, ou SME / SBM. Maintenant, imaginez accommoder les exigences complexes de centaines ou de milliers d'entreprises. Ou, si votre service est vendu à des particuliers, il s'agit de gérer ces exigences pour des milliers de petits clients. Multi-locataire signifie également que toutes les options de configuration sont modifiables par l'utilisateur. Il n'y a pas de paramètres par défaut qui fonctionnent pour tous les utilisateurs parce que nous ne sommes pas tous une grande famille d'entreprise heureuse. Beaucoup d'autres options de configuration devront être exposées pour permettre aux utilisateurs de personnaliser pour répondre à leurs propres besoins individuels ou organisationnels. Le troisième défi que je vois dans les environnements multi-locataires est l'évolutivité. Imaging vous exécutez tous ces clients sur votre logiciel. La même base de données, la conception de clusters, les conceptions de gestion des transactions (pour ne citer que quelques problèmes) peuvent ne pas fonctionner à l'échelle d'un service SaaS.

Si vous comprenez ces problèmes et mieux encore, les avez résolus dans une application SaaS déployée, vous êtes parmi les élites. Même si vous ne l'avez pas fait en tant qu'application SaaS, les mêmes compétences et expériences en matière d'architecture système et logicielle constituent le fondement de la transition vers l'environnement SaaS. Si votre prochaine génération d'applications est une application Web et peut inclure un composant SaaS (ou sera entièrement SaaS), il est temps de perfectionner ces compétences et de faire savoir aux autres que vous les possédez.

Ecriture de code sécurisé:

Chaque développeur écrit du code, mais tous les développeurs n'écrivent pas de code sécurisé. Bien que ce ne soit pas une compétence que beaucoup de gestionnaires comprennent (ou d'autres), les développeurs qui peuvent non seulement écrire du code sécurisé, mais aussi encadrer et enseigner aux autres développeurs comment créer du code sécurisé peuvent être un membre inestimable de l'équipe. est plus que juste s'inquiéter des attaques obscures de débordement de mémoire tampon ou des conditions de course. Vous avez évidemment vu maintenant mon thème que de plus en plus d'applications sont des applications Web, et de plus en plus, celles-ci deviennent également des applications SaaS dans de nombreux cas. Les attaques Web sont à l'avant-garde des risques où de bonnes pratiques de développement de logiciels sécurisées doivent être appliquées. L'injection SQL, les scripts intersites, les URL magiques et masquées, la prévention des fuites de données, la sécurisation des services Web et les mauvaises implémentations de SSL sont autant d'exemples de problèmes de sécurité que le développement logiciel doit prendre en compte lors de l'écriture de code sécurisé. Si vous cherchez de bonnes ressources pour vous lancer dans la création de code sécurisé, je recommanderais deux livres: Deadly Sins of Software Security de Howard, LeBlanc et Viega, et Web Services Security par O'Neill. Automatisation et métriques d'assurance qualité:

Si vous êtes un expert en assurance qualité, vous avez une place particulière dans mon cœur. Si vous êtes un AQ qui vit pour automatiser les tests d'assurance qualité, capturer des métriques et utiliser ces données pour améliorer le développement logiciel et les pratiques d'AQ, vous avez une place spéciale dans le ciel! Comme vous pouvez le constater, j'accorde beaucoup d'importance aux compétences d'AQ de haute qualité, en particulier aux praticiens expérimentés qui trouvent non seulement tous ces bogues logiciels désagréables avant même qu'un logiciel ne sorte, mais qui savent également automatiser les tests et utiliser le connaissances acquises pour améliorer la façon dont le logiciel est créé dans le processus. Les développeurs de logiciels pourraient être les principaux chanteurs et guitaristes du groupe, mais comme tout musicien expérimenté le sait, c'est la batterie et la basse qui font ou défont le groupe. J'aime dire; aimer les développeurs, et faire confiance à QA. (En fait, j'aime aussi les gens de QA.)

Vous voulez devenir indispensable en tant que personne qualifiée? Automatisez, automatisez, automatisez. Les meilleurs projets sur lesquels j'ai travaillé avaient des tests bien automatisés dans les 90% supérieurs, et des tests ont été effectués des centaines et des centaines de fois avant que le logiciel ne soit livré. Maintenant, c'est ce que j'appelle les tests de régression! Les nouvelles fonctionnalités pourraient être testées manuellement, mais les tests étaient toujours automatisés avant la conception de la prochaine version du logiciel. C'est à peu près la seule façon dont les directeurs techniques et les vice-présidents de l'ingénierie peuvent dormir. Maintenant, aller plus loin et fournir à vos pairs, les dirigeants techniques et la gestion des apprentissages et des idées que vous obtenez de tous ces tests et vous atteindrez le statut de nirvana dans mon livre. Les connaissances contenues dans tous ces résultats peuvent amener les meilleurs organismes de développement vers de nouveaux sommets.

CERTS, tous bienvenus: J'aime dire

Vous ne pouvez jamais vous tromper avec CERTS

Cela vaut aussi bien pour les monnayages respiratoires que pour les certifications techniques. Tout le monde aime argumenter sur la valeur des certifications: si la certification A + est valorisée; si cela vaut la peine d'obtenir un SCTM par rapport à un MCSE complet; si avoir un CISSP porte le même poids qu'autrefois; et combien les gestionnaires évaluent les certifications sur l'expérience de travail. Mais à la fin de la journée, il pourrait faire la différence entre vous obtenir le travail sur l'autre candidat final. Obtenir cette certification ne va certainement pas faire mal! Les CERTS démontrent que vous avez accompli quelque chose qui montre que vous avez un certain niveau de compétence, et cela a été démontré en répondant aux qualifications de la certification. Ils ne vont pas forcément vous laisser prendre l'avion, mais vous aurez peut-être plus de chances de trouver un siège à bord d'une organisation informatique. Vous préféreriez toujours être trop précieux à perdre que sacrifiable lorsque les temps économiques sont difficiles. Si vous souhaitez en savoir plus sur les certifications Microsoft, visitez la section d'apprentissage du site de Microsoft pour les certifications. Je recommanderais également certains livres de formation de certification de Microsoft Press, tels que Kit de formation Administration de Windows Server par McLean, Configurer le kit de formation client Windows Vista par McLean et Kit de ressources Internet Information Services (IIS) 7.0 de Volodarsky.