How iOS developers are looking for technical improvements in a boring job (Advanced article)

Source: Internet
Author: User

Technical growth is a lot of students face problems, some work for a few years the students will encounter growth bottlenecks, feel that their progress is slow, whether it is the company's business reasons or personal reasons, feel that their technical level is not growing. Or some of the students who have just worked for a long time and are looking for a job, want to work in a good environment, improve their ability.

If you have a good platform, you may do a very small feature that will have hundreds stadiums users to use. To make a new product, import a little bit of traffic from the mainline product may have hundreds stadiums access. Not only do you develop features, but also consider performance issues, how much access you can support, whether you need to scale horizontally, whether you need to do load balancing, and so on. Every time new problems continue to have new challenges, you can continue to grow.

As a developer, there is a learning atmosphere with a communication circle is particularly important, this is a My iOS communication group: 638302184, whether you are small white or Daniel Welcome to settle, share bat, a inside test, interview experience, discuss technology, we exchange learning and growth! Hope to help developers less detours.

If you do not have such a platform, perhaps your company operates 1, 2 years of products have thousands of, 10,000 of users, some technical problems you even have no opportunity to meet. User volume is not up, the business is not complex, what sub-database table, read and write separation, load balancing, distributed design and so on and you have nothing to do, because the company's products have not developed to that level.

I occasionally hear some friends in second-tier cities say: "Do the technology is in the North Canton, do not come back, small city projects do not dependents." Do not challenge the things, not a few users, are crud, a long time people will be wasted. ”

This is an external reason to admit that a good platform is vital to a person's development, no matter what the profession. I personally have some insight into the technology upgrade, we have learned in high school physics "uniform acceleration linear motion", his formula is this:


We have all learned this formula, S is displacement, V0 is instantaneous velocity, A is acceleration, T is time. On the way to technological growth, s is your technical ability, V0 is the passion you decided to delve into technology, a is the acceleration of your technology growth, T is time. The ability of your skills is not determined by your passion, but by the acceleration and timing of your growth. T very well understand, if you persist in learning, with the passage of time, now you will be more capable than the previous you.

A is what I think is the most important one, it refers to the acceleration of technological growth, consisting of two parts:

You are on the platform, this point I have just mentioned, a good platform is very important.

Personal Learning

When you meet these two points at the same time, you can learn a lot more than others in the same period. However, not everyone will have a good platform, after all, bat to recruit so many people, star Internet business is so point, not everyone can go in. There are also a large number of two or three-line city developers who may not be doing their business so much.

When you can't guarantee your first item, you can only find a way to make your second item good enough. In this way, your entire a can not be much smaller than the others.

How to improve yourself through personal learning? We all know that we must apply our knowledge and learn something if not, and forget it after a while. If you usually write PHP, suddenly a period of time because of work to write Golang, and then come back to write PHP when found Rusty, write up not before smooth.

You read "High-performance MySQL", read "UNIX network Programming" also read the "Deep Understanding Nginx: module Development and Architecture Analysis", you do not practice, you are difficult to understand their deeper. But what happens when you're in a situation where you don't have to deal with it? You are a write business layer code, your company's products do not have a lot of users do not use these, you are just a small outsourcing company to do the site, functional requirements can be used on the line. I think these are not your excuses to pursue deeper technology, maybe you can't use them now, but someday you'll need them. Just the way you are now may have some problems.

You need to start with the work you've got on your hands.

If you are a write business layer API, the daily work is to follow the routines to write code, according to a certain rule of writing one by one. Maybe you can try to stop doing this repetitive manual work, write a program that allows the program to generate its own API, and you only need to do some simple configuration at a time. This frees up time to do something that interests you, and you can learn something new. You will also have the opportunity to do more interesting things when your leader finds out.

Also, you can read the source code of the frame you use, learn about other people's design ideas, and if you feel that there is a problem or not good enough, could you submit a issue or PR to the author.

The Apache, Nginx, and fpm that you usually use, do you know how their master process manages worker processes? How do they receive the request, select, Epoll These do you understand?

You usually develop a solution to some special scenarios, such as encryption and decryption, payment interface calls, Excel export, drawing, etc., can be made a separate library, open source and exchange learning with everyone?

Did you write a blog? Or insist on blogging?

Maybe we are doing some boring things on the surface, there is no way to help us grow, but we have to have the geek spirit, we have to use the means of the geek to release their labor, we should be willing to share willing to learn, can be found in the simple things of its essence. Most of the work is repetitive, boring, different levels of feeling are the same, every time you design features know how to support the high availability of concurrency, repeat the same set of things, you will feel no meaning. It is valuable that we constantly look for interesting things in this boring job.

And the team of students chatting when the sentiment, impromptu and write, I hope you have some help.

How iOS developers are looking for technical improvements in a boring job (Advanced article)

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.