Search This Blog

Showing posts with label itdata. Show all posts
Showing posts with label itdata. Show all posts

Sunday, 29 January 2012

10 skills for developers to focus on in 2012


Takeaway: Quick: Throw out last year’s list of must-learn dev skills — it’s already obsolete. This new list will help you rethink your skill set to avoid falling behind.
Software development had a few years of relative calm. But now the rollercoaster is back on track and it’s picking up speed, as HTML5 gains a foothold and Windows 8 threatens to significantly change the Windows development landscape. If you want to stay ahead of the curve, you should consider learning at least a few of these 10 software development skills.

1: Mobile development

If you don’t think it is worth your time to learn mobile development, think again. Global shipments of Android phones in 2011 are almost equal to PC sales. Add in the other big-name mobile devices (iPhones, iPads, and even the “dying” RIM devices), and what you see is that mobile devices now dwarf PCs in sales. What does this mean? If you make your living from software that can run only on a PC (which includes Web sites that don’t work or are hard to use on mobile devices), now is the time to learn mobile development.

2: NoSQL

I appreciate a well-designed relational database schema as much as the next person, but they just are not appropriate for every project. We’ve been using them even when they aren’t the best tool because the alternatives haven’t been great. The last few years have seen the introduction of a wide variety of NoSQL database systems. And now that major service vendors (like Amazon and Microsoft) support NoSQL as well, there is no technical limitation on their use. Are they right for every project? No. Are they going to replace traditional databases? In some projects, and for some developers, definitely. This is the year to learn how to use them, as they will only become more prevalent in the year to follow.

3: Unit testing

We’ve seen unit testing go from being, “Oh, that’s neat” to being a best practice in the industry. And with the increasing use of dynamic languages, unit testing is becoming more and more important. A wide variety of tools and frameworks are available for unit testing. If you do not know how to do it, now is the time to learn. This is the year where it goes from “resume enhancement” to “resume requirement.”

4: Python or Ruby

Not every project is a good fit for a dynamic language, but a lot of projects are better done in them. PHP has been a winner in the industry for some time, but Python and Ruby are now being taken seriously as well. Strong arguments can be made for Ruby + Rails (or Ruby + Sinatra) or Python + Django as excellent platforms for Web development, and Python has long been a favorite for “utility” work. Learning Python or Ruby in addition to your existing skillset gives you a useful alternative and a better way to get certain projects done.

5: HTML5

HTML5 is quickly pulling away from the station. The impending release of IE 10 is the last piece of the puzzle to make the full power of HTML5 available to most users (those not stuck with IE 6 or IE 8). Learning HTML5 now positions you to be on the forefront of the next generation of applications. Oh, and most mobile devices already have excellent support for it, so it is a great way to get into mobile development too. And don’t forget: HTML5 is also one route for UI definitions in Windows 8!

6: Windows 8

Windows 8 should be released sometime in 2012, unless the schedule slips badly. While Windows 8 may very well get off to a slow start, being the top dog in an app store is often based on being the first dog in the race. The first mover advantage is huge. It is better to be in the Windows 8 app store at launch time than to take a wait-and-see approach. Even if Windows 8 sales disappoint, it’s better to be the only fish in a small pond than a fish of any size in a big pond, as recent app sales numbers have shown.

7: RESTful Web services

While I personally prefer the convenience and ease of working with SOAP in the confines of Visual Studio, REST is booming. Even Microsoft is starting to embrace it with OData. JSON really was the final straw on this matter, relegating SOAP to be for server-to-server work only. Unless your applications can run in isolation, not knowing REST is going to hold you back, as of 2012.

8: JavaScript

Before the Windows 8 Developer Preview, it was easy for non-Web developers to look at JavaScript as a Web-only language. No more! JavaScript is now a first-class citizen for native desktop and tablet development, thanks to the Metro UI and WinRT API in Windows 8. XAML + C# or VB.NET may be a good way for you to get things done, but if you want to maximize what you can get out of your knowledge, HTML5 and JavaScript are the best bet. They give you Web andMetro/WinRT, and you can also use them for some of the cross-platform mobile systems out there, like Appcelerator’s Titanium product.

9: jQuery

If you are going to do any kind of Web development where you are working directly with HTML, jQuery is becoming a must-know skill. While there are plenty of credible alternatives, jQuery is quickly turning into the de facto tool for rich UIs with HTML.

10: User experience

Other than getting that first mover advantage in new app stores, there is little to differentiate many applications on a feature basis; it’s a crowded field. User experience, on the other hand, is a different story. Creating a great user experience is not easy; it starts before anyone even downloads your application and continues through to the uninstall process. In the age of instant $0.99 and free app downloads, and ad-supported Web apps, the barriers to switching to another application are mighty low. If your user experience is poor, do not expect much business.

Saturday, 9 July 2011

The 10 best ways to visually represent IT data

The 10 best ways to visually represent IT data


In all areas of IT, there are a number of situations where certain ways of presenting data, configuration details, or a sequence of events work best. We often tend to rely on one tool for everything because we’re familiar with it, but that isn’t always the best approach. Here is my top 10 list of the most effective ways to visually represent IT data.


1) Network connectivity — Microsoft Visio


Visio is a capable tool for documenting network connectivity. It’s not the right tool for documenting the configuration, but it does a good job of outlining the logical layout. From a top-down perspective, I feel Visio does this best. Figure A shows a sample network diagram that clearly shows the logical layout of the network.


Figure A
Figure A


2) Application layout and architecture — Microsoft Visio


Let’s face it: Applications can get complex today. Virtual machines, replicated databases, firewall configurations, virtual IP addresses, mobile applications, and more make documenting an application flow no easy task. Again, I’ve found Visio to be the tool that reigns supreme. In the example shown in Figure B, many complicated aspects of the infrastructure are represented visually in one flow. While it doesn’t address the details of aspects such as the database replication, it is a good springboard to those other areas of key content.


Figure B
Figure B


3) Free disk space — Pie charts


I’m not really a fan of pie charts, but they do the trick for representing free space on a disk. This can be Windows drives as well as critical volumes, such as a VMware VMFS datastore or a drive on a storage area network (SAN). The pie chart is a veteran at representing free space, and in the example shown in Figure C, you can see its effectiveness for this application. But take a pie chart with a grain of salt. We need to visualize how much drive space is used as well as how much free space is available.


Figure C
Figure C


4) Year-over-year performance tracking — Excel 3D bar charts


For tracking performance year over year for a moving target, I find that the 3D bar charts within Excel do a good job of showing the progress. It doesn’t have to be year over year, either; it can represent quarterly assessments or even a comparison of something, such as different offices. In my work experience, I created a simple 3D bar chart within Excel that looked something like the one in Figure D to track progress moving to virtual machines from physical servers.


Figure D
Figure D


5) Consumption compared to other like entities — Excel Bubble charts


Quickly visualizing the consumption in proportion to other like consumers is easy with the bubble chart. One common example is representing the number of servers (or PCs) in a given location, which the bubble chart in Figure E does well. But it’s important to note that there is a significant limitation with the bubble chart: It assumes that all items are equal consumers. A good example would be 100 file servers compared to 100 Oracle database servers. In most situations, the file servers require much less maintenance and resources than the database servers. Nonetheless, the bubble chart is effective in displaying numbers by category.


Figure E
Figure E


6) Performance reporting — Line graphs


The line graph is a good way to represent direct consumption. A number of tools utilize the line graph for this function, including the VMware vSphere Client, shown in Figure F. But the line graph also has a limitation: If the tool displaying the consumption does any normalization of data, there may be missing highs or lows. To be fair, when there is so much data to manage, normalization of performance data is a common occurrence.


Figure F
Figure F


7) Step-by-step procedures — Camtasia Studio


When it comes to showing something onscreen, the de facto standard for recording the activity for replay is Camtasia Studio (Figure G). Camtasia has all the features you would want, including voice overlay and easy uploads to popular sites such as YouTube. This is a good way to practice a presentation and deliver solid emphasis without having to reinvent the wheel every time. I’ve also used Camtasia a number of times for prerecording demos to play during live presentations. Pausing the recording to explain an important point or field a question isn’t as distracting as interrupting a live demo. Even if I am giving a live demo, a Camtasia recording is a nice backup or “emergency demo,” if I need it.


Figure G
Figure G


8) Topics in outline form — Microsoft PowerPoint


There are a number of strategies for creating and delivering PowerPoint presentations (and presentations in general). But PowerPoint is especially useful for creating an outline that can be conversationally discussed (Figure H). I’ve learned a few tricks over the years: Never have a presentation go longer than 59 minutes and 59 seconds; don’t cover more than three main topics per slide; and make the outline focus primarily on the problem, which you can then backfill with the solution.


Figure H
Figure H


9) Customized maps — Microsoft Visio


Visio has map stencil objects (Figure I) you can use to document all kinds of things, such as assigning territories within a business and mapping out network and datacenter connectivity. You can download the map stencils from Microsoft (click the Find Shapes Online option). A U.S. stencil and a world stencil are available for modern Visio versions.


Figure I
Figure I


10) Specific data sets –Webdesigner Depot


This awesome resource has a number of links to tools that provide specific visualizations of things such as Internet trending topics and the Internet as a whole, as well as images of an event or even the history of science. Figure J shows a good way to visualize current events on the Internet using Web Trend Map 4. The popular Infographic series is also a great resource that will inspire new ways to present data in an interpretable manner.


Figure J
Figure J

Related Posts Plugin for WordPress, Blogger...