If you’re having a hard time deciding which technology you want to learn, you’re not alone. The vast majority of beginner engineers struggle with this decision. Fortunately, we’re here to help!
First and foremost – get informed! As you make this tough decision, it’s important to research the current state of the affairs in each technology of your interest.
No time for research? No problem! We’ve compiled details from various sites and sources to give you a general overview of the current state of iOS, Android, JS and backend development. What’s latest and greatest with each of these technologies? We’ve got all the info you need right here.
iOS development
Since its first release 11 years ago, iOS has matured quite a bit, and now supports two programming languages: good ol’ Objective-C and shiny, new Swift, which you can use to escape Java. And as you might have heard, you can also drag’n’drop the UI.
iOS has very good support for machine learning and AR, so it is up to you to build something cool. One of the main advantages over its competitors is security and low fragmentation. As Apple is also the one who controls the hardware, you can expect top notch performance.
After you become familiar with iOS, you can use that knowledge to build Mac applications or to dive deep into server-side Swift.
One of the disadvantages of Apple development is the entry cost which is much higher than in any other branch of technology; because not everyone has a Macbook lying around the house.
We fixed this problem by providing each student with a MacBook Pro for the duration of the Infinum Academy as well as a teacher who will show them all the tips & tricks there is to know. Now there is nothing in the way between you and your future iOS development career!
Android development
The first official Android version was released 11 years ago. Today, it is developed and maintained by Google and Open Handset Alliance. Even though you can’t contribute to the source code, Android is an open source project. This means that the code is publicly available, so anytime you feel adventurous you can dive into it.
Since the first Android release, there have been 28 major updates. If you try to name all of them, you might get very hungry. Why? Because with the exception of the first release (which doesn’t have a code name), all the other names are confectionery-themed. This includes tasty titles like Lollipop, Marshmallow, Nougat, Oreo and, the latest, Pie.
The update names are released in alphabetical order. So, you can already start guessing what the sweet code name will be for release 29, starting with the letter Q.
The most difficult challenge you will come across with Android is fragmentation. Unlike on iOS, there’s no drag&dropping code nor are apps developed for one specific device hardware or OS version.
In Android, apps need to run on thousands of different devices, and the code is written to run on the largest device base platform, which counts in billions. Also, you will learn a new programming language, Kotlin, which is the official Android language since 2017.
Backend development
In the fast-moving world of web development, modern backend programming revolves around API. That means crunching data to quickly serve hungry clients on mobile and web platforms. Nowadays, the focus in backend development is on code structure, programming techniques, testability and performance.
An efficient developer should be armed with a wide range of skills, from understanding HTTP communication to fluently writing SQL and everything in between.
For building the backend system we embraced Ruby on Rails. Or was it the other way around? We’re not sure anymore because the main focus for Rails has always been developer happiness. It’s armed with domain specific language for each component in the system meaning configuration, tests, routes, migrations, object-relational mappings, and SQL queries are understandable and concise almost like a specification in natural language.
Besides aesthetics framework has a lot to offer to both beginners and seasoned web developers. Built for rapid prototyping, your next big application will be up and running in a matter of minutes. Rails is now at 6th major version and still one of the most popular web frameworks in the field.
Many of the niceties mentioned about Rails are owed to Ruby programming language. Similar to Rails, Ruby was created with simplicity and expressiveness in mind. It’s stripped of excess punctuation, like colons, curly braces around conditional statements and in some cases even parenthesis. With 3rd major version on the way, what can we expect? Well unofficially, Matz, the creator or Ruby shared a few goals, making current release three times faster, new concurrency model and type checking tool.
Oh, and both Ruby and Rails are open sourced. Not only are they free to use, but you can also learn from them and give back by contributing to their evolution.
JS development
JavaScript is still one of the fastest-growing programming languages in the world. To top it off, JavaScript is one of the top three most sought-after languages from a commercial point of view. According to a Stack Overflow survey of more than 20,000 IT professionals, JavaScript is the most commonly used language.
Among the most popular libraries and frameworks, JavaScript-based tools occupy the first three places. With all that said, it is safe to say that JavaScript isn’t going anywhere anytime soon.
When it comes to frameworks, JavaScript has a lot to offer. There is no universal answer for picking the best framework, and not all projects benefit from using one.
Angular 2, and other versions leverages modern design principles, lessons learned from mistakes in Angular 1 (also known as Angular JS) and good practices from other frameworks. It might look complicated at first, but it is certainly worth picking up at some point. React is quite specific since it’s not a framework – it’s missing state management. That’s why you’ll hear its name in conjunction with Redux quite a lot.
There are lots of great frameworks like Vue.js, Ember, Backbone, etc. but nobody should bother to learn all of them. It is important to understand one and others will be much easier to master later.
Ready to learn?
There are pros and cons with each of these technologies, but you can’t go wrong with any of them! In reality, it depends on your preferences.
If these technologies spark your interest, and you want to learn how to build apps, you are in the right place! We’ll teach you for free. No joke. Plus, at Infinum Academy, we have top lecturers who specialize in each technology; they know the ups and downs, ins and outs. One of our lecturers, Filip Gulan, was once himself a young apprentice. After he successfully finished the program, he was offered a job at Infinum. Today, he is an iOS Team Lead. He really came a long way, and so can you.
No matter what you choose, it’s important to keep learning. If you feel like Infinum Academy is up your alley, apply now. We can’t guarantee you’ll be the next Bill Gates, but we’ll make sure to teach you useful skills that will help you jumpstart your career.