Developer, who is he?
First, you need to understand the area of responsibility of the application developer and those roles that may be present during the entire development process. Best of all, this understanding comes after working in a team, but still a bit of theory. Roles are approximately as follows:
- Customer
- Manager
- Architect, Senior Developer
- Developers
- Designer
Roles can be described in more detail - it all depends on the complexity of the project and the presence or absence of human resources.
How it all works. The customer has an idea, he wants to embody her life. Perhaps he still has no idea what he wants and can say only a few words to the manager. For example, "iphone" and "map of my restaurants." After that, the task of the manager is to make the most detailed specification of the application with the customer. The specification should include all information from supported versions of the operating system to sketching screens. Here is an example of sketches (wireframes, mockups) along with the assessment.

')
An architect or senior developer is an experienced person who knows how to build an application architecture in accordance with the principles of OOP, MVC (model-view-controller pattern), how to make application code flexible, beautiful and conveniently supported. He looks at the specification, draws architecture and distributes tasks to developers. With the designer, most often, the manager communicates, providing him with sketches and concept. This is a very general idea of how software development takes place, so I advise you to also get acquainted with the most common
iterative approach to development.
Tips and tricks
1) It is necessary to understand your weak and strong qualities, to strive to develop the weak. It seems to be a simple thing, but we often forget about it.
2) For the developer, it is very important to be focused on the task that stands before him. At first it can be very difficult to digest a lot of information at a time and you will need to constantly review the code you wrote, or sample code you found. And the better you focus on this, the faster you can understand the pattern of work. It's like not understanding all the metaphors in a poem and re-reading it again and again to delve into the meaning. If you are not diligent and the work causes you to resist, then I recommend you to watch a
lecture by well-known business coach Gerasichev , the information is quite interesting, the main thing to think about it during.
3) Two years ago I was fired from the same office in which we were engaged in software support for users and the administration of the ERP system database for MS Axapta for the concern Unimilk. The work was hyper-responsible, the shifts lasted for 12 hours from 7:00 to 19:00 or from 19:00 to 7:00 3-4 shifts per week. We will not go into details, but I can say one thing - I have not established myself as a professional. It is very important. Even if you work where you don’t like and show yourself as a professional, you will definitely succeed in the business that you love. If you are not a professional now, it is not a fact that you will be in the future. Professionalism is a skill that needs to be developed, with its help you can be a competitive and confident person.
Where to work
I don’t want to organize a holivar on the topic of office vs freelancing, I’ll just give my opinion on this question.
Work in a company
Pros:
- Official employment
- No need to think about spending on devices and computer
- Perhaps a good team
- Easier to organize yourself
- Large projects, possibly interesting.
- Paid holiday
- Other buns that good companies are rich in.
- Teamwork
Minuses:
- You can not choose projects, choose your rate (dollar per hour), in general, less freedom
- It happens that in large companies the work is very boring.
- Need to work for 30-40 hours a week
- Comfortably you will work or not depends on how well the manager will build all the processes
General information:
Jobs for iOS developers open a lot. Most places require people with good experience. Z / p for iOS professionals in Moscow and St. Petersburg - 80-120 tr, in the regions 30-50 tr. For beginners z / n much less. I would advise all beginners to go to the company to gain experience. Direct communication with good programmers gives a lot and learning a certain style and methodology of software development is possible only in a team under the guidance of experienced developers. I was lucky and I worked in a team as a freelancer, but this position is almost impossible to find.
Jobs freelancer
Pros:
My own master:
- You work at home (there are also options for working in co-working centers or in rented apartments)
- You calculate how many hours you work per day.
- Determine how much money you take for your work hour
- Choose projects and customer
Developing in all areas:
- Sales
- Self-presentation
- Time management and other self-management
- You learn to learn independently, you become active
- Learn to take responsibility
Minuses:
- When you work alone, socialization is lost - then it will be more difficult to work with people, not to mention becoming a leader
- No paid holidays and stable income
General information:
The average rate in Russia is about $ 20 per hour. I started doing commercial projects after 3 months of independent study of the language and my rate was $ 10 per hour. Freelance is not for everyone, you need to understand what style of work you need. In principle, everything depends on us, and even if we work in a comfortable office with a swimming pool, free cookies and coffee, we can also “develop in all areas”, but, as practice shows and psychology explains, it is more difficult to do if a person is in the comfort zone. I do not know who said this, but it always works:
“If you want to have something that you never had, you will have to do something that you never did.”

And of course it is impossible not to mention that the most popular platform on which you can find many orders for the development of programs for iOS
odesk.com .
Here you can see all statistics about iPhone development.
Statistics are very tempting:
iPhone Summary Stats on oDesk
All iPhone Developers 10,424
All iPhone Jobs Posted 21,306
Currently Open iPhone Jobs 2.131
oDesk Tested iPhone Developers 1,216
New iPhone Jobs per Month 1,149
Thank! If you have any questions, comments I will be glad to join you in the discussion in the comments.