Componenti

7 Abilità per Fame e Fortuna IT

Música para ATRAER MUCHO DINERO y AMOR a tu VIDA,Música para ATRAER SUERTE

Música para ATRAER MUCHO DINERO y AMOR a tu VIDA,Música para ATRAER SUERTE
Anonim

Con la crisi economica nella mente di tutti, le ipotesi sulla sicurezza del lavoro vengono messe in discussione e ognuno inizia a riesaminare le proprie capacità. Ci sono un sacco e un sacco di lavori di valore eseguiti in ambito IT, ma alcune competenze sono valutate in modo ancora più elevato di altre. Con tutti gli sconvolgimenti che stiamo vivendo in IT, molte nuove competenze sono molto richieste o in rapido aumento di valore. Ecco le mie migliori 7 competenze che potrebbero aiutarti non solo a mantenere quel lavoro, ma anche a garantire un nuovo lavoro ancora migliore, posizionandoti a lavorare sulla prossima generazione di applicazioni IT e prodotti software nell'era delle applicazioni online fornite dal Web.

Progettazione di applicazioni Web: Ho una passione per il design di prodotti eccezionali e persone che sanno come fare veramente bene. La progettazione di una grande applicazione Web è molto diversa dalla progettazione di un grande sito Web. Non potrebbero essere più diversi nel mio libro. La maggior parte dei progettisti dell'interfaccia utente devono essere in grado di lavorare in circostanze difficili: la maggior parte delle persone intorno a loro non capisce cosa fanno, come lo fanno, quando devono essere portati, quali informazioni e risorse hanno bisogno e quanto lavoro prende per creare non solo un design di interfaccia utente utilizzabile ma anche utile. Devi essere una persona piena di risorse, qualcuno che possa inserirsi nelle conversazioni tra architetti, sviluppatori, utenti, QA, test, gestione dei prodotti e tutti gli altri là fuori che pensano di poter progettare una migliore trappola per topi dell'interfaccia utente. Il design dell'interfaccia utente è come il football NFL: tutti possono riconoscere un buon gioco quando lo vedono, ma ben pochi possono effettivamente giocare. E tutti noi abbiamo un'opinione a riguardo.

Una delle migliori critiche che ho ricevuto da un cliente che guardava il mio prodotto è stata, "Questa interfaccia utente sembra progettata da uno sviluppatore." Questo ha praticamente detto tutto su ciò che pensavano della facilità d'uso di quell'applicazione. Ora, se sei uno sviluppatore che pensa che potresti avere un occhio per la progettazione dell'interfaccia utente, quella potrebbe essere una dichiarazione piuttosto offensiva da parte di un cliente. Forse sei uno sviluppatore che è un designer di UI buono, dignitoso o adeguato, ma sei di gran lunga la rara eccezione. Se pensi che la progettazione dell'interfaccia utente sia facile e non capisci di cosa si tratta, hai sicuramente bisogno di aiuto da un designer dell'interfaccia utente.

Se desideri sviluppare le tue abilità come progettista dell'interfaccia utente, cerca gruppi di utenti in progettazione delle informazioni, sviluppo di alcune abilità dei fattori umani, informazioni su come pianificare e svolgere interviste agli utenti, sviluppare personaggi utente ed eseguire sessioni di test dei prodotti ben progettate con gli utenti. La cosa più importante è iniziare sapendo chi sono gli utenti per il software che stai costruendo. È sorprendente quanto spesso si sappia molto poco del vero utente di un prodotto o di un sistema IT.

Sviluppo di app Web: Se si scrivono applicazioni che si basano su un client pesante o installato, devo crederti ' probabilmente non sono in prima linea rispetto a dove è diretto lo sviluppo di applicazioni. Le applicazioni Web sono dove il software è diretto, con un pizzico di SaaS e PaaS (platform-as-a-service) da avviare. Fornire applicazioni tramite il browser Web è dove si sta verificando lo sviluppo di applicazioni più interessanti, sia con applicazioni ASP.NET, applicazioni di portali Sharepoint, LAMP (Linux Apache MySQL PHP), Java, o Ruby on Rails. Aggiungete a ciò le funzionalità offerte dai provider PaaS, come Amazon, Salesforce / Force.com e Google, e le cose si fanno piuttosto interessanti.

Le interfacce Web nelle applicazioni possono essere una cosa divertente. L'interfaccia utente web è qualcosa che viene ritagliato su un'applicazione ben progettata? Il design dell'interfaccia utente Web guida il resto del design dell'applicazione? Cosa è stato progettato prima, il back-end o l'interfaccia utente front-end? Beh, probabilmente è un misto di entrambi, con un fattore di guida molto significativo. Il guru della produttività Habits Covey dice: "Inizia con la fine in mente". L'idea che non ti puoi perdere se non sai dove stai andando. Ho adattato il detto di Covey: Inizia con l'utente finale in mente. La creazione di un equilibrio efficace tra design front-end e back-end in un'applicazione Web è un'abilità abile da apprezzare da quegli sviluppatori di app Web che hanno scoperto non solo come trovarlo equilibrio, ma aiuta anche gli altri membri del team a vederlo, apprezzarlo e apprezzarlo.

Il numero di app Web che creeremo nei mesi e negli anni a venire aumenterà solo. Squadre e leader tecnici che riescono a farlo bene valgono il loro peso in oro. Fai questo bene e avrai la tua scelta di progetti e aziende con cui lavorare.

Leva di virtualizzazione: Stavo parlando l'altro giorno con alcuni colleghi dei driver finanziari alla base della virtualizzazione. Ci sono un paio di modi in cui mi piace dimostrarlo, e la prima cosa che vorrei dire è; La virtualizzazione è la migliore amica del CFO (ne ho parlato sul mio podcast qualche tempo fa.) La seconda cosa che dico è: Ci sono tre tipi di CFO: quelli che chiedono IT come la virtualizzazione può risparmiare denaro, chi è stato dimostrato dall'IT come la virtualizzazione può risparmiare denaro e, infine, chi cerca il prossimo responsabile IT.

Vuoi guadagnare punti con l'azienda? Fai grandi passi in termini di risparmio di hardware, data center, software e servizi sfruttando la virtualizzazione ovunque tu possa. Non è sempre gratuito, in particolare per ottenere le capacità di gestione necessarie per implementare la virtualizzazione su qualsiasi scala, ma i forti risparmi sui normali acquisti di hardware dovrebbero giustificare facilmente i costi del software su un ROI di consolidamento. Ora prendi il livello successivo e dimostra come è possibile ottenere il bilanciamento del carico, il failover, il disaster recovery e altre funzionalità attraverso la virtualizzazione e il tuo CFO ti renderà un titolare del Golden Spreadsheet al prossimo Green Visor convenzione contabile.

La virtualizzazione non è solo per il data center. Come sviluppatore di applicazioni, pianifica come sfruttare la virtualizzazione nell'architettura dell'applicazione, le opzioni di implementazione, i test delle unità e il test del QA. La virtualizzazione è un ottimo sandbox per testare idee di progettazione, simulare configurazioni di rete e server e caricare un gran numero di macchine simulate per l'utente finale. I vantaggi del controllo di qualità da solo rendono altrettanto convincente un argomento per i risparmi sui costi della virtualizzazione come avviene nel data center. Se il tuo QA e gli ambienti di laboratorio diventano più grandi invece che più piccoli, stai facendo qualcosa di sbagliato.

Se stai cercando un posto dove iniziare ad affondare i denti nella virtualizzazione, vai a scaricare le versioni gratuite per Hyper-V, Xen e VMware. Vedrai rapidamente la necessità di aggiungere funzionalità di gestione, ma i contenuti gratuiti sono fantastici per iniziare.

SaaS multi-tenant e scalabilità: SaaS è il punto in cui si trova, sia che si tratti di applicazioni aziendali on-demand o di prodotti e servizi forniti dal Web. È una delle aree più calde del nostro settore in questo momento. Ma SaaS porta alcune nuove sfide non affrontate in precedenza, portando ad alcune carenze di competenze in nuove aree. Probabilmente il più inquietante è quello che viene definito multi-tenant: la capacità di supportare pienamente più clienti (aziende) all'interno di un'applicazione online ospitata.

Qual è il grosso problema, dici? Supportiamo già strutture organizzative complesse nelle nostre applicazioni? Bene, ricorda che probabilmente lo farai all'interno di un'impresa, o SME / SBM. Ora immagina di accogliere i complessi requisiti di centinaia o migliaia di aziende. Oppure, se il tuo servizio viene venduto a privati, si tratta di gestire tali requisiti per migliaia di piccoli clienti. Multi-tenant significa anche che tutte le opzioni di configurazione sono modificabili dall'utente. Non ci sono impostazioni predefinite di sistema che funzionano per tutti gli utenti perché non siamo tutti una grande famiglia aziendale felice. Molte più opzioni di configurazione dovranno essere esposte affinché gli utenti possano personalizzare per soddisfare le loro esigenze individuali o organizzative. La terza sfida che vedo negli ambienti multi-tenant è la scalabilità. Immaginando di far girare tutti quei clienti sul tuo software. Lo stesso database, la progettazione del cluster, i progetti di gestione delle transazioni (per nominare alcuni problemi) potrebbero non funzionare alla scala di un servizio SaaS.

Se capisci questi problemi e, ancora meglio, li hai risolti in un'applicazione SaaS distribuita, sei tra i pochi elitari. Anche se non l'hai fatto come applicazione SaaS, le stesse competenze ed esperienze dell'architettura di sistema e software sono le fondamenta da cui partire per passare all'ambiente SaaS. Se la tua prossima generazione di applicazioni sono applicazioni Web e potrebbe includere un componente SaaS (o sarà completamente SaaS), ora è il momento di affinare quelle capacità e far sapere agli altri che le hai. Ti renderà tutto molto più prezioso.

Scrittura di un codice sicuro: Ogni sviluppatore scrive il codice, ma non tutti gli sviluppatori scrivono il codice di sicurezza. Sebbene non sia un'abilità che molti manager comprendono (o altri, se è per questo), sviluppatori che non solo possono scrivere codice sicuro ma anche mentore e insegnano ad altri sviluppatori come creare un codice sicuro possono essere un membro inestimabile del team.

Scrittura di un codice sicuro è più che preoccuparsi solo degli oscuri attacchi di overflow del buffer o delle condizioni di gara. Ovviamente hai ormai visto il mio tema che sempre più applicazioni sono app Web, e sempre più spesso stanno anche diventando applicazioni SaaS in molti casi. Gli attacchi Web sono in prima linea nei rischi in cui devono essere applicate buone e sicure pratiche di sviluppo del software. SQL injection, scripting cross-site, URL magici e moduli nascosti, prevenzione della fuga di dati, protezione dei servizi Web e cattive implementazioni di SSL sono tutti esempi di problemi di sicurezza che lo sviluppo del software deve prendere in considerazione quando si scrive codice sicuro.

Se Siamo alla ricerca di alcune buone risorse per iniziare il percorso di creazione di codice sicuro, consiglierei due libri 19 Deadly Sins of Software Security di Howard, LeBlanc e Viega e Web Services Security di O'Neill.

QA automation and metrics: Se sei una persona di controllo qualità, hai un posto speciale nel mio cuore. Se sei un esperto di QA che vive per automatizzare i test del QA, acquisire le metriche e utilizzare tali dati per migliorare lo sviluppo del software e le pratiche di controllo qualità, allora hai un posto speciale in paradiso! Come puoi vedere, attribuisco molto valore alle abilità di qualità del QA di alta qualità, in particolare a quei professionisti esperti che non solo trovano tutti quei fastidiosi bug software prima che qualsiasi software esca, ma sanno anche come automatizzare i test e utilizzare il conoscenza acquisita per migliorare il modo in cui il software viene creato nel processo. Gli sviluppatori di software potrebbero essere i principali cantanti e chitarristi della band, ma come sa bene qualsiasi musicista esperto, sono la batteria e il basso a fare o distruggere la band. Mi piace dire; ama gli sviluppatori e si fida del QA. (In realtà, adoro anche le persone del QA.)

Vuoi renderti indispensabile come persona di controllo qualità? Automatizza, automatizza, automatizza. I migliori progetti su cui ho lavorato sono stati automatizzati bene nei test del 90% e i test sono stati eseguiti centinaia e centinaia di volte prima della spedizione del software. Ora, questo è ciò che chiamo test di regressione! Le nuove funzionalità potrebbero essere testate manualmente, ma i test sono sempre stati automatizzati prima che la progettazione venisse eseguita nella prossima versione del software. Questo è l'unico modo in cui CTO e VP di ingegneria riescono a dormire. Ora, fai un passo in più e dai ai tuoi pari, ai leader tecnici e al management le conoscenze e le intuizioni che ottieni da tutti i test e raggiungerai lo stato di nirvana nel mio libro. Le conoscenze contenute in tutti i risultati dei test possono portare a nuove altezze anche le migliori organizzazioni di sviluppo.

CERTS, tutti benvenuti: Mi piace dire: Non si può mai sbagliare con CERTS. Questo vale per le mentine per l'alito e per le certificazioni tecniche. A tutti piace discutere sul valore delle certificazioni: se la certificazione A + è valutata; se vale la pena ottenere un MCTS contro il MCSE completo; se avere un CISSP ha lo stesso peso che aveva una volta; e quanto i gestori valutano le certificazioni rispetto all'esperienza di lavoro. Ma alla fine della giornata, potrebbe fare la differenza tra l'ottenimento del lavoro rispetto all'altro candidato finale. Ottenere quella certificazione sicuramente non farà male!

CERTS dimostra che hai realizzato qualcosa che mostra che hai un certo livello di abilità, ed è stato dimostrato soddisfacendo le qualifiche della certificazione. Non ti permetteranno di far volare l'aereo, ma potresti avere una possibilità migliore di trovare un posto a bordo con un'organizzazione IT. Preferisci sempre essere troppo prezioso da perdere che sacrificabile quando i tempi economici sono difficili.

Se vuoi saperne di più sulle certificazioni Microsoft, visita la sezione di apprendimento del sito di Microsoft per le certificazioni. Vorrei anche raccomandare alcuni libri di formazione sulla certificazione di Microsoft Press, come Kit di formazione per l'amministrazione di Windows Server di McLean, Configura kit di formazione per client Windows Vista di McLean e Kit di risorse di Internet Information Services (IIS) 7.0 di Volodarsky.