College degree, switch to a two-year self-Python developer story

I graduated six years, but the work experience related to technology and Python also for two years. Today I would like to share the story of his own career change, hoping to encourage those like me friends together forward.

We will talk to my personal experiences and the story line, the individual technical achievement, I focus on the first half and the second half of 2019 to discuss ways to learn quickly, and finally recommend some learning resources.

Personal profile and experience

My name Weishi Dong, is a Python developers, while also being Rust learn the language.

I am learning the language Rust week wrote an open source library called asciis , corresponding crates warehouse asciis .

I did not resume manufacturers, do not have much experience of it. In the online world, I have two common nickname:

  • Demacian Wings - Quinn
  • Asyncins

This is in front of me a few months in the headquarters of Huawei live shots, the right side of that fat is my well-behaved:

I love sharing knowledge with article way to the people around, we are also keen on open source projects.

In 2018, I am not a professional research and development, job content and even not much associated with the technology.

I learned specialty is "software development", but when there is no post-secondary school study hard, leading to graduation after the thwarted at every turn.

The first year after graduation was removed into an Internet banking business, as the youngest brother in the technical department inside. With the increase of the company's development and the number of people, I became a little brother from brother, and later became the link between the technical department and company executives.

From this time, I'm getting away from technology, then slowly turned to gang operations, and become operational by the younger brother from operations efforts. 2013 graduation, transfer technology to 2018, the middle five years I can only stay in the first year of technical positions, other years have nothing to do with technology. In recent years I worked at the post are: information security officer, head of technology, operations commissioner, operations guide, Deputy General Manager, Director of Operations.

Internet financial collapse and the outbreak of foot tide, I feel the industry at risk, and I think this point I would also jump da operational level it up (to say nothing is not an exaggeration). During that time I just learned Python language, understand the importance of reptiles operation and development of enterprises, as well as features for Python to learn.

So I see the introductory tutorial Python after work, and try to write your own code to run according to the online article. School, the school is to teach the C language, C # and PHP, but I have not learned. Except this time, I feel I can learn Python.

At home watching Python introductory article Mu class network, Liao Xuefeng introductory video of Python3 introductory tutorial articles and Mu class network Bobby reptiles. Follow the tutorial to learn about three months, I will try myself to do pick up some small demand, such as crawling some public data, write Python programs. Then twelve days to complete the task, get paid is usually 30 to 300, and sometimes even brought a few questions answered by Qian Xiaohong package group of friends.

After the self-study phase of the past, I have reached the level of the Python primary, but also learned a lot of reptile-related technologies, such as Web analysis, and data storage, time scheduling, deduplication and incremental crawling, etc., for common measures are also some anti reptiles some understanding.

From zero base to this stage, I took about seven months. At this time, I think I qualified for a work of junior engineers of the reptiles, so they Talent Network in the capital city to find some trick or reptiles Python research and development company, cast a resume. Within three days, I received five interviews, and also successfully found a job as a head of the reptile.

During the work, the task is to complete our reptile group of people responsible for the allocation of technical data crawling mission, goals and APP website is divided into two categories. Our company is the sports industry, the variable data is often the case, which requires reptiles crawling group capable of high-frequency data.

To save time, I made reference to Scrapyd and Celery, using Django to write a set of rules to support Crontab scheduling platform, so we write crawlers can focus on this platform to manage scheduling.

In terms of anti-reptile, protect data for those sites with JavaScript, we are beginning to take Selenium or Splash This automatic rendering tools to deal with. But then considering the high frequency, timeliness and resource consumption and other issues, they bite the bullet had gone to JS algorithm target site, and then implement the same Python simulation algorithm. such,

The reptile crawling speed and resource consumption are adjusted to the optimum state.

I think I entered the field of technology, they should stay in this sense of the field, trying to take root. So I was looking for work in addition to sideline and outsourcing.

I hope that this avocation, not only technology that can help me grow, improve personal level, but also to help me take root in the technical field. 2018 is a year to pay the booming knowledge, so I joined the ranks.

I noticed that Denver Nuggets of the community is recruiting brochure, just some time ago I studied Scrapyd projects, reptiles project deployment and scheduling have a deep understanding, so I filled in the application form Denver community own information.

Reptile lack of knowledge areas and project deployment schedule, and even the relevant articles are hard to find, I am very confident in my application. But in the past few days, I have not received any response, which is very embarrassed of.

So I took the initiative to contact the customer service Nuggets booklet, I hope she can help me to revisit what I submitted the application. This time, finally got a response, the next step is the planning and design of the content of the chapter.

In the end, I published a book called "Python combat: with Scrapyd to personalize reptiles Deployment Management Console" in the Denver community of electronic brochure.

It is because I take the initiative and seek, this booklet was able to launch, to fill the vacancy reptiles project deployment and scheduling knowledge. I found the process of writing a small book, I had to force myself to figure out the details, which makes my technical ability has been progress.

Therefore, I have opened the way to write the article, on the one hand as their own "notes", on the one hand to force their own sound details.

In fact, I began to write a blog, but there is no systematic written a complete article, so after publishing pamphlets, I "presence" in the Denver community, and published many columns. The number of articles read, like the number of points and comments repercussions are good.

Later Qing Cui Cui brother told me that only have high-quality article can "attack the Coder" public posting on his number, so I will move to some articles on the public number. Then Cui brother invited me to do a number of public administrators, can be freely issued.

This is simply a temporary relief for me, it gave me a lot of exposure.

Here, thanks to the care of my brother Cui

It all looks are coincidental, but no lack of effort to win and take the initiative. In this way, he issued a document while working, my skill level linear upward trend. Too many stories, I will not list them.

Personal achievements

Not to mention the results of work, one that achievements in the field of technology. Since Cui brother has been taken care of, under the light of a large platform, and I know a lot of friends, including technical circle of friends, the media and some of the later circle of friends very close personal friend.

Just as a career change soon, "newcomer", I knew that hard compared with the highly educated, manufacturers resume or years of work experience with friends. For manufacturers and big cities almost demanding requirements of education: first degree 985/211, graduate schools or areas geeks.

On education, I have no way to hard. I chose the "curve driving" way to fight in other ways to catch these big brother. As of now, I got a few "first name" in the field of technology or media circles:

  • Turing signed on Education
  • Electronics Industry Publishing House signed on
  • Huawei Certified cloud cloud enjoy expert
  • Nuggets of outstanding community
  • Certification of GitChat
  • No public "onslaught Coder" Administrator
  • No public "Rust Zen" main number
  • Aiowebsocket of open source projects

These "were the first" seemingly "fame", but for me is very important. Although they are not a high level of glory, but they are the results of my efforts is to prove that I study hard day and night, is the recognition of readers and friends in the media Weishi Dong is one of my most valuable asset.

Fast learning method

For the switch to a friend, or a friend new to IT technology, the most important is two things:

  • How to stay focused, to adhere to
  • Find a way to learn quickly

The first thing is not difficult, the reason to stay focused and be able to adhere to the usual two-fold: there is great interest income or hobby. Throughout the cause of my upbringing, in fact, that is what I stick with it. Learning the beginning, the pressure is completely out of interest and career change.

In the three-month stage, there are some small income that is the main reason I support the move. The second thing, find a way to learn quickly. I can say that my progress is very fast, and very secure.

I know deep ** "on quicksand difficult in the high-profile" ** the truth, so I'm in the process of learning, learned by writing articles to consolidate, and I just focus on one area (reptile). Python development direction can be very large, such as WEB, crawlers, data analysis and depth of learning, I knew it must be grounded want to focus on one area.

I requested from the initial network, web analytic data storage, reptiles deployment scheduling, to asynchronous, multi-threaded multi-process deduplication and incremental, and even anti-reptile research, reptiles belong to this area.

To stay focused, I changed my schedule, from the original "eight or nine in the morning to get up in the morning to sleep one or two" to "six or seven in the morning onwards, eleven at night to sleep." Weekend is also true, early hours so I have plenty of energy to keep working and learning.

After selecting a field, and sufficient time, people can quickly progress factors include: reading the source code, create the wheel.

Source allows us to read from a higher point of understanding the design of the program, and learn a lot Sao operation usually difficult to see. And create the wheel, it is a test of our ability to convert knowledge into code.

I read / studied the source code of the project are:

  • Scrapyd
  • Scrapy
  • Celery
  • Gerapy
  • SpiderKeeper
  • SpiderWeb
  • WebSockets
  • WebsocketClient
  • Parcel
  • apscheduler
  • Job_Spider, written language Rust timed task library

Own wheels have been made:

  • aiowebsocket, written in Python client asynchronous WebSocekt
  • Gerapy 2.0 back-end (unpublished), using the Tornado deployment framework written in reptiles project management platform
  • Written django_cron_scheduler, reptiles during the project deployment schedule work platform

Here is a suggestion to read the source code, check the information when we will certainly use the search engine, the search engine lists articles it is not necessarily accurate. Some articles even missing the first tailless, so it is best to turn documents directly or find some well-known authors to write articles to learn.

In the first half and the second half

The first half of 2019, my main focus is on writing books.

This is one I signed with Turing education book anti-reptile topics , books from the underlying network protocol, and page structure began, and phenomena through actual cases in which principles and techniques used, and anti-common market reptiles means incorporate, as an example.

The book of JavaScript code obfuscation, encryption and authentication code to crack have in-depth introduction, I hope this book will help engineers and reptile enthusiasts understand the methods and principles of anti-reptile, but also help to front-end, back-end developers understand common reptiles engineer skills and principles.

This book is not anti-reptile topic printing and publishing, but I believe will soon meet with you all .

I released the first half of a lot of high quality content article, such as:

  • Developers must know the WebSocket protocol will be

  • 7 minutes fully understand bit computing

  • MongoDB combat tutorial: CRUD operations database and a collection of articles

  • How Python crawling real-time changes in data WebSocket

  • One can understand, Python logging module and application Detailed

  • [Detailed] FIG movable through the principle of User-Agent identification reptiles, corresponding bypass practice and methods

  • [FIG movable demonstrates] the Redis persistence RDB / AOF Detailed Practice

The second half, my main focus is still on writing books. This one is agreed upon with the Electronic Industry Press reptile books, details can not be disclosed here, but it can also be a high-quality book , I hope you pay more attention.

At the same time, also taking into account other output technology content, such as the planning and GitChat MongoDB tutorial series.

This tutorial is currently only the first phase of "MongoDB combat tutorial: CRUD operations database and a collection of articles," roughly as follows:

  • NoSQL concept
  • Understanding MongoDB
  • MongoDB installed on Ubuntu and macOS
  • Use of interactive interfaces MongoShell
  • MongoDB data type
  • CRUD operations and set the database

This is just an appetizer , posted behind the content is heavy point. Readers from the second phase of "MongoDB zero-based combat the high cost of the Quick Start Tutorial" in the harvest ::

  • CRUD operations and Cursor object document
  • Master flow polymerization operation
  • Learn MongoDB query optimization and efficiency
  • How to improve the availability of MongoDB
  • How to deal with data service failures
  • MongoDB understanding of access control
  • Learn to use the data model to reduce data redundancy, improve efficiency
  • Mongodump master data backup and restore methods

This is for students to 0 basis of MongoDB Quick Start article. CRUD content from the document to the streaming polymerization operation; from the execution plans, indexing, data copied to the current model; from the slice, control access to data backup and restore. **** 6 content of nearly 50,000 words covering most of the knowledge points MongoDB, fully meet the daily development.

Recommended Learning Resources

Learning Resources is to ensure the quality and speed of learning, so finding a high-quality learning resources for us is very important. The following list of learning resources, regardless of rank, are good resources:

  • Whatever knowledge, learn the most important official documents
  • No public "onslaught Coder"
  • No public "Python learning development."
  • No public "salted learn Python"
  • No public "presumptuous to write code."
  • No public "Python programming and actual combat."
  • No public "Xiao Zhou codeword"
  • No public 'rookie learning the Python programming "
  • No public "JAVAandPython Jun"
  • CSDN "trees under the sun."
  • Nuggets' MarvinZhang] "
  • Well-known blog "seek Jing"
  • Quality IT books "Turing Community"
  • Quality IT book "Electronic Industry Press mall."
  • No public "Rust Zen"
  • Weishi Dong Nuggets column juejin.im/user/59df53...
  • Weishi Dong's GitChat gitbook.cn/gitchat/aut...
  • Weishi Dong Huawei cloud blog bbs.huaweicloud.com/community/u...

We can also add my micro letter: zenrusts, consent you agree, I will pull you into a giant group moving bricks chiefs gathered. Together we explore the technical knowledge and common progress.

Guess you like

Origin juejin.im/post/5d595371e51d4561de20b5ce