Trends in programming. In which programming field can you be more successful and make a better living? Growing confidence in functional programming languages

2017 brings us even closer to the future that has been imagined so many times by the inventive minds of science fiction writers. Artificial intelligence, virtual reality, quantum computing - all this a few years ago seemed to be the fruit of someone’s rich imagination, but now it is one step away from the mainstream. This means that programmers should prepare for the arrival of new technologies. Martin Puyre, who is the director of training programs and a practicing trainer-mentor at the Coding Dojo programming school, shared with InformationWeek his thoughts on the skills and necessary software development tools that will be relevant for programmers this year. He also named four technologies that he believes will prevail over the rest.

Hybrid client-server architecture. The vector set several years ago to shift computing to the cloud will remain unchanged this year. More to come software systems, which will combine local and cloud computing environments in varying proportions. For clarification: if web programming involves connecting a browser to a support server, on whose side the actual data processing occurs, then to work local programs it is not needed - all calculations are performed on the device itself, be it a smartphone or laptop.

For example, applications like OneNote or Firefox run on local devices, while web services such as Amazon or Gmail run on cloud servers. But there is also hybrid systems: since part of the calculations they perform can be performed both on the cloud side and locally, they cannot be classified as either applications or services. Take, for example, Xbox One. Games written for this system can offline mode work to involve local resource console, but when switching to multiplayer mode, the processing of locations is reproduced by the Xbox Live network service.

The example of Xbox One is indicative, but it is not isolated and there are more and more such systems. The GMaps or Outlook applications work in a similar way - allowing you to choose offline or online mode. Thus, the line between web services and regular applications is blurring, forcing companies to create integrated hybrid solutions. This is happening against the backdrop of growing computing power both in the devices themselves and in bandwidth web services. There is no indication that the process of software “hybridization” will slow down or stop; moreover, its bias - towards cloudiness or autonomy - will depend on the specific needs of a particular system or function.

If you need to ensure the functioning of functions that are needed to run on any device or browser (the ability to send messages and notifications to users, access to the camera, sound, GPS, file system, contacts, etc.), then you should pay attention to cross-platform development tools (Appcelerator Titanium, Kony Platform, Adobe PhoneGap, Xamarin, Cordova, etc.). Part of the application or service infrastructure that runs in real time or actively consumes network traffic must be maintained locally. As already mentioned, the choice of architecture will depend on the software requirements, but you need to keep in mind that most of it will move along a hybrid path.

Big data. Our digital age produces countless bits of information. There was a lot of it before, but now it is growing with biometric data collected by wearable devices; cumulative click databases that sites require to track user behavior and other data that grows exponentially. Big data analysis uses powerful tools such as cloud computing and algorithms machine learning.

Obviously, to solve problems in the field of big data, developers should use the appropriate tools - Python or languages ​​for functional programming Scala type. Keep in mind that the growth in the use of machine learning systems for data analysis is taking shape. Their work goes far beyond traditional programming with its specific cause-and-effect relationships - the software underlying machine learning works bypassing traditional practices, sometimes leading to results that go against what was expected. However, the need for machine learning systems to analyze big data will increase, as will the need for skilled engineers and data analysts.

A virtual reality. Any new technology always arouses a surge of interest. A similar thing happened with virtual reality (VR), but the high cost of devices stood in the way of popularity. Perhaps this year will be a turning point for VR, as many companies are working to make it cheaper. Google has advanced the most in this direction - the cost of its Daydream VR helmet is $79. For comparison, the HTC Vive helmet costs $800.

What’s important is that previously bulky and limiting VR gadgets continue to shrink in size. Along with this, the number of augmented reality (AR) devices on the market is increasing. For app developers, this can only mean one thing: Now is the time to hone your VR/AR-specific design and development skills. Along the way, you will need to grasp one of the most important aspects: the “transformation of consciousness” - when users will not yet put aside smartphones with the accompanying applications/services with a “flat” UI, but will already be prepared for the transition to VR.

To impress them, the creators of VR software will need to make an effort, and this is not only a matter of imagination, but also of skill: the development of virtual software must combine design skills in both 2D and 3D. In the short term, developers need to consider that most 3D applications will need to be converted to 2D and vice versa, otherwise they risk splitting or even losing their customer base. Let's take, say, Skype: should it be divided into two products - one for VR and one for everyone else? Or should it be a combination product?

Here we come to the question of designing interfaces that work uniformly both in the virtual environment and outside it. This is a serious application design problem that will have to be addressed soon. Another unsolved problem: setting up elements of VR systems, such as tracking sensors or light sensors needed to capture head and eye movements, to control non-game applications. Of course, to write software for devices such as Oculus Rift, HTC Vive, Google Daydream and Cardboard, you can use the Unreal Engine or Unity game engine, but, firstly, the difficulty is that for this the software needs to be converted to 3D, and , secondly, the task of relaying the code is complicated by the connection to the proprietary software and equipment of a particular VR device. To simplify it, standardization of hardware specifications will help, which hinders the growth of VR popularity.

Quantum computing. The PC market has been in decline for several years now, which means that Intel and AMD are in no hurry to comply with Moore's Law and save money on developing new technological processes. Moreover, the point is not so much this, but the fact that component manufacturers cannot indefinitely reduce the size of transistors. Meanwhile, Google and Microsoft are trying their hand in other directions, hiring quantum computing experts to work on engineering projects.

Quantum computers are a new word in the IT field; scientists are divided on their suitability for processing traditional tasks, but one thing is certain - such computers are capable of performing calculations an order of magnitude faster than transistor ones. It is possible that in the future quantum processors will serve as the basis for the creation of even smaller and at the same time more powerful devices. Surely some companies (Apple or Microsoft, for example) are already trying to create a single wearable super device that will completely replace the phone, tablet and laptop.

According to Puyret, programmers should educate themselves to increase their knowledge of technologies such as quantum computing, big data and mixed reality; It also wouldn't hurt to brush up on your knowledge in areas where you're already an expert, but you shouldn't neglect new programming languages ​​either. Oth also believes that this year programming will reach a new level and become less of a niche profession.

Each subsequent year brings new trends in programming and the process as a whole. In order to keep up with the times, you need to know what 2019 has in store for web programmers. What will be the new vector of industry development? Let's look at the 5 main programming trends in 2019 in this review.

Main trends in website development

This year we can expect a lot of promising things, such as new features in Javascript or an improved Motion UI. What else to expect and what to follow?

Mobile orientation

Not long ago, Google launched, which implies a primary role mobile devices over desktops. Also recently in information space there was news that the share Russian users“mobile-only” exceeded 35%. This means that every third person accesses the Internet only from mobile phones. Further more…

This is why Yandex and Google are introducing turbo and AMP pages everywhere. Mobile users find it inconvenient to use website pages that are not adapted for them, so Adaptive layout and creation skill mobile solutions– will be an extremely important skill in 2019.


Push notifications

Everyone already noticed the total popularity of Push notifications last year. And in the coming time, this technology will become more and more relevant. If previously they were just a way to convince the user to perform a certain action, now they are perhaps the most promising marketing tool.

At the same time, they are very effective both on the desktop and in mobile applications, so in each new project, setting up and connecting push notifications will be included in the project at the initial stage.

Progressivity of technology

Trends in the popularity of programming languages ​​provide a clear indication of which websites will be more popular this year. With the advent of AngularJS, which greatly expands the capabilities of HTML, old clumsy sites will sink into oblivion. Now sites need to be made much more “alive”: safer and more convenient. The user should not experience any difficulties in using the resource.

Chatbots and voice assistants

Last year, Yandex presented its new development - Yandex.Dialogs. In essence, it is a convenient interface for user interaction with business through voice assistant Alice. If you look at global trends, you can understand that chatbots and voice assistants have already outgrown the framework of banal answers to the same type of questions. Now they can fully replace some positions in the company and perform much more complex scenarios. That is why the implementation (or development) of a chatbot or voice assistant on a website will provide advantages in the actively developing e-commerce market.


Automation

Large businesses have long been experiencing problems with constant income growth and cost reduction when working on the Internet. Old website creation schemes can no longer satisfy all the needs of entrepreneurs. This is why business process automation skills are currently in demand. Creating an ERP portal and automating most routine actions on it is what the future of medium and large businesses on the Internet lies behind.

Instead of a conclusion

The Internet is an environment that can instantly create new trends and forget old ones. What was popular and effective today may become useless tomorrow and vice versa. That is why for a successful online business it is necessary to constantly improve existing functionality and test new capabilities.


It's no secret that things change at lightning speed in the web development industry. If you follow new trends, then you have most likely witnessed the rise and fall of numerous technologies. However, the growing web development trends in 2018 are those platforms, tools, and elements that have the greatest potential, popularity and growth prospects. And of course, if you are developing websites, then it constant support and updating to these same technologies is your number one priority.

Therefore, this article was written for everyone who prefers to keep their finger on the pulse and be prepared for all sorts of changes in the field of web development, as well as for a small number of ordinary people who decided to ask what is happening there and what web development trends are now in the top .

Web development trends in 2018

Today we bring you a list of the top 10 web development trends in 2018. These are web development trends that have already received recognition and have the greatest potential for growth. Include some of them on your site (visitors will definitely appreciate it) and you will be sure that its functionality meets the requirements of a modern user. So, let's go!

Progressive Web Apps (PWA - progressive web applications)

Recently, the popularity of native mobile applications exceeded all expectations. Next-generation Progressive Web Apps (PWAs) have taken the best user experience and translated it into mobile apps. In fact, the technology is not new, since PWAs appeared back in 2015. However, it took developers two years to turn PWA into one of the major web programming trends.


PWAs are web applications that have a similar feel and user experience to mobile applications. They collect the latest web technologies in a user-friendly form, which the user can access at any time through the bookmarks or browser extension bar. To better understand the essence of progressive web applications, we have compiled a list of their main properties:

  • Firstly, PWAs do not require installation. Users can open the PWA in the browser by simply entering the URL.
  • Secondly, PWAs comply latest standards compatible and work in all modern browsers.
  • Thanks to the work of service providers, PWAs do not depend on the network state. With preliminary caching, PWAs are available to users even in offline mode (which is simply life-saving in the event of a temporary absence of the Internet network, for example).
  • Most importantly, PWAs are like apps in every way, which means users will spend much more time on your site.
  • Besides, HTTPS protocol serves PWA, ensuring secure data transfer.
  • Last but not least, users can connect PWAs and display partial information about them on the desktop or home page smartphone.

Thus, PWA is the golden mean between websites and mobile applications. They have collected all the best and bring you double benefits.

Like websites, PWAs have URLs for each page. You can access them in any modern browser through a simple search, without installing the application itself. Moreover, search engines index PWA content. And also, PWAs provide visitors with the ability to experience a full-screen experience, regardless of the viewing area.

Similar to mobile apps, PWAs load when network connection bad or missing. Users can add PWAs shortcuts to smartphone screens to go back with a single tap. Additionally, Progressive Web Apps are capable of sending push notifications (pop-up notifications) to users and bringing them back to pages. Last but not least, PWA pages are fast, reliable and attractive thanks to the UI and UX borrowed from mobile applications.

At the same time, PWAs bring significant benefits to their owners, such as interaction with visitors, higher conversion and reliability. For example, using PWA, AliExpress doubled conversions in all browsers. eXtra Electronics has quadrupled its number of users.

Currently, PWAs have not yet become a mainstream technology. This predetermines high price PWA development and a lot of effort that goes into creating them. If you want to understand how to create and run a PWA, you can check out the beginner's guide to creating Progressive Web Apps.

Overall, PWA is worth it to represent web development trends in 2018. Not many sites can give you similar conversion and engagement opportunities. Thus, in 2018, everyone (including us) expects to see a lot of noise around this trend, its active development and rapid spread.

Chat bots and artificial intelligence

Currently, “Artificial Intelligence” has left the realm of science-fiction technologies and has confidently entered the top 10 web development trends in 2018. Large companies such as Facebook, Google, Microsoft, IBM and Amazon have seen opportunities for investment in AI development and have done everything possible to partially integrate technologies artificial intelligence on their sites. They invest heavily in the development of chatbot technology every day.


First, let's find out what a chatbot is and how it is used on commercial websites. Chat bot is computer program, based on advances in machine learning and natural language processing, which helps people perform certain tasks and simulates interaction with a real interlocutor. Typical tasks that bots can help with are shopping, searching for specific information, or ordering a service. Bots provide assistance in the form of “question-answer”, creating the feeling of communicating with a person.

The fact that bots have entered the web development trends of 2018 is clear as day. Undoubtedly, you can also join this trend since bot creation technologies are quite affordable. Now you don't have to code your bot from scratch. Popular bot frameworks allow every developer to create and manage a custom bot in a matter of days. Among them, it is worth paying attention to the Microsoft Bot Framework, api.ai, wit.ai and bottr.me. If you can't wait to learn more right now, check it out short video about creating bots in Facebook Messenger.

By and large, bots have fairly earned their place in the web development industry on long years. By 2020, AI-powered technologies will likely include voice recognition technology and will completely change the way we browse the Internet and interact with sites and other users. So, launching your chatbot next year is a wise move to do before your competitors.

Web Development Trends: Blockchain

Follow the growth of blockchain technology and you may become one of the first in your niche to benefit from it.

Motion UI – animation and transitions

The next web development trend is not as far from the average user as AI and blockchains. It predicts popularity and wide use Motion UI libraries. This library allows you to instantly animate your website's user interface using motion design. Sounds interesting, doesn't it?


Working with Motion UI is not at all difficult. The library package includes a CSS file with ready-made effects, as well as files that allow you to create your own animations. The library allows users to move site elements (overlays, menus, etc.). Additionally, you can use transition effects to create single CSS animations and even rows and groups of animations.

The features of Motion UI that make it one of the key trends in the development of web design are its simplicity, flexibility and universal nature. First of all, Motion UI coding is easy to understand if you have basic knowledge of CSS and JavaScript. Secondly, Motion UI gives users the ability to set many parameters that can be used to make animations behave exactly the way they want. Additionally, you as users can apply Motion transitions and animations to almost any element of your site, making this technology superior to other libraries.

It’s easy to join this web development trend. Check out Motion UI to learn more about the wealth of transition effects this library provides. Download the library and take your site's user experience to the next level.

Web Development Trends: PHP 7

PHP runs on 82.4% of all websites. In 2017, there was a buzz around it with the release of PHP 7. Unlike PHP 6, the new version brought a lot of changes that make it truly revolutionary.


PHP 7 introduced new functions, functions, classes, interfaces and global constants. Moreover, it introduced changes to SAPI functions and modules. Needless to say, some of the outdated PHP functions are now obsolete. Without going too deep into the features of the new version, let's take a look at what benefits PHP 7 offers:

  • Firstly, PHP 7 surprised the world with significantly improved performance. It compiles code into machine language using a fast Just In Time (JIT) engine. With this engine it is 2 times faster than PHP 5.6. At the same time, with PHP 7 the code base uses much less memory.
  • Secondly, it uses new type descriptions (descriptors). This makes the code much easier to read and understand.
  • Thirdly, now PHP 7 does not give users White screen if they encounter an error. Instead, it throws an exception without stopping the entire script.
  • In addition, PHP 7 has new operators and functions.

The bottom line is that the hype around PHP 7 is well founded. Therefore, if you have not updated yet, I advise you to update your site's PHP code and, as a result, get better performance with PHP 7!

Web development rentals: SSL protocol and HTTPS

Next year we'll see more green padlocks next to URLs as SSL certificate adoption becomes a 2018 web development trend. Let's find out what these padlocks actually mean and what benefits they bring to you, the website owner.


SSL (Secure Socket Layer) is a technology that allows an encrypted connection to be established between a browser and a web server. This certificate provides data integrity, encryption, and authentication. When your site uses SSL technology, you will see an "S" link added to http:// in the address bar, as well as a padlock. Some SSL certificates also display your company name in green for better recognition.

Upgrading to an SSL certificate brings the following benefits:

  • First of all, it protects users' confidential information and allows them to make transactions without the risk of data loss. Therefore, it increases user trust and helps you earn maximum revenue.
  • Second, it allows you to eliminate browser warnings that tell users that their data is not secure on your site.
  • Thirdly, SSL improves the reputation of your business in the eyes of search engines.
  • In addition, Google gives preference to HTTPS sites.
  • And of course, SSL reduces the risk of phishing and other cyber attacks.

So in 2018, it makes sense to upgrade to an SSL certificate even if your site doesn't handle sensitive customer data. With HTTPS, you will at least rank higher for key queries than HTTP sites. Moreover, if you want to speed up mobile pages with using Google AMP (see next trend), you need to apply for an SSL certificate first.

Google AMP Pages

For several years, every article that discusses web development and design trends screams about responsive websites and its importance. It was Google that made responsiveness mandatory. Google's next step was to create the Accelerated Mobile Pages (AMP) project. The AMP project was developed jointly by leading IT professionals from around the world and is currently adopted by more than 1.5 million web pages.


Nowadays, creating an AMP version of your website is the way to ensure lightning-fast performance on mobile devices. Accelerated mobile pages simplify coding and speed up loading on smartphones by 10 times. Thus, using AMP can reduce page loading time on mobile devices to less than 1 second.

The consequences of this are numerous. First of all, this impressive page loading speed with AMP significantly reduces your bounce rate. Also, pages with AMP optimized pages look more natural on small screens, creating an attractive user interface. Third, AMP has a positive impact on Google search rankings. Nowadays, AMP is an indirect ranking factor that improves your results by improving the mobile user experience and reducing bounce rates. Moreover, AMP will definitely come in handy because Google, Bing and other search engines, as well as social media, such as Twitter, LinkedIn, Pinterest and others are already presenting content using AMP.

If you follow web development trends, take Google's AMP project seriously and create AMP versions of your site's pages. To do this you will need to make 3 main adjustments. First, you need to convert the HTML to AMP HTML (simplified HTML) that recognizes AMP commands. Then you must add JavaScript to AMP that loads external resources at the same time. Lastly, you'll need to run an AMP CDN, which provides next-gen caching for instant file delivery.

So, it can be argued that accelerated mobile pages are not just a trendy technology to follow. In fact, this is a window of opportunity for sites with high mobile traffic. So if you want to generate leads at lightning speed, switching to AMP should be on your to-do list for 2018.

User Behavior Tracking

Guessing is not a business strategy. With modern solutions, you have the ability to track what content your site users like and what doesn't work. The more you know about your customers and how they act on your site, the better you can optimize it to increase conversions. At this stage, user behavior is tracked, which allows you to see the actual actions of users on the site and analyze the results.


Modern tools for tracking user behavior provide a number of invaluable insights. First, you can track user clicks, mouse movements, and scrolls, and record their activity to understand how an average user interacts with your site. Secondly, web development trends such as heat maps allow you to understand how much attention is paid to each of the site blocks. Combined with A/B testing, this is the most effective method see what works and what doesn't. Thirdly, funnels allow you to see the user's journey on the site. Finally, you can monitor how users interact with your site's forms and find forms that are hurting conversions or not working as intended.

Luckily, joining this trend is a fairly simple and common thing to do. The Internet provides many free and paid solutions for tracking user behavior. Undoubtedly Google Analytics is the most popular solution among them. In addition, many user behavior tracking tools support integration with CMS platforms and e-commerce engines. So, feel free to try a few of them to find the solution that works best for your sites.

Thus, we add +1 to the web development trend and run to track user behavior in order to increase conversion next year.

VR and AR web development trends

It's been two years since the virtual reality market was officially launched. It is definitely evolving and opening up new opportunities for the implementation of VR (virtual reality) and AR (augmented reality) technologies. In 2018, the VR/AR market is likely to impact the world of web design and development even more significantly as technologies that support VR and AR become more accessible to ordinary users.


We will not go into detail explaining what virtual and augmented reality are. Broadly speaking, VR creates independent digital worlds, while AR adds digital content into our reality. These technologies have already proven to be undeniable accelerators of user experience. They create a very strong emotional engagement that can be used to connect with your audience in a more authentic way. Moreover, VR and AR create amazing possibilities in terms of visualization. For example, Alibaba has already launched VR tours for its customers, allowing them to see and interact with 3D digital replicas of their products. Moreover, the interest shown in these technologies is very high. Thus, by using these trends and web development technologies for your business, you can significantly increase your audience.


Thus, in 2018, the popularity of virtual and augmented reality technologies will grow. Their adoption will become more accessible and their presence on the Internet will become more visible.

WordPress 4.9 new version

The most popular website engine in the world, WordPress, has released new version 4.9 November 16. WordPress 4.9 “Tipton” quickly gained the status of a web development trend. Let's see what features and improvements the new version has.


First of all, WordPress 4.9 improves the customization process. Now you can schedule when certain design tweaks will go live, send preview links to your colleagues, protect designs by locking them, and avoid losing unsaved changes thanks to thoughtful prompts. Secondly, WordPress Tipton highlights code syntax and checks it for errors. If you are about to save code with a syntax error, it will kindly warn you about it. Thirdly, the updated WordPress has the latest gallery widgets. Moreover, WordPress 4.9 provides better setting UX menu, theme preview in Customizer, and improved theme switching.

These are just the main improvements. To learn about all the new features in WordPress 4.9, simply go to your dashboard on WordPress and work in the admin area. The main thing is not to forget to do backup copy of your website before changes begin.

Web development trends: results

That's all for today. Now you know the main trends and tendencies of web development in 2018. Which ones have the highest potential to promote your business? Think carefully. Then, choose a couple and be sure to try it, because those who don’t take risks don’t drink champagne.

And, of course, if you think that we forgot to mention any other web development trends, write about it in the comments to the article.

“In 2018, professional growth is very important for every developer. Is it necessary to study JavaScript (JS) in this case? This programming language is used to create interactive and functional web applications that are not just filled with boring pages. Approximately 94.5% of all Internet sites use it. JavaScript is also used for client-side scripting, which is seamlessly integrated into HTML, and for server-side code using the cross-platform execution engine of Node.js,” write Hyperiondev.

Popularity of JavaScript in 2018

This state of affairs is confirmed by the PYPL (Programming Language Popularity Index), which tracks how often search engines Google system looking for training courses in certain areas. According to data obtained in March 2018, JavaScript rose to 3rd position in this ranking. The PYPL index helps you decide which programming language to start learning or using in a new project. Here are the five most popular languages ​​by this criterion:

Do we need any more reasons to understand the importance of learning JavaScript? A state-of-the-development study of more than 21,700 developers in 169 countries found JavaScript to be the most popular programming language. More than 9.7 million programmers use it in their work. This is 2.4 million more than the second-ranked language.

Why is JavaScript such a popular programming language?

It's clear that JavaScript is among the most popular programming languages ​​this year, but there are other trends to pay attention to as well. For example, assess the demand for JavaScript developers and the level of salaries in this area.

JavaScript developer salaries in 2018

Demand for JavaScript developers in 2018

One way to estimate the demand for developers is to analyze job advertisements. The Coding Dojo community looked at the 7 most popular jobs on Indeed.com. JavaScript is in third place in this aspect. It is worth noting that the number of vacancies has decreased by 2000 since 2017.

JavaScript will continue to be in demand among developers in 2018 due to its widespread use and good level salaries. JavaScript is also a convenient and simple language for those who want to start their career in the field of IT technology.

This question was sent to us by a third-year student at the Faculty of Information Technology and it reads in full like this: “They teach a little of everything and now the acute question has arisen: what to program on? The programming language is not so important, because you can figure everything out. Specifically interested in the following: in what area of ​​programming can you achieve more success and make a better living?”

We give the floor to the experts.

, Director of Information Technology, Head of Internal Information Development Department at Mail.Ru Group

We recommend the Internet and everything connected with it. It is better to build a career in something that is growing, namely, Internet services have grown tenfold over the past ten years and there are no signs that this development will stop.

Promote Demote

Of course, there are areas of development that represent a certain “fashionable” theme. Now these are mobile applications, cloud computing, Big data. Some time ago there were mega-popular games. However, this is not the most correct way to pose the question, because technology is changing rapidly. In order to have the prospect of growth, you need to have good fundamental training - good knowledge of the language and algorithms is not enough. Therefore, you should think about an internship in a company. At the same time, you definitely need to combine work without compromising your studies. Pay attention to the departments of individual companies at your university. Large companies like Parallels have their own research centers in MIPT, Baumanka, St. Petersburg Academic University, RosNOU, Novosibirsk State University. Conditions are created there, research tasks are given, which are modeled for students real job in company.

Promote Demote

Nowadays in our world a lot of things are connected with the Internet, so for good earnings It’s better to choose a language that allows you to create web applications. To be more specific, Ruby + JavaScript. Ruby allows you to create applications very quickly, and in our dynamically developing world this is very important. If you can make an application in a few days, that is greatly appreciated. I don’t recommend Java or PHP because the ideologies of the first are already outdated, and the second is the language of rednecks and has reached a dead end in its development. I recommend learning Javascript, and even better CoffeeScript (if using Ruby): without them, there will be no dynamics on the front end, which means your application will be dull. I don’t recommend studying with Flashers - this technology is dying.

You definitely need to learn to use frameworks: for Ruby it’s Ruby on Rails, for JavaScript it’s Angular.js or Ember.js (but in no case Backbone.js or Spring.js). Frameworks allow you to build applications not in days, but in hours!

You definitely won’t be left without work and will earn enough (to, for example, provide for your family) if you start developing in this direction.

Another profitable industry, in my opinion, is mobile applications. I think there is no need to explain why: even homeless people have smartphones. But there is a nuance here: if you are going to write some applications yourself, then most likely you will not earn much from it - applications always need a high-quality idea. But nevertheless, you can always get a job and earn money.

I would also like to advise you to focus on Android development. There are a lot of devices on this platform, and Apple has not shown any promise for iOS developers lately. But this is my subjective opinion.

You will definitely not be left without work if you move in this direction, but the amount of earnings will depend on you.

I also recommend paying attention to DevOps. Such specialists really earn a lot, but they don’t teach this in institutes. I won’t go into detail about the methodology: if you’re interested, read it yourself.

Now which way to look? Not I advise:

  1. I repeat, these are languages ​​with outdated ideology: Java, PHP, etc. You will find a job, but sooner or later you will realize that something needs to be changed. This happened to me in 2007 when I switched from PHP to Ruby.
  1. System languages ​​such as C or low-level languages. The reason is simple: there are few offers, but if there are any, they pay well. True, I haven’t monitored that market for a long time, I could be wrong.
  1. Supernova fashionable languages: Erlang, Scala, etc. It is not yet clear whether they will occupy any niche of their own or not. Imagine that you spend energy studying them, and they leave.

Promote Demote

Okay, if we talk about “money”, then it’s better to quit this job and seriously study finance, because you will earn much more on Wall Street than programming in Python. The idea of ​​working as a “manager at GazProm” is also popular among modern teenagers. Although I am again exaggerating the situation somewhat. Of course, the IT world is also a community of fairly decent-earning people and there are certain statistics on salaries, for example, Java developers can now count on higher salaries than .Net developers. So I can recommend reading statistics from reputable sources, such as hh.ru.

Promote Demote

A programmer's success is determined, indeed, not so much by the language as by his ability to solve specific applied problems. It is important to have a deep understanding of the subject area, to understand the needs of the client (or potential/real user of the program) - and to understand them even deeper and broader than the client himself. As for the areas, now cloud technologies and data mining are on the rise. And, of course, the “eternal” area is business automation. For the last area, in my opinion (not entirely objective, of course) the best choice is 1C. This system provides a wide range of opportunities for growth - both as a programmer and as an expert consultant on automation and optimization of business processes.

Promote Demote

Our company constantly monitors the market and interviews professional developers in order to develop our products in popular areas. The future trend is connection cloud technologies, mobile applications and Internet of things. Cross-platform development and creation will be especially in demand related applications. Try RAD Studio XE7.

Promote Demote

There is a military maxim: good choices lead to more opportunities for good choices.

Let me explain. Around the late 1970s, the booming middle class in the United States led to a great demand for accountants due to the emergence of a large number of small firms. Therefore, accounting courses were in incredible demand and an incredible number of accountants were graduated. All this bloomed and smelled until the mid-80s, when the spread personal computers allowed a large number people use accounting programs. The need for accountants disappeared.

When people went to study as accountants, they could not foresee such a turn of events.

If you choose finance now and go to work in a bank, you will earn quite a lot. But! There are voices in the Western press, supported by research, that the financial sector is actually harmful to economic development. And that it needs to be reduced.

Therefore, it is likely that your current choice of financial sector will fail.

Try to diversify your bets. Study a couple of subject areas to understand how programming can help in them and how to generally apply programming to solving problems in subject areas.

The programming choice is already good choice. You just need to realize the advantage gained.

Promote Demote

Success does not depend on the field, but on how much you work and grow professionally in your chosen direction. It follows that first of all you need to find the activity that brings you the most pleasure. And money usually finds such people themselves.

Promote Demote

The question correctly noted that the programming language is not that important. In the third year, I would advise not to pay special attention to the programming industry either, but to focus on questions of a general nature. I mean, for example, algorithms, data structures, design and development methodologies. All this can be mastered using the example of almost any language related to any field.

I will also note that although experience in real development is very important, you should not go into work too early and transfer it to a higher priority compared to study. Once this switch is triggered, it is quite difficult to return back to full-time learning. You will have certain salary expectations and switching to a worse-paid internship will be at least psychologically more difficult, although it could give you much more for further development. While you're a student, you have time to participate in events like Google Summer of Code, opportunities to continue your studies abroad, and many other open doors. Of course, it's never too late for most things, but you'll likely miss out on a lot if you start working too early.

In other words, if you really want to, then choose any industry that you like best. But never close your eyes to everything else in the programming world.

Promote Demote

A programmer must write code constantly, because this is the only way to achieve professional development. If you don’t have a ready-made problem that requires a solution, learn to find such problems yourself. Most of these tasks will lie in the area of ​​personal preference. For example, think about what you are missing in your phone, what sites that are useful to you personally are not yet on the Internet, etc.

Promote Demote

Mobile device development is the most promising and profitable branch of programming. If you compare them with regular computers, the advantages of mobile devices are obvious: portable, convenient, quite powerful, not to mention a variety of modern technologies, used in their creation, for example, touch screens and geo-location technologies. These devices can be used both for personal purposes and for business, logistics, production, etc. Considering how quickly mobile device technologies and their functionality are developing, there is no doubt that this industry has enormous potential.

Promote Demote

There are also options here: move towards narrow specialization in some technology, or take a broader spectrum. Narrow specialization will allow you to be an expert in your chosen field, but creates difficulties if something else is needed. A wide range allows you to choose from a wider list of employment offers (especially good at first), but, as a rule, newcomers do not learn to understand how these systems work - as a result, they begin to lose in the long run. So, IMHO, it is best to be an expert in several areas, but at the same time have an understanding of other technologies, so as not to miss the right moment when knowledge of a particular technology can bring a significant advantage.

Also, do not forget interest - as a rule, changing jobs is primarily influenced not by the financial side, but by other factors: interest in the work, the state of affairs of the company, relationships in the team, etc. The financial side can only influence if there is a fairly large difference in the numbers, and the numbers still depend more on the technical complexity of the projects and on the customer, and not on the programming language and technologies used.

If you choose cloud computing - an area that has been growing very actively in recent years - then there are two possible paths. You can create the technologies themselves, or you can find practical applications for them. Developers who write infrastructure to process millions or even billions of requests per second and ensure reliable storage and management of huge volumes of data are in demand. Here you can give the example of google appengine: it seems to me that this is a clear example of how development will be carried out in the future. But on the other hand, specialists who can use all these technologies to solve the most difficult problems are no less valued. different tasks. This also requires an understanding of where and what tool can be used, and this is only possible with a very good knowledge of the subject.

Of the programming languages, I would still specifically mention C/C++. In my opinion, if you know this language, then learning any other will not be difficult. Lately it has also become fashionable language"go": It is actively promoted by Google.

Promote Demote