This article is for those who learn Android from scratch or are just learning to start without courage, hope that through my experience can let you in the path of learning to persist.
My first job.
Graduation on the occasion through the school recruit to find a traditional software company, is to do government software. I take the position of the Java engineer, most of the job is in the debug mode of work, occasionally do some small demand, every day to nine to five days is really leisurely, in school period already know that Android, have always wanted to learn, unfortunately in school did not insist down, only learned a little fur, now too late. My heart has been thinking about, this time I must insist on down, so began to self-study the road of Android.
Start the 3-month self-study path
In the school period before self-taught some Java basic knowledge, also through the back some common face questions to find work, also has a certain self-learning ability Bar, but Java Foundation is not firm, basic is self-learning Android from scratch, just start to see the classmate recommended Mars Teacher's video, Mars really said very meticulous, is also relatively easy to understand, I was from the first quarter to see the third quarter around, I feel a general understanding of Android, during the online query problems when the search for some Daniel's blog, I see more is Guo Lin's blog at that time he wrote a book-"The first line of code", I did not hesitate to buy down, so I began to work during the day (and occasionally see his blog haha), at night to see the writing code of the day, that period of time I and parents and friends to communicate that I want to change work, now this job is not what I want, not what I want to learn, then parents and friends also strongly discourage me, Because it is a big company, stable, not very tired, but I know that I will not stay there too long, I do not want to make a screw in the big company, I want to go to a smaller company to expand my knowledge and technical ability, the first line of the comparison of the basis of the code, and there are many solutions, also taught me to use git I have to say that it has a big impact on me. I read the book after the feeling of solid foundation, but I also know that this is not enough, the company can not have a practical development experience of the programmer (fresh students are possible), so I want to learn some slightly advanced knowledge, Accidentally in a field trip in the process of browsing the forum found a certain impact on my programming thinking of the cattle, he summed up his years of experience and thinking mode through the video, he said the video is mostly paid, and his every video I want to see Haha, But for me at that time is also a large sum of money, I read his several free chapters decided I want to buy, so at that time spent 1000 yuan to buy a course, I imagine I spend the same as the purchase of courses or a few of them, but I am very assured that I can learn a lot through these videos, his name stay, Taught me a lot of thinking and ideas, so I am very useful, I am still watching his video. I've been studying for about three months now, and I can't wait to find a job .
Interview for a job
Finally to the time to find a job, I thought to cast a few see, first up some interview experience, remember at that time went to a lot of company interview, Big company has Cheetah Mobile, 58 with the city, music, some rapid development of the company such as Dynamic, Lok power, but also to the law firm interview I was drunk, there are a few I can not remember Summary of all things asked me technical I think I answer not good, not solid ah not solid, people ask the actual question when I do not know how to solve, can be a wall, dejected Ah, that time interview for nearly 33 weeks, a reply did not, I also understand that they have a lot of shortcomings, lack of practical experience, Problem-solving ability, through the interview feedback I also constantly make up, finally kung fu not negative, I found the ideal job, a start-up company, just started, but also has the interview threshold, to me to see an effect, let me two days to make, such effect:
I was a look at this is not the property animation Guo Lin, well, he helped me Haha, I learned his blog a little bit of two days plus night more research one will finally make a demo, achieve the effect of four buttons, the heart is very excited and excited, and then sent to the company to see, feedback is good, Evaluation I have a certain ability to self-study, and then come to the problem, said let the package, you can set the number of buttons and radius, the result of course I was very easy to complete him! My company product is Funny, is a very fun can P-chart tool, can add very cute stickers and can do a lot of cool pictures of the camera, welcome to download ha! So I started my Android development, but in my heart I knew it was just a start!
Start working overtime on the road to Development
The company's boss is doing iOS, so iOS product progress has far more than Android, to the company I am a person to do Android, and iOS also someone in the development of new features, I can imagine I have to catch up with the progress of the new features, and I do not have the experience, plus I do not have practical experiences, So that period of time I basically is every morning nine to 10 o'clock the rhythm of the night, and sometimes the function did not finish home to continue, most of the time to 5 o'clock in the morning, at that time my heart yigujin, I kept telling myself, I can!!! , I met a problem, there is no respite, then I will be one after another to solve it, here to thank my classmates, my good buddies in the ocean, is Baidu Mobile cloud business Department of Android engineers, but also I learn the guide of Android, On weekends I take him in my home to help me see the code, usually will always ask him questions, sometimes he did not go home (daughter-in-law is still at home)! At that time too quickly, also let my skill level constantly improve, the fastest time is to force themselves to learn, is the problem I must solve the mentality! Confirmed that you do not force yourself a do not know what you can do, can complete what bright! Write code sometimes in order to complete the function and development, the heart is really very urgent, do not want to be very slow to complete the task, also because there are many hidden bugs, so that every update version will have a bug, here my magnanimous boss is carrot, sometimes questioned me, but more is encouraged, This gave me a lot of confidence, every day or as far as possible to upgrade technology, continuous summary, in this period I in the search problems when a lot of people are stackoverflow on the answer, which also makes English is not very good I feel very difficult, but also have to bite the bullet to see, read not understand on the search, Here hope that beginners really do not fear the problem, do not understand the slowly look, see a long time to understand, both to improve the English ability and understand the knowledge, a lot of innovative things are really foreigners proposed!improving the ability to solve problems is the most important,not afraid of difficulties to meet the challenges of each engineer must have the skills, and during this time I learned about GitHub,Every engineer should have a GitHub account and submit their own code to it ., I spend a little bit of time every day on GitHub,Lots and lots of good open source projects., such as Android-open-project, the implementation of various kinds of control functions, really thank the author of the collection and collation! , of course, I also opened their own GitHub account, I will myself these days learned the knowledge to do share, registered my Jane book, summed up my knowledge, it is strongly recommended that beginners will be their own learning to record down,* The feeling of writing is different *, this time because in the company performance can also, rose wages, rose to 10,000, the inner excitement self-evident, like their own efforts have been affirmed, I really can!
Creating the sense of code
From the beginning to enter the company has been doing iOS has already had the function, plainly basically imitate, copy the function to Android above, no encapsulation, code is very messy, this also let now I have time in refactoring before the code, but recently made a demand let me feel the creation of code feeling, To achieve a vertical and horizontal switch to the Textview, specifically can see the Android Textview vertical row switch (the word direction is unchanged), I wrote this article, there are effects show, GitHub above and other sites on the data above there is no good solution and code, So I passed the analysis of their own to write a, heart than action, that night to get around one o'clock to complete a simple demo, the inner atmosphere has already billows, this is my own write custom view, before are downloaded from GitHub, this time with their own write! In general, although the custom view is very slow to write, you need to pay attention to a lot of details, but after the feeling of self-evident, a strong package of their own products! Like mountain climbing, climb to the top of the mountain feel not to mention much better, write here basically summed up my a fast to a year of Android engineer's mind process and experience, I am not smart, I can only focus on one thing in a period of time, I believe that smarter than I do you want to do a good thing is more easy than I! Android engineers to now, although the time is not very long, but there are a lot of words to tell you have just started beginners.
A beginner who has just started learning Android development
Here I combine my own experience to give you some advice, hope to be able to enlighten you:
more than 1 look at the Great God blog, and must have their own blog, the knowledge of the record down, their own written out and let others understand is their own real mastery, the benefits of a lot, you write to know!
2 Register your own github account, submit your own created code, the benefits are many, and in the search for a job interview, your blog and GitHub is also useful
3 Write code when you can think of the package and decoupling must do, no matter how long you need to finish the time, the sacrifice of their time to wrap, and later use you will know its convenient place
4 strongly suggest Google search, the accuracy of the search and problem positioning than the domestic strong, on the Google search can not do a good development, turn the wall has become the necessary skills! It is highly recommended that application development friends look at Google's official documents every day .
5 in the development process to constantly refactor their own code, refactoring to early, bug ruin a lifetime, every refactoring you can benefit from it
6 When you feel that your basic knowledge is not enough, such as reading someone else's code can not understand, there is a generic reflection, and so on, at this time to return to the foundation, understand the technical principle, suggest to see Java programming ideas, packaging integration polymorphism and so on basic knowledge, only use from the basic technical principles you can someday write the ultimate extensible The code of the sex
7 Borrowing from the stay I mentioned earlier, what do you want to do whenever you need to develop, whatever it is, how to do it, encapsulate it, decouple it, why do it, take this idea to solve the problem
The above experience and suggestions hope to inspire and help you!
Article on here, the above is my experience in the development of Android, bit by bit, harvest a lot, I am also a beginner Android development engineer, almost a year, after the road is very long, we work together!
How I started learning Android to 10,000 monthly salary from scratch