jump to navigation

Five technology trends that every software engineer ought to know December 13, 2011

Posted by 9672nayyarm in Software Engineering.
trackback

For a software engineer it is extremely important to keep himself/herself up to date with the emerging technologies, software development methodologies and trends. The field of software engineering is vast and it is not always easy for an individual to learn every new technology and live a normal live simultaneously. Therefore, it is important to be aware of the current technology trends and pick the ones for research and exploration that may have most impact on software engineering in the years to come.

In this blog I have picked the top 5 technologies trends of present time that I feel every software engineer must be aware of and explore, these are:

Technologies around big data (Hadoop, Hive, MapReduce)

Data growth is exponential, today we are creating data at much higher speed than we used to 10 years ago. In the last 10 years we have generated other non-conventional data such as emails, text documents, pictures, videos, text messages, context-aware data, computer logs, social networking, internet data (web analytics), data from industrial sensors and satellites etc.  According to Gartner, business and technologist are realizing that there is more potential value in evaluating other types of data, some that currently exists in the enterprise but companies never analyzed it or looked for patterns and some data from sources like social media and mobile devices.

MapReduce, Hadoop and Hive are exciting new paradigms for designing and developing distributed and parallel applications to handle large volume of datasets. These are emerging technologies to support big data, there are lots of opportunities to build big data solutions using these technologies. There is a need to understand their potential value and explore how to design big data solutions and making the best use of Hadoop, Hive and MapReduce.

Cloud based technologies

Cloud computing is continuously growing and becoming a new computing paradigm of great interest to software engineers and at the same time posing technological challenges to them. In the years to come we anticipate more formal software engineering processes to evolve around this paradigm specifically addressing issues like security, privacy, scalability, collaboration, performance, reliability and availability.

For a software engineer it is important to be knowledgeable about the trends and technologies around cloud based solutions. Mobile cloud, cloud-to-cloud integration, security and privacy solutions for mobile cloud or cloud in general are some of the areas where significant research opportunities are available.

Software Product Lines (SPL)

Software product lines (SPL) is a software engineering technique to develop product lines of similar software systems based on reuse of the software architecture and of the software components. The concept of developing software products from reusable parts is not new but because of the recent advance in SPL field the technique is becoming popular and has proved improvement in developing faster, cheaper and quality software product lines.

As SPL are emerging as a viable and important development paradigm I would emphasis software engineers to exploit the research opportunities around it.

Agile Methods &  Concepts

Agile development methodologies are becoming more and more matured and it is almost essential for every software engineer to be well aware of all of these methodologies. Agile concepts are also being used in trends like DevOps, cloud computing and mobile computing. Some of the agile methodologies that a software engineer should know are,

Mobile Computing

Today information is available almost everywhere and accessible at any time. Businesses and consumers now increasingly rely on mobile devices like smartphones and tablets. Location-based services, social networks, mobile payment processing, integration with enterprise systems, and lots of consumer based applications have made it possible for customers, suppliers and corporate employees to get their needed services and goods from anywhere at any time.  The use of sensor technology in mobile devices is another hot trend that may have a huge impact on our lives in the years to come.

Mobile computing is hot and will remain hot in the years to come, there will be lot of opportunities in researching and developing sensor based solutions, also a lot needs to be done to ensure the security and privacy around mobile solutions, I would emphasis that a software engineer must be at least aware of the technologies and tools being used in mobile computing.

Advertisements

Comments»

No comments yet — be the first.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: