Monday 30 September 2013

Linux for Everyone

Linux is quite well known today among the IT community but I find that there are still very few people using it as their desktop system both for home as well as office/school/college use. So here I share some facts with you about Linux that may make you want to try it out.

For Everyone
  1. Linux is a very mature Operating System. With its first release in early 90s it has become extremely powerful and mature in the last 20 years and is under very active development and improvement constantly by several hundred developers contributing to its open source
  2. Linux is extremely fast and runs very well on even lower end desktops and laptops. It runs quite well even with 286 MB RAM. With 512 it flies on most hardware. Most people today have 1gb or more on their computers
  3. Linux is extremely customizable - more than any other operating system in use today and you can modify its looks easily and for free
  4. It has a rich suite of productivity applications like OpenOffice, LibreOffice, ApacheOffice among the most popular ones. All of them are feature rich and even provide support for MSOffice file formats
  5. Linux supports all software that you may ever want to use normally. With the increasing trend of software applications on the cloud (like Google Drive, Google Office, Office 365 etc.) this is hardly a constraint for Linux
  6. Support for Linux is as easy as searching for a term on Google. The tutorials for doing anything on Linux are plenty and easy to find
  7. Linux is also pleasing to the eye (an example below of a customized Linux desktop) and with very powerful desktop management systems today (GNOME, KDE among the most popular ones) you can make it look like anything you want - even make it look like a Mac OS or Windows (if that is what you want)
  8. Of course it is also free and almost all of the software that you will want to use on it is also free (and mostly opensource)
A Customized Linux Desktop Looks Beautiful

Suse Linux

For Developers
  1. Linux as a platform is great for developers as well with almost all development tools having excellent support on the platform. Even for Microsoft Technologies - With tools like MONO (http://www.mono-project.com/Main_Page) developers can develop real cross platform .Net applications using C#
  2. The well known Android OS for mobile devices is a variant of Linux and it looks like linux is fast gaining mainstream focus as a mobile device platform too
Try it out yourself
If you wish to experience Linux in Action you may want to try out one of the following very popular linux distributions. They run out of the box and install as smoothly as any other popular operating system on your desktop or Laptop:

PS: 
For those who have heard of or tried Chromebooks based on Chrome OS from Google - that too is a cut down version of Linux that is optimized to work with Chrome Browser as the main interface for the users.

Wednesday 25 September 2013

Java, C, C++ still rule

Lets start by admitting that there is no "industry standard" ranking mechanism for popularity of programming languages in the world.

There are however many ways in which people do surveys, analyse data from different sources like job offerings, training courses, searches on internet and technology sites etc. that help us conclude which programming languages are taking the top mindshare at the moment.

There are three articles that I'm going to link to at the end of this post. All three of them have based their ranking on different ways of measuring the programming language popularity. However, if we combine the results from these three and try to make a conclusion we will find that the top 3 most popular programming languages today are:

  1. Java
  2. C
  3. C++
They appear among the top 5 in almost any similar survey or data analysis and it is safe to arrive at our conclusion.

There are other's that come close in popularity and usage - namely Objective-C, PHP and C#.

What does that mean for the young IT graduates?

It means that if you focus on building good programming skills using the popular 3 languages, you will have a higher probability of finding the right jobs sooner. 

There are of course other skills that will go along with it. Databases is one.
Databases are used on almost all business applications and even if you learn the programming languages, you may not be able to use them much unless you learn how to interact with and use databases. So learning about databases and SQL is important too.

Three sources that have inspired this blog post are:
  1. TIOBE Programming Community Index for September 2013
  2. InfoWorld.com
  3. Best Programming Languages to Learn in 2013

So buckle up and build your skills if you want a rewarding career as an IT Engineer.

Monday 23 September 2013

I want to be only a developer!!

How many times we hear this from the fresh graduates just out of college, looking for an IT job and rejecting some job offer that may not be a profile for a java or .net or some other programming language developer. I, for one, hear this very often from fresh graduates these days.

But there is another take on this, and that is my personal view about the situation.

I think if you want to be a developer but are getting your first break as a tester or an infrastructure management engineer then it may still be worthwhile to take up that job.

What will you gain?

  • For one you will gain professional experience
  • Then of course you will gain money from the job
  • The job will also give you the time and the environment to understand much better what people do in various profiles in IT companies and you can make a more informed decision about what you want to do in your professional life
In a nutshell, you will have several avenues to explore once you start on a job in the IT industry and keep a keen lookout for what you would like and prefer to work on.

If you are actually good at programming you will not give that up even if you are not getting a break as a programmer in your first job. In fact, the keen programmers are generally busy picking up new skills by creating apps on different software platforms or writing code to make some piece of software. They will generally be spending time outside of their formal jobs to gain new knowledge and to hone their skills. After all so many excellent open source projects are done by people in time outside of their formal jobs.

Now what will you lose if you do not take up the opportunity for starting on your first job?
  • For one you will lose on possible professional experience
  • You will lose money
  • You will lose the opportunity to make a more informed decision about your career preference
  • You may spend time looking up for jobs that you might have otherwise spent learning new skills
  • If the job scenario is challenging for fresh graduates, as it is this year for the IT graduates in India, you may find it even more difficult to find a job by the time the next batch graduates and then you will find yourself getting outdated
Again, I say that this is my personal opinion and may be different from that of many others, but I feel strongly that one will learn a lot from any professional experience especially on one's first job.

There are several examples of prominent people around who have found success in their professional life doing something quite different from what they started their careers with and leveraged all their experiences in previous jobs as stepping stones to their success.

So, take a pause, think rationally rather than emotionally about taking up that first job and move on. In a professional career of an average of 40 years or more, the first few months will not count so much towards the technical knowledge that you will acquire but much more for the professional experience that will help you shape your career.


Saturday 21 September 2013

What is Multi-Path TCP

It's an interesting new technology that is quietly getting added to our daily life. Read on:
Apple’s iOS 7 includes a surprise: a ticket to the next generation of the internet

Thursday 19 September 2013

Starting off with Infrastructure Management

One career option that is quite a remarkable one in the IT services field is that in Infrastructure Management. The job in this domain deals with management of IT infrastructure both hardware and software.

Broadly speaking we may classify service providers in this area into two groups:

  1. Those managing both hardware and software
  2. Those managing only software
The first category of service providers comprises of data centers, network service providers etc that have the hardware installed in a facility that they manage. They manage at least the basic service providing software that is installed on top of this hardware.

The second category of service providers comprises of organizations that have people managing only the software that is running on such hardware infrastructure and almost all of these people would be doing this management remotely.

Typcially the software management would deal with 
  1. Management of server operating systems (Unix/Linux, Windows or even operating systems in virtualized model). We will talk about virtualization in a separate post.
  2. Management of databases (for example Oracle, MS SQL, MySQL or any other database installation)
  3. Management of software applications (for example mail servers, or any other applications that are made available to people over the internet). there are thousands of such applications that are used in this manner by people as individuals as well as by organizations for their business processes.
An Infrastructure Management professional may be dealing with any or all of these in their day to day work and would tell you that it is extremely challenging work. What makes it challenging?

For one, most of the time the software that is running in this model is extremely business critical for any organization (think about banks running their applications that cannot afford even a second of downtime). 

Professionals may have to deal with hardware failures, software failures, upgrades, updates, migration of software and many other operations that involve lots of planning and careful execution (taking and restoring huge backups among other things).

All in all, this makes this career path among IT professional very interesting with daily chunks of problem solving and opportunity to take very serrious responsibilities in ensuring that the businesses of today run without a hitch.

A few interesting links that the readers may explore for further information are:

Tuesday 17 September 2013

Exploring Career Options for IT freshers

These days I get a chance to meet and talk to a lot of fresh graduates in Bangalore. They are generally 2013 and sometimes 2012 graduates.

I find that most of them are looking for a job in "Java" or "Testing". A smaller set of people mention Microsoft technologies and even smaller set of people say that they want to work on "SAP" and some new technologies in the field of mobile and "Big Data". None of them have heard about "Infrastructure Management" that has been a fast growing business for several IT services companies.

When I explore to find out what they understand about the kind of work profile in any of these technologies it is quite sad to know that they have little to no clue about what people in these profiles will do, what will be their career path etc.

Hence it will be useful if through a series of blog posts we provide some information about each of these career openings in the field of IT. I refrain from using the term "career path" because for the fresh graduates of this year, the career path will most probably be radically different from what most people in the industry have had and probably we cannot estimate correctly what that might turn out to be.

Over the next posts we will aim to take up some of these areas in the IT domain and try to explain to the fresh graduates what they entail.


What will we cover under TechUpdates

This label is for posts that cover updates about different technologies in the IT domain and innovations that are being reported from around the world.

The Careers Section

These posts covers information about several career options in the domain of IT.

The objective here is to present what people do in real life in specific roles in this domain. Most of the time what we know about a career option is based in what a senior, a friend or a relative would have told us and in most cases the information may be incomplete, biased by personal experience or most times influenced by personal beliefs.

One of the best ways to get this information in an unbiased manner will be to get the views from several people from a particular field and thus get a wider and deeper understanding of what that career option entails.

Saturday 14 September 2013

What will we cover under the TechLearning label

This label covers posts about several technologies in the domain. The objective of the posts here is help the readers understand the technology being discussed not only from the perspective of its definition but also its application in real life.

This should help the readers understand how the particular technology is being or had been used in real life thus making it easier to appreciate the role of IT in the everyday life in our world.