Analysis of Android enterprise requirements and developer status

Source: Internet
Author: User

First of all, I want to clarify that recruitment and application are a process of mutual benefit. Enterprises need someone to serve their projects, and developers also want to work by themselves, to seek benefits for yourself. After both parties reach an agreement through negotiation, the recruitment is established. The current main issue is not negotiation, but information, the reliability of the demand information of both parties, and the understanding of the demand of the other party, it will directly lead to a recruitment success or failure.I have a lot of headhunters in gtalk, and many of them are dedicated-time recommendations for the mobile Internet. From this perspective, it can be said that the domestic mobile Internet is developing in full swing, some headhunters have a technical background and experience. By talking with them, I can roughly extract some of the following enterprise needs:1) more than three years of Android development experience2) I have completed a large project on my own, such as Weibo clients and mobile phone readers.3) proficient in Java/J2EE development4) familiar with the structure of the Android system, familiar with the Android source code first5) The Android program interface can be prioritized like the iPhone6) cracking and modifying others' programs is preferredFrom the perspective of communication between myself and industry developers, as well as the talents I have interviewed, we can also roughly extract the needs of talents for enterprises.1) Salary is at a medium and high level in the industry2) be able to write code according to your own ideas. Do not impose too many restrictions, especially do not force writing documents.3) when you want to do some research on your own, you can take up work hours or even stop your work.4) there is an environment for free access to foreign websites5) after a while, you can stop writing code and transfer it to management.In a simple comparison, do you think that some recruitment requirements are not too good for developers, and you do not want to work with such companies; or do you think developers have too high requirements as HR, should I discard my resume first? In this case, it is almost a dream to adapt talents to suitable positions.Enterprise. 1) is N years of experience important?Everyone knows that Android is a new field. It emerged at the end of 2008 and has been widely known. It is now at the end of 2011, just three years ago, do you want to recruit a person who has been engaged in Android since 2008? There are not many such people. Therefore, for recruitment in the Android field, any requirement of "three years" means that the headers can only find those people. Other Android engineers have less than three years of experience, but it does not mean they cannot write excellent applications. In the end, Android development is not difficult. I have been training Android for dozens of sessions and have met many people who have no programming basics. One week of training can pass the examination, then I went to the project team for a development internship one month later. After I got out of the project, I switched my job to work on the company project. Now I have done a good job. The key issue is whether you have the desire to learn and want to improve yourself. experience allows a person to quickly come up with a solution when encountering certain problems to reduce costs. However, sometimes, experience will also solidify a person's thoughts and make him unwilling to go in a new direction. I need experienced people, But I need innovative people. (2) What does it mean to complete a large project on its own?I once wrote an article about combat between the server guard and the Corps. Although the mobile Internet world is more and more suitable for individual combat, it is also not necessary to abandon the multi-person cooperation model. To put it out, Android is not done by itself. What is a large project? Is it not accurate at all? Is the Weibo client a large project? Is the reader a large-scale project? Yes or no. In my understanding, a project is a large project as long as it includes a clear start time and end time, detailed requirements and planning solutions, results-based time constraints, and organizational structures. Can such a thing be completed by one person? I do not rule out this possibility, but it is very difficult. Generally, what enterprises need to know is a developer's ability to control code. You may wish to change this article to "50 thousand lines of code control" or others. 3) proficient in Java/J2EE?Although Android uses Java as its main development language, it is a bit tricky to be proficient in Java or J2EE. There is almost no consistency between the idea of mobile development and the idea of PC or server development. If you are proficient in what to do, it is better to be familiar with Java syntax. For J2EE, the relationship with Android is even less than half-cent. Speaking of this, I have to mention that some companies will give priority to C-language experience when recruiting. This is right. A C-proficient person can do a lot in Android, although the content they write is often invisible to users. For example, the encryption and decryption module can also be written in Java, but writing in C can greatly improve the performance. If you are a user, you will choose whether the performance is high or low, needless to say. In addition, C has the best portability. 4) familiar with Android architecture and source codeI don't need to mention this. It can be said that it is a consensus in the industry. If you haven't downloaded the Android code or compiled the Android system, take some time to study it yourself. The only thing that makes me uncomfortable is that many enterprises require developers to read the Android source code carefully. They can modify the source code, but do not configure a Linux system, is it true that everyone is tossing CygWin? 5) Make Android an iPhone?Whenever I hear this kind of requirement, I can't help but swear at it. If I want to make the program look like an iPhone interface, why don't I develop the iPhone directly? I have to do that on Android, I have no personality at all. The above is my personal opinion. Of course, I also admit that iOS is doing well in many aspects and is worth learning. However, you can always remember that mobile devices are not PCs and are developed on PCs. You can perform the same behavior on Windows, Linux, and Mac platforms (such as Eclipse ), however, on mobile devices, the platform features should be used as much as possible to make users feel that the devices they have purchased are worth the money, and the performance of several platforms should be the same, so they should make Android an iPhone, I just want to ask you, are they really the same? 6) cracking and ModificationThis is the least-looking recruitment requirement I have ever heard of. Maybe it's Chinese. A lot of headhunters call me and ask, they will mention, "you will crack the software ", "Have you ever added your own advertisement to a published software. I don't understand. Shouldn't this technology be sealed? The industry uses brute-force cracking only to study and research. If it is used to cancel the billing restrictions of others or maliciously modify the charges after decompilation, this is not what a legitimate technician should do. Personally, I despise such a company, but I cannot stop it. Maybe you, as a developer, know how to do this when you apply for a job. Some people on Google Group once said, "Although I have limited capabilities and have never done any good products, each line of code is written by myself, this is better than many domestic companies ". Many people do not understand the status of code in developers' minds.Well, after talking about the Enterprise, let's talk about developers. I wonder if you have found a phenomenon that more and more developers no longer tend to write code and tend to "instruct others to write code ". It may be because I am too tired to write code, or I don't want to be always under command, or I feel that my age is no longer suitable. In short, there is a reason. But personally, I prefer to write code, fight against planning, test, and computer.Let's talk aboutDeveloperThe requirement is totally different from that of the enterprise. Maybe the recruitment personnel of the enterprise should really look at what is the real requirement of the applicant. 1) SalaryA developer should not pay a high salary, which is almost impossible. New graduates can usually take 8 to 8 yuan for Android development ~ 10 K is enough to prove how popular this industry is (you can also say that it is a bubble, I do not disagree ). I don't want to talk about this. It's right to ask for a high salary. Of course, the premise is that you know your abilities. If you say that you have just been learning Android for a month, and you are not even familiar with eclipse, I want a salary of 20 K, so I can only say to you, have a good day dream :) 2) write code according to your own ideas, do not write documentsIndeed, development is more casual. For myself, I may be unable to write anything all day, or I may be inspired by it, if you don't go to bed for two days or two nights, you have to write out things. Therefore, it is important for developers to be free to a certain extent. If you are the only one in a project, you can write code as needed. However, for a project that requires multi-person cooperation, it is also necessary to complete code specifications and documents, which can help with future maintenance. It is not right for developers to be reluctant to write documents. After all, no one knows the role of every code sentence better than they are on the front line. If they really don't want to write documents, write comments as well, it saves time and trouble. If you do not want to write comments in the document, you should write an application to the Market. 3) You can take up work hours to do your own research.In fact, there are a lot of companies that allow employees to do this, so you don't have to worry about it. Of course, there is a premise that when you have finished your current work and have spare time, you can do this. It is difficult to stop your work and do your own research. Let's first look at what we met. As an advertisement, Shanda Innovation Institute encourages employees to do this. It can be used for their own research for 100% of the time, and the Innovation Institute also has many Android projects, which are great. 4) free Internet accessI believe this does not need to be said. The domestic network environment is widely known to all. What are the reasons why enterprises cannot meet such requirements? I used to stay in a company that never allows employees to access the Internet. What should I do if I have no network for mobile Internet enterprises? Someone once said this to me, "No Android SDK is available, and such a company is still doing development." "If you don't give me twitter, you will get a lot of money ", although this may be something that can be said at an impulsive moment or when I was angry at the interview, the current demand for the network for developers is indeed growing. 5) there must be opportunities to switch to management.In fact, I can understand this very well, because I have also come from this path, and it is not good to work overtime when I was planned and tested. I also wanted to jump to a higher position than them, then I dismissed all those who bullied me. But when I got into the manager's position, I started to understand what I was originally a programmer. In fact, to put it bluntly, it is also very simple, because the company wants to project, the project requires people to do, there are a variety of people in the project team, there are a variety of communication problems. Developers often understand the code, but the requirements are often not so smooth. If you write down the code, it is often different from the requirements. Can this be changed? It's no wonder that planning and testing are about to stare, and everyone is under pressure. I believe that you have seen many spoof pictures describing the miserable life of programmers on the Internet. In fact, what programmers want is not the management position, but an opportunity for someone to listen and agree with their speeches, they also need to be respected.1) familiar with the Android framework and read the Android source code2) familiar with Andorid sdks, especially networks and threads3) Strong code control4) Understand NDK or C (better if proficient)5) Use Git to manage code1) pay-as-you-go in line with your ability and Output2) an environment that can exert its own abilities and be respected3) satisfy your desire to learn and improve your abilities.4) Excellent Network EnvironmentAt this point, as a developer, do you think the enterprise's needs are not that bad? Do you think developers are cute as HR.Back to what I said at the beginning, recruitment and application are mutually beneficial. Enterprises need to think about what they want, what they can give, and their development plans, do not put forward all kinds of unreasonable demands to compete for talents with peers. For example, if you are a client, but want to have ROM development experience, this will scare people away, even if talent is recruited, he will also think that he is not reused and has no confidence in the enterprise. As a developer, you must be clear about your abilities and make good career plans. No enterprise is willing to recruit anyone who simply says no or doesn't know when to run.When mobile Internet is getting increasingly popular, enterprises and developers should clearly think about what they want and what they want to do, exchange and use of talent resources with reliable information. No waste of talents, no malicious competition, good environment, and respect. Source: http://blog.sina.com.cn/s/blog_68b671430100x8p5.html author

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.