How is the application created?

It's amazing: when I read economic websites, I see reports of huge earnings in the IT industry and the high greed of specialists, allegedly demanding more and more money. However, when I look around myself among the friends of software development engineers, I see something completely different.

I see people with passion who follow their aspirations and care for their development. Money is not for them the main criterion in the choice of occupation, but the possibility of development, learning new technologies and interesting and satisfying projects. I have the impression that looking at money as a criterion for choosing a workplace is the domain of only novice specialists. When they are growing in professional development, wages go down into the background, and the development opportunities are the first.

Why am I talking about it? Because this is important, only when we plan to start working as a software development specialist. Let's look at the market research and the results of the surveys to learn about the applicable rates - but let us not be guided as the main criterion in the selection of specialties.

What to choose?

When creating the application, many specialists work, whose skills do not overlap. It is not difficult to start - if we have predispositions and a bit of self-denial, you can quickly acquire initial knowledge that gives grounds for further development. However, outside the industry, it is not easy to choose a future position. It's best to do it on the example of the application.

Why just mobile applications? Because this is an extremely perspective industry, and the data from the electronic entertainment market perfectly illustrates this.

As Agata Kuźma from Kodołamacz , a company organizing bootcamps programming:

Few people are aware that games for mobile devices are definitely a bigger market than stationary gaming platforms. Last year, its value was 2.3 times higher than the market for PC and Mac games and 3.6 times higher than the value of spending on console games.

Imagine an application, one of many that we use on our smartphones. And let's think about at least three specialists who wrote it, tested it and ensured its distribution and infrastructure.

Jak powstaje aplikacja? Przybliżamy zawody związane z tworzeniem oprogramowania

Mobile programmer

Many years ago programming applications for mobile devices was associated with numerous limitations. The most popular technology initially was Java ME - ie Java Platform, Micro Edition. It was used for publishing applications (mainly small games) for pre-smartphone devices. If in the days before smartphones you played games on your phone, there is a good chance that they were written using Java ME. Although today there is still a huge number of devices that can run applications written in Java ME, it is the past of mobile programming.

Today, writing applications for mobile devices means first of all adjusting to the specificity of the device - limited interface size, short interaction time, user mobility. An application not adapted to this specificity will simply be a reduced version of the desktop application and will be inconvenient to use.

What does the mobile programmer use in his work today?

  • It can use native tools for a given environment. In the case of iOS you need to use a Mac and tools from Apple - and we write in Objective-C languages ​​or recently strongly promoted by Apple language Swift.
  • In the case of Android, the tools are also free, but exist for every operating system. Android is the largest mobile platform - Java and Kotlin are the native programming language for Android. You can learn by yourself - Android has a large community thanks to which we can find a lot of materials on the web. However, there is a better way: you can become an Android developer after completing an intensive 7-week Kodrzamacz bootcamp.
  • In addition to native tools, there are tools to create cross-platform mobile applications. Examples of solutions are Xamarin or Cordova. This approach has one major advantage: code written once can be run on more than one mobile platform. Unfortunately, such a solution also has its limitations, in particular related to the efficiency and compatibility of the solutions created.
  • A separate issue is mobile Web applications. With the development of solutions such as Progressive Web Apps, they will have new opportunities. Unfortunately, at the moment there is no solution that works without problems on all major mobile platforms.

Jak powstaje aplikacja? Przybliżamy zawody związane z tworzeniem oprogramowania

Automatic tester

The written application needs to be tested. In addition, in the case of a mobile application, test on different devices, having different specifications and sizes of the screen and in different conditions. For example: with an available Wi-Fi or cellular network, with access to GPS data and without, etc. It's also best ... not to do it manually.

And here comes the tester with the ability to create automated tests. There are many mobile frameworks that allow this type of tests (eg Appium), but first you need to get the basic knowledge about designing and running such tests. An automatic tester, be a QA engineer, is actually a programmer: he must know the scripting programming languages.

According to Maria Nowakowska, coordinator of the IT Station project:

Testers are increasingly sought after, as more and more programs, applications or products are being developed that need to be checked. Some errors arise due to bad assumptions or inattention, and early detection eliminates the emergence of high costs in later phases. Many people still confuse the automatic and manual tester. Simply put, we can identify the former with a programmer, he creates scripts and programs that automate manual testing. In turn, the latter manually check the product based on the test plan to catch errors. It is a more monotonous work, but it does not require such specialist knowledge as automatic testing. In this specialization, the exchange of knowledge is very important. Testers are increasingly meeting in order to share experiences. This year, the first weekly testing marathon, Testaton , will take place in Poland, where more or less advanced testers will get to know the practical side of planning, implementation and testing as well as the most popular tools for free.

The created version of the application must be provided to both testers and users. It's best to do it ...

DevOps

DevOps is a function that exists between programmers and application users. DevOps's work is usually based on the so-called agile approach to application development. It assumes quick delivery of new versions both for tests and for the production environment.

According to Anna Mikuła from Sages :

Agile means agile. Agile philosophy is therefore based primarily on a flexible approach to software development, where requirements and solutions evolve depending on the needs, thanks to the commitment of adaptive teams that closely cooperate with the application's recipients.

The two basic processes that DevOps must define are:

  • CI - Continuous integration. Thanks to this, accepted changes in the code are delivered to the main version of the program and can, for example, reach the testers. All this happens automatically with tools such as Jenkins.
  • CD - Continuous delivery. Thanks to this approach, the customer receives the tested product earlier. Thus, the time of reaching the user, i.e. time to market.

How to become a DevOps and support software delivery processes? The training organized by Sages can help, for example. After such a three-day course, we will be able to create an automation infrastructure. The course is intended for programmers.

One application, and three specializations, very different from each other. Having the ambitions to enter the job market associated with software development, it is worth considering in advance what function would suit us best.



How is the application created?

Comments

Popular posts from this blog

What is VoLTE and how can you activate it on your Xiaomi

So you can check the battery status of your Xiaomi smartphone and how many cycles you have performed

How to exit the FASTBOOT mode of your Xiaomi if you have entered accidentally

Does your Xiaomi charge slowly or intermittently? So you can fix it

Problems with Android Auto and your Xiaomi? So you can fix it

If your Xiaomi disconnects only from the WiFi it may be because of that MIUI setting

How to change the font in MIUI and thus further customize your Xiaomi: so you can change the type, color and size of the letters of MIUI

What is the Safe Mode of your Xiaomi, what is it for and how can you activate it

Improve and amplify the volume of your Xiaomi and / or headphones with these simple adjustments

How to activate the second space if your Xiaomi does not have this option