Componentes

7 Habilidades para TI Fama e Fortuna

Apex Legends — трейлер игрового процесса сезона 7 «Вознесение»

Apex Legends — трейлер игрового процесса сезона 7 «Вознесение»
Anonim

Com a crise econômica na cabeça de todos, suposições sobre a segurança do trabalho estão sendo questionadas, e todos começam a reexaminar suas habilidades. Há muitos e valiosos trabalhos realizados em TI, mas algumas habilidades são valorizadas ainda mais que outras. Com todo o transtorno que estamos enfrentando na TI, muitas novas habilidades estão em alta demanda ou estão aumentando rapidamente em valor. Aqui estão as minhas 7 principais habilidades que podem ajudá-lo não apenas a manter esse trabalho, mas também a garantir um novo emprego ainda melhor, posicionando você para trabalhar na próxima geração de aplicativos e produtos de TI na era dos aplicativos on-line entregues pela Web.

Design de aplicativo da Web: Eu tenho uma paixão por um ótimo design de produto e pessoas que sabem como fazer isso muito bem. Criar um ótimo aplicativo da Web é muito diferente de projetar um ótimo site. Eles não poderiam ser mais diferentes no meu livro. A maioria dos designers de UI precisa ser capaz de trabalhar em circunstâncias desafiadoras - a maioria das pessoas ao seu redor não entenderá o que eles fazem, como eles fazem, quando eles devem ser trazidos, quais informações e recursos eles precisam, e quanto funciona leva para criar não apenas um design de interface do usuário utilizável, mas também um útil. Você tem que ser uma pessoa talentosa, alguém que possa se inserir nas conversas entre arquitetos, desenvolvedores, usuários, QA, teste, gerenciamento de produtos e todos os outros que acham que podem criar uma ratoeira de interface do usuário melhor. O design da interface do usuário é como o futebol americano da NFL: todos podem reconhecer um bom jogo quando o vêem, mas muito poucos podem realmente jogar o jogo. E todos nós temos uma opinião sobre isso.

Uma das melhores críticas que recebi de um cliente olhando para o meu produto foi: "Essa interface do usuário parece um desenvolvedor projetado." Isso praticamente dizia tudo sobre o que eles pensavam sobre a facilidade de uso daquele aplicativo. Agora, se você é um desenvolvedor que acha que pode ter um olho para design de interface do usuário, isso pode ser uma declaração muito insultante de um cliente. Talvez você seja um desenvolvedor que seja um designer de UI bom, decente ou adequado, mas você é de longe a rara exceção. Se você acha que o design da UI é fácil e não entende do que se trata, definitivamente precisa da ajuda de um designer de UI.

Se quiser desenvolver suas habilidades como designer de UI, procure grupos de usuários em design de informações, desenvolver algumas habilidades com fatores humanos, aprender a planejar e executar entrevistas com usuários, desenvolver personas de usuários e executar sessões de teste de produto bem projetadas com os usuários. O mais importante é começar sabendo quem são os usuários do software que você está construindo. É incrível a frequência com que se sabe muito pouco sobre o verdadeiro usuário de um produto ou sistema de TI.

Desenvolvimento de aplicativos da Web: Se você gravar aplicativos que dependem de um cliente pesado ou instalado, preciso acreditar em você ' provavelmente não está na vanguarda de onde o desenvolvimento de aplicativos está indo. Os aplicativos da Web estão onde o software está indo, com uma pitada de SaaS e PaaS (platform-as-a-service) para inicializar. A entrega de aplicativos através do navegador da Web é o local onde o desenvolvimento de aplicativos mais interessante está acontecendo, seja com aplicativos ASP.NET, aplicativos de portal do SharePoint, LAMP (Linux Apache MySQL PHP), Java ou Ruby on Rails. Acrescente a isso os recursos oferecidos pelos provedores de PaaS, como Amazon, Salesforce / Force.com e Google, e as coisas ficam bem interessantes.

As interfaces da Web em aplicativos podem ser uma coisa engraçada. A interface do usuário da Web é algo que está no topo de um aplicativo bem projetado? O design da interface com o usuário da Web orienta o restante do design do aplicativo? O que é projetado primeiro, o back-end ou a interface do usuário front-end? Bem, é provavelmente uma mistura de ambos, com um fator de direção muito significativo. 7 O guru da produtividade dos hábitos, Steven Covey, diz: "Comece com o objetivo em mente". Meio que você não pode se perder se não sabe para onde está indo. Eu adaptei o dito de Covey: Comece com o usuário final em mente. Criar um equilíbrio efetivo de design de front-end e back-end em um aplicativo Web é uma habilidade engenhosa para ser valorizada por desenvolvedores de aplicativos da Web que descobriram não apenas como encontrar esse equilibrar, mas também ajudar os outros membros da equipe a ver, valorizar e valorizar.

O número de aplicativos da Web que criaremos nos próximos meses e anos só aumentará. Equipes e líderes técnicos que podem fazer isso bem valem seu peso em ouro. Faça isso bem e você terá sua escolha de projetos e empresas para trabalhar.

Alavancagem de virtualização: Eu estava falando outro dia com alguns colegas sobre os impulsionadores financeiros por trás da virtualização. Há algumas maneiras de demonstrar isso, e a primeira coisa que eu diria é; A virtualização é a melhor amiga de um CFO (falei sobre isso no meu podcast há um tempo atrás.) A segunda coisa a dizer é: Existem três tipos de CFOs: os que perguntam TI como a virtualização pode economizar dinheiro, aqueles que foram mostrados pela TI como a virtualização pode economizar dinheiro e, por último, aqueles que procuram seu próximo chefe de TI.

Quer marcar pontos com a empresa? Faça grandes avanços em economia de hardware, data center, software e instalações aproveitando a virtualização em todos os lugares possíveis. Nem sempre é gratuito, especialmente para obter os recursos de gerenciamento necessários para implantar a virtualização em qualquer escala, mas a grande economia de custos em relação às compras normais de hardware deve justificar com facilidade os custos de software em um ROI de consolidação. Agora, leve isso para o próximo nível e demonstre como você pode obter balanceamento de carga, failover, recuperação de desastre e outros recursos através da virtualização, e seu CFO fará de você um Titular da Planilha Dourada na próxima Green Visor convenção contábil

A virtualização não é apenas para o data center. Como desenvolvedor de aplicativos, planeje como você pode aproveitar a virtualização em sua arquitetura de aplicativos, opções de implantação, testes de unidade e teste de controle de qualidade. A virtualização contribui para uma ótima caixa de areia ao testar ideias de design, simulando configurações de rede e servidor, e carregando um grande número de máquinas de usuários finais simuladas. Somente os benefícios do controle de qualidade são um argumento convincente para a economia de custos da virtualização, como ocorre no data center. Se seus ambientes de laboratório e controle de qualidade estão ficando maiores em vez de menores, você está fazendo algo errado.

Se você está procurando um lugar para começar a mergulhar na virtualização, baixe as versões gratuitas do Hyper-V, Xen e VMware. Você verá rapidamente a necessidade de recursos adicionais de gerenciamento, mas o material gratuito é ótimo para começar.

Multi-inquilino e escalabilidade SaaS: O SaaS é onde está, quer você esteja falando sobre aplicativos corporativos sob demanda ou produtos e serviços fornecidos pela Web. É uma das áreas mais quentes do nosso setor no momento. Mas o SaaS traz alguns novos desafios não enfrentados anteriormente, levando a algumas deficiências de habilidades em novas áreas. Provavelmente, o mais sinistro é o que é chamado de multilocatário: a capacidade de oferecer suporte total a vários clientes (empresas) dentro de um aplicativo on-line hospedado.

Qual é o problema, você diz? Já apoiamos estruturas organizacionais complexas em nossos aplicativos? Bem, lembre-se de que você provavelmente faz isso dentro de uma empresa, ou SME / SBM. Agora, imagine acomodar os requisitos complexos de centenas ou milhares de empresas. Ou, se o seu serviço for vendido para indivíduos, trata-se de lidar com esses requisitos para milhares de pequenos clientes. Multi-tenant também significa que todas as opções de configuração podem ser alteradas pelo usuário. Não há nenhum padrão do sistema que funcione para todos os usuários, porque não somos todos uma grande família corporativa feliz. Muitas outras opções de configuração terão que ser expostas para que os usuários possam personalizar para atender às suas próprias necessidades individuais ou organizacionais. O terceiro desafio que vejo em ambientes multi-tenant é a escalabilidade. Imaginando você executando todos esses clientes em seu software. O mesmo banco de dados, design de cluster, design de gerenciamento de transação (para citar alguns problemas) pode não funcionar na escala de um serviço SaaS.

Se você entende esses problemas e, melhor ainda, os resolveu em um aplicativo SaaS implantado, você está entre os poucos da elite. Mesmo que você não tenha feito isso como um aplicativo SaaS, as mesmas habilidades e experiências de arquitetura de software e sistema são a base da construção para passar para o ambiente SaaS. Se a sua próxima geração de aplicativos for aplicativos da Web e puder incluir um componente SaaS (ou será totalmente SaaS), agora é a hora de aprimorar essas habilidades e deixar que os outros saibam que você as possui. Isso tornará você muito mais valioso.

Escrevendo código seguro: Todo desenvolvedor escreve código, mas nem todo desenvolvedor escreve código seguro. Embora não seja uma habilidade que muitos gerentes entendam (ou outros, para essa questão), os desenvolvedores que não apenas podem escrever código seguro, mas também orientar e ensinar outros desenvolvedores a criar código seguro podem ser um membro inestimável da equipe. é mais do que apenas se preocupar com ataques obscuros de estouro de buffer ou condições de corrida. Obviamente você já viu meu tema que mais e mais aplicativos são aplicativos da Web e, cada vez mais, esses também estão se tornando aplicativos SaaS em muitos casos. Os ataques na Web estão na vanguarda dos riscos em que práticas boas e seguras de desenvolvimento de software precisam ser aplicadas. Injeção de SQL, cross-site scripting, URLs mágicas e formulários ocultos, prevenção de vazamento de dados, proteção de serviços da Web e implementações ruins de SSL são exemplos de problemas de segurança que o desenvolvimento de software deve considerar e acomodar ao escrever código seguro.

Procurando alguns bons recursos para você começar a criar o código seguro, eu recomendaria dois livros, 19 Deadly Sins of Software Security, de Howard, LeBlanc e Viega, e Web Services Security, de O'Neill.

Automação e métricas de controle de qualidade:

Se você é uma pessoa de controle de qualidade, você tem um lugar especial em meu coração. Se você é uma pessoa de controle de qualidade que vive para automatizar o teste de controle de qualidade, capturar métricas e usar esses dados para melhorar o desenvolvimento de software e as práticas de controle de qualidade, você terá um lugar especial no céu! Como você pode ver, eu valorizo ​​bastante as habilidades de QA de alta qualidade, particularmente aqueles profissionais habilidosos que não só encontram todos os erros de software desagradáveis ​​antes de qualquer software sair pela porta, mas também sabem como automatizar altamente os testes e usar o software. conhecimento adquirido para melhorar como o software é criado no processo. Os desenvolvedores de software podem ser os principais cantores e guitarristas da banda, mas, como qualquer músico experiente sabe, são as baterias e os baixos que fazem ou quebram a banda. Eu gosto de dizer; adoro desenvolvedores e confie em QA. (Na verdade, também adoro as pessoas de controle de qualidade.) Quer se tornar indispensável como pessoa de controle de qualidade? Automatize, automatize, automatize. Os melhores projetos em que trabalhei tiveram testes automatizados até os 90% superiores, e os testes foram executados centenas e centenas de vezes antes do software ser enviado. Agora, é o que eu chamo de teste de regressão! A nova funcionalidade pode ser testada manualmente, mas os testes sempre foram automatizados antes do design ser feito na próxima versão do software. Essa é a única maneira de os CTOs e os VPs de engenharia conseguirem dormir. Agora, dê um passo além e forneça aos seus colegas, líderes técnicos e gerentes com aprendizados e insights que você está obtendo de todos os testes e alcançará o status de nirvana em meu livro. O conhecimento contido em todos os resultados dos testes pode levar até mesmo as melhores organizações de desenvolvimento a novos patamares.

CERTS, todo e qualquer bem-vindo:

Eu gosto de dizer: Você nunca pode errar com o CERTS. Isso vale para as balas de ar, bem como para as certificações técnicas. Todo mundo gosta de discutir sobre o valor das certificações: se a certificação A + é valorizada; se vale a pena comprar um MCTS contra o MCSE completo; se ter um CISSP tem o mesmo peso que já teve; e quanto os gerentes valorizam quaisquer certificações em relação à experiência de trabalho. Mas no final do dia, isso pode fazer a diferença entre você conseguir o emprego sobre o outro candidato final. Conseguir que a certificação não vai doer! O CERTS demonstra que você realiza algo que mostra que você possui algum nível de habilidade e foi demonstrado por atender às qualificações da certificação. Eles não vão necessariamente deixá-lo voar no avião, mas você pode ter uma chance melhor de conseguir um assento a bordo com uma organização de TI. Você sempre preferiria ser valioso demais para perder do que dispensável quando os tempos econômicos forem difíceis.

Se quiser saber mais sobre as certificações da Microsoft, visite a seção de aprendizado do site da Microsoft para obter certificações. Também recomendo alguns manuais de treinamento de certificação da Microsoft Press, como o Kit de Treinamento de Administração do Windows Server da McLean, o Kit de Treinamento do Cliente para Windows Vista da McLean e o Resource Kit do IIS 7.0 da Volodarsky.