Software Development in 2018: Trends, Tools & Technologies

Here’s a list of software tools & technologies that are popular among software developers around the world in 2018.

Full Stack Web-Development

  • MongoDB, MySQL, Redis & AWS.
  • Also worth knowing: Typescript, Docker, Kubernetes, PostgreSQL & Elasticsearch.

In the Python programming language community, Django is the popular choice for implementing web-services.

Mobile Apps

Machine Learning & AI

Java Platform

Windows Ecosystem

Programming Languages

Text Editor

Software Development is a creative, dynamic & community driven field. Tools and technologies using which the developers build software changes quite rapidly. In such a scenario, it’s beneficial to know what tools & technologies other developers, around the world, are using to create better software, faster.

Before we move on, let me cite the reference for this blog post, which is the stack overflow developer survey, in which about a 100 thousand software developers, across the globe, took part in.

The majority of the roles assumed by software developers are Front-end, Back-end, Full-stack and Mobile developers, with almost 60% of the developers identifying themselves as Back-end developers. It’s interesting to know that almost 50% of them contribute to open-source projects. It’s surprising to know that almost 50% of the developers use Windows as their primary development operating system (OS), followed by macOS (25%) and the rest using Linux. Visual Studio Code has become the most popular code-editor among the software developers.

Popular Tech

Programming Languages

Java takes the second spot. Introduced in the mid 90s, with it’s ability to write-once, deploy on any platform that can run the Java Virtual Machine (JVM) and object-oriented design, it quickly became popular among software developers during that time. Using Java, we can build web back-ends, Android apps and cross platform software applications for macOS, Windows and Linux.

Python takes the third sport. Python is general purpose programming language which aims to provide a simple language syntax, using which software developers can write readable and maintainable software. During the decade of year 2000, many popular web-services were implemented using Python (Google, Youtube, Reddit, Quora etc). Now, with the rise of Machine Learning & Data Science, it’s popularity is soaring again. Using Python, we can create web back-ends and cross platform software applications for macOS, Windows and Linux.

Frameworks

Node.js takes the top spot. Prior to Node.js, Javascript was mainly confined to run inside web-browsers. With the introduction of Node.js, software developers could write Javascript programs that can run without a web-browser and can access computer’s resources. Coupled with the ability of front-end developers being able to write back-end code & vice-versa, async support out of the box and 3rd party libraries for doing just about anything (npm), Node.js revolutionized the way how web-services are developed. Using Node.js, software developers can create web back-ends and cross platform software applications for macOS, Windows and Linux.

Angular & React take the second & third place respectively. Using Angular & React, software developers can create modern web front-ends. Recently, React has been gaining a lot of popularity and it’s expected to displace Angular to become the dominant front-end framework.

Fourth place is taken by .Net Core, a software framework using which we can build web back-ends. It’s worth checking the .Net framework’s home page. Using the .Net framework, we can build cross-platform web back-ends, cross-platform mobile apps, games & IoT apps for the Windows platforms.

The next position held by Spring, a Java framework using which we can create software for platforms that can run the JVM.

The sixth place is taken by Django, a Python framework using which we can create web back-ends.

Databases

MySQL is an open-source DBMS, which is now owned by Oracle. SQL Server is DBMS from Microsoft. PostgreSQL is also an open-source DBMS which is used for data warehousing purposes.

The next place is taken by MongoDB, a popular NoSQL database, followed by SQLite, a light-weight, extremely fast & simple database.

It is followed by Redis, an in-memory database, which is mainly used for caching purposes.

Platforms

The most popular platform is Linux, followed by Windows desktop/server.
Android takes the third place, which indicates that it is the dominant mobile platform among the mobile app developers. Amazon Web Services (AWS) takes the fourth place.

Most Loved, Dreaded & Wanted

Programming Languages

Rust is programming language which aims to be a programming language for creating system software (such as operating systems, game engines etc.). It’s primary focus is memory safety and high performance.

Kotlin is an application programming language which requires the JVM to run. A software written using Kotlin can be run on any machine that can run the JVM. The goal of Kotlin is to become a better programming language than Java. Kotlin is the second officially supported programming language for creating Android apps.

Go is a programming language developed by Google, with the aim to create new a programming language, which has the good features of C++ (high performance and scalability) and overcomes the negative aspects of it.

Frameworks

Tensorflow is machine learning framework by Google, using which we can build machine learning applications. Pytorch is a deep learning framework. Both Tensorflow & Pytorch are Python frameworks.

Databases

Elasticsearch is text search engine. For example, using Elasticsearch, we can build text auto-complete/search-as-you-type functionality. Along with Logstash and Kibana, it’s popularly used for log processing.

Platforms

Serverless a paradigm supported by major cloud providers, is way of developing web services consisting of managed services provided by the cloud providers. In this way, the developers/companies need not maintain their own servers for software development and operation purposes.

Well, that was a lot of information! What type of software do you develop? What skills do you posses? What skills are you planning to acquire? Let the discussion begin!

Nom Nom

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store