It’s not uncommon to see iOS developers of all ability levels asking for professional and financial development advice online. These questions have one thing in common: they all start with “I’m having a hard time with my career” followed by questions like “Should I learn Android or back-end development?” Questions like that. All of this shows that iOS developers are actively pursuing career paths, which is great. But many people opt for suboptimal solutions, such as becoming more “generalized” developers, constantly using new technologies and frameworks. In fact, we know that more “specialized” developers (with specific technologies and basic knowledge) tend to get better results.

In this article, we’ve collated information from previous research and discussions with many iOS developers to come up with some key points that we hope will help iOS developers better plan their careers to achieve their career and financial goals.

These key insights include:
• How unrealistic expectations prevent iOS developers from developing professionally;
• The most common challenges and expectations of iOS developers;
• What steps iOS developers can take to prevent and/or overcome these challenges and make their careers richer and fulfilling

Beware of setting unrealistic expectations

One of the biggest problems we see many developers face is setting unrealistic expectations about how long it will take to achieve their goals. You must understand the approximate time it takes to acquire a particular skill. Also, realize that everyone learns at a different rate. In many cases, developers overestimate how fast they learn.

In the end, they chose to give up studying because they did not meet their expectations.

As discussed in the video “Reason Why You Don’t Improve As a Software Developer,” the main Reason developers Don’t continue to advance their careers is that they stop learning too early. They give up just before the aha moment.

Why is that? One of the key reasons is setting unrealistic expectations.

For example, we talk to many people who want to improve their skills, but rarely do we do so by reading books, watching videos or even, in some cases, being promoted to a senior position with more responsibility.

Great skills come from constant learning, practice, and execution.

It is important to understand that capacity building takes time and comes in many ways. For example, if your goal is to learn TDD, recognize that the learning process itself is a key factor in your progress.

Improving learning outcomes, such as longer study hours, faster learning, finding better resources, and deliberate practice and use of what you have learned, are catalysts for achieving your goals. While these may not be directly related to TDD, they are the basic approaches needed to master TDD or any other skill technology. Think of learning as a process.

In other words, you can learn how to learn more efficiently.

Another reason iOS developers stop the learning process is that they don’t have enough spare time.

If learning time is not considered necessary (in fact, it is an important part of enhancing professional value and financial return), it is natural to expect the learning process to end early. However, developers often face a gap between their actual capabilities and their desired capabilities. The need to learn is essential because it is a guarantee that your professional skills can be improved to produce better results (and returns).

In the figure above, we highlight the inclination of the green line (labeled Uncomfortable Zone). This is the stage of learning when you encounter unfamiliar materials, ideas, and principles. This is the stage where growth and productivity apparently decline precipitously, so many people quit before they break through.

It’s common and natural to get bogged down when learning something new. It may be more attractive to stop learning because of uncertainty about future investment returns. We may often ask ourselves, “What if I just waste time?” “And” Was it worth it?”

The good news is that you’re not alone or in “uncharted territory.” Many developers in the industry already have advanced knowledge of the domain, such as TDD and modular architecture. So when learning a new skill, if in doubt about the return on investment, research their careers, articles, books, lectures to see if it’s worth it. In addition, you can also consult them at any time through certain channels!

We often run into iOS developers who want to improve their skills and expect better returns, but they don’t know how to do it. They all want a great career, so complacency is not a problem. The reason for this lack of commitment is often that there is not enough motivation to justify learning as a sound investment. Allocating these time resources to more comfortable or familiar aspects for more immediate short-term happiness and utility seems like a better investment (and actually potentially a huge loss in the long run).

“It’s hard to learn XYZ. Maybe I should spend my time on more interesting things.”

If you feel this way, don’t feel bad. It’s only natural. It happens to even the most accomplished people. They’re just good at ignoring them. As they get closer and closer to achieving their ambitious goals, they gain greater satisfaction by ignoring these thoughts.

2. Facing a dilemma

We get a lot of emails and comments from developers who feel they’ve hit a brick wall in their careers. These developers come from all levels of qualifications and educational backgrounds, including self-taught programmers, CS degree graduates, and boot camp graduates.

The most common challenges faced by these personnel include:

• Poor cross-team communication with other developers and business/product people;

• Being responsible for unrealistic expectations and being blamed for the consequences of failure;

• Lack of free time and resources to invest in competency training;

• Unrealistic expectations from the business side about dealing with inherited “old” code;

• Lack of proper processes;

• Salary inversion;

• Transfer iOS specific knowledge to other platforms;

Many developers don’t anticipate these problems and don’t try to train for them. On the other hand, when we asked them about their goals and aspirations, the most popular answer we received was:

• Be on a team with knowledgeable professionals so someone can teach them how to effectively create and maintain a high-quality code base;

• Strong leadership;

• Work with great people on worthwhile projects;

• Work with a company that provides space and resources for their professional and personal growth;

• Access to coaching to promote professional and personal growth;

• Develop your skills and become a great developer in the eyes of your peers;

• Gained experience leading iOS development teams;

• Increase salary/funds/allowances;

• More flexible schedules, or working remotely;

• Knowledge of software architecture and ability to effectively create large applications;

• Improve the technical capability and efficiency of automated testing;

• Understand how to effectively use and improve old code bases;

• Less stress

As we experience many things throughout our careers, we can understand and relate these issues to expectations. Many of these questions are not directly related to the world of programming, but rather to communication and economics. Programming is just a daily activity in the life of a professional iOS developer.

The potential challenges iOS developers face in their careers can be summarized on three levels:

• Wish: “Our goal is to build a sustainably profitable career and build great apps”

• Implementation: “Many of my professional challenges have nothing to do with building applications”

• Action: “I didn’t know how to apply these challenges, but in order to grow my career faster, I did know I had to find answers.”

The sooner you experience this, the faster you can achieve your career goals.

3. Getting off the hook: Combine technical excellence with real business challenges

The common pattern of career progression for many iOS developers is an initial opportunity in the iOS market, followed by rapid career (and salary) growth, followed by mid-to-senior developer stagnation.

Many iOS developers experience setbacks and dilemmas on a daily basis in their careers. They don’t know how to do it or where to look for solutions. Most importantly, it’s not just the technical challenges.

Software development is a social activity that comes with challenges. In a job market with an increasing number of participants and many major challenges, developers who can work well together and are guided by empathy, integrity, and economics will be in greater demand.

We recognized this phenomenon when we collated the careers of many iOS developers and formed the Essential Developer Academy to provide solutions and accelerate the career development of developers worldwide. After studying the most successful students, we came to the conclusion that iOS developers need to have two basic elements:

• Thoughtful learning that integrates superior technical and leadership skills to address real-world business challenges

• Coordinate long-term results with short-term gains

Turn challenges into opportunities

The demand for technical excellence and leadership skills in the iOS market is skyrocketing. But only a few people have the skills to deal with these challenges effectively. Ignoring this market demand will stagnate and cost you financially.

When you develop your skills to address business challenges and effectively market yourself, you will become a significant asset to the company.

As iOS developers, we’ve been helping iOS developers move beyond salary/market constraints and achieve professional and financial independence. However, this is not easy to achieve. We’ve learned that not every iOS developer will give everything they have to achieve their dreams.

In order to maximize and accelerate your career development, it is recommended that you find ways to help you grow and reach your full potential. Then, keep learning, practicing, and executing!

conclusion

Welcome to my iOS discussion group:519832104Meet people, talk about technology, whatever you want! Join the group first, understand the latest industry direction, run better than peers!