Every day, millions of people run mobile applications in their smart phones – i became a culture growing at a frantic pace. The developers of these applications are the new romantic heroes, people who can suddenly become billionaires, as the creators of Instagram, having at hand a few computers and a good idea. They aren’t tought this anywhere else, and that’s why they feel their advantage and uniqueness – it all depends on them only. You write a code, and if it works – that means you do everything right, if not – someone else will take your place in the top Apple Store. The main thing is speed. It is not necessarily to sit few years at the desk to start programming. This is the very case when everything depends on the desire and practice.
“The best programmers are self-taught.”Developer and designer in Heroku, the author of a blog about Objective-C and Cocoa NSHipster.com, author of many Open Source projects, such AFNetworking, which was used at least once by all iOS developers
” The best and the only way to become a mobile developer is to begin to develop! However, now there are so many auxiliary resources in the internet that learning the profession is so easy like never before. No one, except you will not teach you programming. Just read the book or tutorial on the web and start creating a certain application, start with the simplest. Or I would recommend all to start with web development: HTML, CSS and jQuery, if you are an adventuros person.
Some people tend to be sure to go to programming school, but I’m convinced that the best developers are self-taught with diverse backgrounds. Hell, yes, I quit the course of Computer Science at the University to study philosophy! A good programmer is moved by passion for finding solutions to problems. If you have this passion – you will succeed.
If you want to become a programmer, you have to read a lot. First of all you need to read all the documentation and guideline that Apple or Google developers are provided. Resist to simply read without practice. In the choice of sources you need to be guided by the curiosity and ambition to meet a challenge. Once you learn the basics of the language, start reading the codes of successful projects in open resources. Look at the models and methods used by other developers for a variety of problems, try to adapt them to your own objectives. There is no end of what you can learn from others.”
Modern programming languages for developing applications for mobile devices are quite simple. To learn the basics and to write your first application in a month is easy. You can start writing simple games, faceless standard business applications and so on and even getting some profit from their sales. There are lots of examples of such applications developers in the App Store or Google Play. I would recommend novice developers to start completely with the different.
To do something different, special, unique and truly original, you need a good foundation. It is necessary to study computer science, classical algorithms, data structures, to know what quick sort is, and how much time it works, how to construct a hash table, and so on. It is necessary to understand the basic concepts used in programming in any language for any device: processes and threads, memory management, pointers, parallel computing. To know by heart the C ++ , to understand and obe able to practice design patterns, to know what the client-server architecture is and how to organize the interaction of the client and server in a unreliable communication channel interference. As an elective read something about encryption, data protection, network protocols, and the Unix core.
Apart from the purely technical knowledge, to succeed you need to instill good taste. Because good software it’s not just software that runs without errors, it is a well-designed, beautiful, elegant and user-friendly software. It is not necessary to become an artist-designer, but it is necessary to study the guideline, learn to competently design the user interface, application logic to think, to consider all possible cases, pay attention to detail, and to find creative solutions.
The third component is marketing. We should be able to feel the market, to understand what would be popular. It’s not the same thing as ” to follow the world trends.” There is a saying of the great hockey player Wayne Gretzky: “I rush to where the puck will be, but not to where it was.” That’s just a skill – to understand where’s the new niche in the market not occupied by anyone, which you can fill with yor development.
There is no place in the world where paying for the training, you can be 100% sure that you will become a successful creator of mobile applications. There are universities where they teach computer science well. Classics of the genre in terms of programming (specifically for mobile platforms) is considered to be a series of lectures at the Stanford University (USA). Of course, all the same, you can learn from books and the Internet, but a well-built course allows you to reach the goal more quickly. But in any case, independent work on self-improvement is needed.