Komponen

7 Keterampilan untuk IT Fame and Fortune

身份證號碼中沒有這個數的人,定是富貴命,一生衣食無憂,財源廣進,看看你的缺嗎?

身份證號碼中沒有這個數的人,定是富貴命,一生衣食無憂,財源廣進,看看你的缺嗎?
Anonim

Dengan kemerosotan ekonomi di benak setiap orang, asumsi tentang keamanan kerja dipertanyakan, dan setiap orang mulai memeriksa kembali keterampilan mereka. Ada banyak sekali pekerjaan berharga yang dilakukan di TI, tetapi beberapa keterampilan dihargai lebih tinggi dari yang lain. Dengan semua pergolakan yang kita alami di bidang TI, banyak keterampilan baru yang sangat diminati atau meningkat pesat nilainya. Berikut adalah 7 keterampilan teratas saya yang dapat membantu Anda tidak hanya mempertahankan pekerjaan itu, tetapi juga mengamankan pekerjaan baru yang lebih baik, memposisikan Anda untuk bekerja pada generasi aplikasi TI dan produk perangkat lunak di era aplikasi online yang disampaikan melalui web.

Desain aplikasi web: Saya memiliki minat untuk desain produk yang hebat dan orang-orang yang tahu bagaimana melakukan ini dengan sangat baik. Merancang aplikasi Web yang hebat sangat berbeda dari mendesain situs Web yang hebat. Mereka tidak bisa lebih berbeda dalam buku saya. Sebagian besar perancang UI harus mampu bekerja dalam situasi yang menantang - kebanyakan orang di sekitar mereka tidak akan mengerti apa yang mereka lakukan, bagaimana mereka melakukannya, kapan mereka harus dibawa, informasi dan sumber daya apa yang mereka butuhkan, dan seberapa banyak pekerjaan itu dibutuhkan untuk membuat tidak hanya desain UI yang dapat digunakan tetapi juga berguna. Anda harus menjadi orang yang pandai, seseorang yang dapat memasukkan diri ke dalam percakapan antara arsitek, pengembang, pengguna, QA, tes, manajemen produk dan semua orang di luar sana yang berpikir mereka dapat merancang perangkap tikus UI yang lebih baik. Desain UI seperti sepakbola NFL: Semua orang dapat mengenali permainan yang bagus ketika mereka melihatnya, tetapi sangat sedikit yang benar-benar dapat memainkan game. Dan kami semua memiliki pendapat tentang itu.

Salah satu kritik terbaik yang saya terima dari pelanggan yang melihat produk saya adalah, "Antarmuka pengguna ini tampak seperti pengembang yang mendesainnya." Cukup banyak yang dikatakan tentang apa yang mereka pikirkan tentang kemudahan penggunaan aplikasi itu. Sekarang, jika Anda seorang pengembang yang berpikir Anda mungkin memiliki mata untuk desain UI, itu bisa menjadi pernyataan yang cukup menghina dari pelanggan. Mungkin Anda adalah pengembang yang merupakan perancang UI yang baik, layak, atau memadai, tetapi Anda sejauh ini merupakan pengecualian yang langka. Jika Anda berpikir desain UI mudah dan tidak mengerti apa yang paling diributkan, Anda pasti membutuhkan bantuan dari perancang UI.

Jika Anda ingin mengembangkan keterampilan Anda sebagai perancang UI, cari kelompok pengguna di desain informasi, membangun beberapa keterampilan faktor manusia, belajar bagaimana merencanakan dan melakukan wawancara pengguna, mengembangkan personas pengguna, dan melaksanakan sesi pengujian produk yang dirancang dengan baik dengan pengguna. Yang terpenting adalah memulai dengan mengetahui siapa pengguna untuk perangkat lunak yang Anda buat. Sungguh menakjubkan betapa seringnya sangat sedikit yang diketahui tentang pengguna sejati produk atau sistem TI.

Pengembangan aplikasi web: Jika Anda menulis aplikasi yang mengandalkan klien berat atau terinstal, saya harus percaya Anda ' mungkin tidak di garis depan di mana pengembangan aplikasi menuju. Aplikasi web adalah tempat perangkat lunak menuju, dengan sedikit SaaS dan PaaS (platform-as-a-service) untuk boot. Menyampaikan aplikasi melalui browser Web adalah tempat pengembangan aplikasi yang paling menarik terjadi, apakah itu dengan aplikasi ASP.NET, aplikasi portal Sharepoint, LAMP (Linux Apache MySQL PHP), Java, atau Ruby on Rails. Tambahkan ke kemampuan yang ditawarkan oleh penyedia PaaS, seperti Amazon, Salesforce / Force.com dan Google, dan semuanya menjadi sangat menarik.

Antarmuka web dalam aplikasi dapat menjadi hal yang lucu. Apakah UI Web sesuatu yang muncul di atas aplikasi yang dirancang dengan baik? Apakah desain UI Web mendorong sisa desain aplikasi? Apa yang dirancang pertama, antarmuka belakang atau antarmuka front-end? Nah, itu mungkin campuran keduanya, dengan satu faktor pendorong yang sangat signifikan. 7 Kebiasaan produktivitas guru Steven Covey berkata, "Mulailah dengan akhir dalam pikiran." Semacam gagasan bahwa Anda tidak akan tersesat jika Anda tidak tahu ke mana Anda pergi. Saya telah mengadaptasi kata-kata Covey: Mulai dengan pengguna akhir dalam pikiran. Menciptakan keseimbangan yang efektif dari desain front-end dan back-end dalam aplikasi Web adalah keterampilan berseni agar dihargai oleh para pengembang aplikasi Web yang telah menemukan tidak hanya bagaimana menemukan itu menyeimbangkan, tetapi juga membantu orang lain di tim melihat, menghargai, dan menghargainya.

Jumlah aplikasi Web yang akan kami buat di bulan dan tahun yang akan datang hanya akan meningkat. Tim dan pemimpin teknis yang dapat melakukan ini dengan baik sangat berharga dalam hal emas. Lakukan ini dengan baik dan Anda akan memiliki pilihan proyek dan perusahaan Anda untuk bekerja.

Leverage virtualisasi: Saya baru saja berbicara beberapa hari yang lalu dengan beberapa rekan tentang driver keuangan di balik virtualisasi. Ada beberapa cara yang saya suka untuk menunjukkan ini, dan hal pertama yang saya katakan adalah; Virtualisasi adalah teman terbaik CFO (Saya berbicara tentang ini di podcast saya beberapa waktu lalu.) Hal kedua yang saya katakan adalah: Ada tiga jenis CFO: yang meminta TI bagaimana virtualisasi dapat menghemat uang, mereka yang telah ditunjukkan oleh IT bagaimana virtualisasi dapat menghemat uang, dan terakhir, mereka mencari kepala TI mereka selanjutnya.

Ingin mencetak poin dengan bisnis? Buat langkah besar dalam perangkat keras, pusat data, perangkat lunak, dan penghematan fasilitas dengan memanfaatkan virtualisasi di mana pun Anda bisa. Ini tidak selalu gratis, terutama untuk mendapatkan kemampuan manajemen yang Anda perlukan untuk menyebarkan virtualisasi dalam skala apa pun, tetapi penghematan biaya yang berat atas pembelian perangkat keras biasa seharusnya dengan mudah membenarkan biaya perangkat lunak pada ROI konsolidasi. Sekarang ambil level berikutnya, dan tunjukkan bagaimana Anda bisa mendapatkan load balancing, failover, pemulihan bencana, dan kemampuan lain melalui virtualisasi, dan CFO Anda akan menjadikan Anda Pemegang Kehormatan dari Golden Spreadsheet di Green Visor berikutnya. konvensi akuntansi.

Virtualisasi tidak hanya untuk pusat data. Sebagai pengembang aplikasi, rencanakan bagaimana Anda dapat memanfaatkan virtualisasi dalam arsitektur aplikasi Anda, opsi penerapan, pengujian unit, dan pengujian QA. Virtualisasi menghasilkan kotak pasir hebat ketika menguji ide desain, simulasi konfigurasi jaringan dan server, dan memuat sejumlah besar mesin pengguna akhir yang disimulasikan. Manfaat QA saja membuat argumen yang menarik untuk penghematan biaya virtualisasi seperti yang dilakukan di pusat data. Jika QA dan lingkungan lab Anda semakin besar, bukan lebih kecil, Anda melakukan sesuatu yang salah.

Jika Anda mencari tempat untuk mulai menenggelamkan gigi Anda ke virtualisasi, unduh versi gratis untuk Hyper-V, Xen, dan VMware. Anda akan segera melihat kebutuhan akan kemampuan manajemen tambahan, tetapi hal-hal gratis sangat bagus untuk memulai.

SaaS multi-penyewa dan skalabilitas: SaaS adalah tempat di mana, apakah Anda berbicara tentang aplikasi on-demand perusahaan atau produk dan layanan yang dikirim melalui web. Ini adalah salah satu area terpanas dalam industri kami saat ini. Tetapi SaaS membawa beberapa tantangan baru yang sebelumnya tidak dihadapi, yang mengarah ke beberapa kekurangan keterampilan di bidang-bidang baru. Mungkin yang paling tidak menyenangkan adalah apa yang disebut sebagai multi-tenant: kemampuan untuk sepenuhnya mendukung banyak pelanggan (perusahaan) dalam satu aplikasi online yang dihosting.

Apa masalahnya, Anda katakan? Kami sudah mendukung struktur organisasi yang rumit dalam aplikasi kami? Nah, ingat bahwa Anda mungkin melakukan ini dalam satu perusahaan, atau UKM / SBM. Sekarang, bayangkan mengakomodasi persyaratan kompleks dari ratusan atau ribuan perusahaan. Atau, jika layanan Anda dijual kepada perorangan, ini tentang menangani persyaratan untuk ribuan pelanggan kecil. Multi-tenant juga berarti bahwa semua opsi konfigurasi dapat diubah oleh pengguna. Tidak ada default sistem yang berfungsi untuk semua pengguna karena kita bukanlah satu keluarga besar yang bahagia. Banyak opsi konfigurasi lainnya yang harus diekspos agar pengguna dapat menyesuaikan untuk memenuhi kebutuhan individu atau organisasi mereka sendiri. Tantangan ketiga yang saya lihat di lingkungan multi-tenant adalah skalabilitas. Imaging Anda menjalankan semua pelanggan tersebut pada perangkat lunak Anda. Database yang sama, desain klaster, desain manajemen transaksi (untuk menyebutkan beberapa masalah) mungkin tidak berfungsi pada skala layanan SaaS.

Jika Anda memahami masalah ini dan lebih baik lagi, telah menyelesaikannya dalam aplikasi SaaS yang digunakan, Anda termasuk di antara beberapa elit. Bahkan jika Anda belum melakukannya sebagai aplikasi SaaS, sistem yang sama dan keterampilan dan pengalaman arsitektur perangkat lunak adalah landasan untuk membangun dari untuk pindah ke lingkungan SaaS. Jika generasi aplikasi Anda berikutnya adalah aplikasi Web dan mungkin termasuk komponen SaaS (atau akan sepenuhnya SaaS), kini saatnya untuk mengasah keterampilan tersebut dan memberi tahu orang lain bahwa Anda memilikinya. Ini akan membuat Anda semua yang lebih berharga.

Menulis kode aman: Setiap pengembang menulis kode, tetapi tidak setiap pengembang menulis kode aman. Meskipun ini bukan keterampilan yang dipahami banyak manajer (atau yang lain, dalam hal ini), pengembang yang tidak hanya dapat menulis kode aman tetapi juga mentor dan mengajar pengembang lain cara membuat kode aman dapat menjadi anggota tim yang sangat berharga.

Menulis kode aman lebih dari sekadar mengkhawatirkan serangan buffer-overflow yang tidak jelas atau kondisi balapan. Anda jelas telah melihat sekarang tema saya bahwa semakin banyak aplikasi adalah aplikasi Web, dan semakin itu juga menjadi aplikasi SaaS dalam banyak kasus. Serangan web berada di garis terdepan risiko di mana praktik pengembangan perangkat lunak yang baik dan aman perlu diterapkan. Injeksi SQL, skrip lintas situs, URL ajaib, dan formulir tersembunyi, pencegahan kebocoran data, mengamankan layanan Web, dan penerapan SSL yang buruk adalah contoh masalah keamanan yang harus dipertimbangkan dan diakomodasi oleh pengembangan perangkat lunak saat menulis kode aman.

Jika Anda Sedang mencari beberapa sumber yang baik untuk membuat Anda mulai menyusuri jalan menciptakan kode aman, saya akan merekomendasikan dua buku 19 Dosa mematikan Keamanan Perangkat Lunak oleh Howard, LeBlanc dan Viega, dan Keamanan Layanan Web oleh O'Neill.

Otomatisasi dan metrik QA: Jika Anda orang QA, Anda punya tempat khusus di hati saya. Jika Anda adalah orang QA yang hidup untuk mengotomatisasi pengujian QA, mengambil metrik dan menggunakan data tersebut untuk meningkatkan pengembangan perangkat lunak dan praktik QA, maka Anda memiliki tempat khusus di surga! Seperti yang Anda ketahui, saya menempatkan banyak nilai pada keterampilan QA berkualitas tinggi, terutama praktisi yang terampil yang tidak hanya menemukan semua bug perangkat lunak jahat sebelum perangkat lunak keluar dari pintu, tetapi juga tahu cara mengotomatisasi pengujian dan menggunakan pengetahuan yang diperoleh untuk meningkatkan bagaimana perangkat lunak dibuat dalam prosesnya. Pengembang perangkat lunak mungkin adalah penyanyi utama dan pemain gitar di band, tetapi seperti yang dialami musisi berpengalaman, itu adalah drum dan bass yang membuat atau menghancurkan band. Saya suka mengatakan; cinta pengembang, dan percaya QA. (Sebenarnya, aku juga mencintai orang QA.)

Ingin menjadikan dirimu sebagai orang QA? Otomatisasi, otomatisasi, otomatisasi. Proyek-proyek terbaik yang pernah saya kerjakan memiliki pengujian otomatis hingga 90% ke atas, dan pengujian dilakukan ratusan dan ratusan kali sebelum perangkat lunak dikirimkan. Sekarang, itulah yang saya sebut pengujian regresi! Fungsionalitas baru mungkin diuji secara manual, tetapi tes selalu otomatis sebelum desain dilakukan pada rilis perangkat lunak berikutnya. Itu tentang satu-satunya cara CTO dan VP teknik yang pernah bisa tidur. Sekarang, ambil satu langkah lebih jauh dan berikan rekan Anda, pimpinan teknis dan manajemen dengan pembelajaran dan wawasan yang Anda dapatkan dari semua pengujian itu dan Anda akan mencapai status nirwana dalam buku saya. Pengetahuan yang terkandung dalam semua hasil tes dapat mengambil bahkan organisasi pengembangan terbaik ke ketinggian baru.

CERTS, semua dan semua menyambut: Saya suka katakan; Anda tidak pernah bisa salah dengan CERTS. Itu berlaku untuk permen nafas serta sertifikasi teknis. Semua orang suka berdebat tentang nilai sertifikasi: apakah sertifikasi A + bernilai; jika layak mendapatkan MCT vs pergi untuk MCSE penuh; jika memiliki CISSPs membawa bobot yang sama seperti dulu; dan berapa banyak manajer yang menghargai sertifikasi apa pun atas pengalaman kerja. Tetapi pada akhirnya, itu bisa membuat perbedaan antara Anda mendapatkan pekerjaan di atas kandidat terakhir. Mendapatkan sertifikasi itu pasti tidak akan terasa sakit!

CERTS menunjukkan bahwa Anda telah mencapai sesuatu yang menunjukkan Anda memiliki tingkat keterampilan tertentu, dan ini telah ditunjukkan dengan memenuhi kualifikasi sertifikasi. Mereka belum tentu akan membiarkan Anda menerbangkan pesawat, tetapi Anda mungkin memiliki kesempatan yang lebih baik untuk mendapatkan kursi di atas kapal dengan organisasi TI. Anda akan selalu menjadi terlalu berharga untuk kehilangan daripada dibuang ketika masa ekonomi sulit.

Jika Anda ingin mempelajari lebih lanjut tentang sertifikasi Microsoft, kunjungi bagian belajar dari situs Microsoft untuk sertifikasi. Saya juga merekomendasikan beberapa buku pelatihan sertifikasi dari Microsoft Press, seperti Kit Pelatihan Administrasi Server Windows oleh McLean, Mengkonfigurasi Kit Pelatihan Klien Windows Vista oleh McLean, dan Layanan Informasi Internet (IIS) 7.0 Resource Kit oleh Volodarsky.