A 32-year-old introductory 70后 programmer gave me the revelation

Source: Internet
Author: User

Posted by Itwriter on 2016-06-07 21:55 reviews 5367 People read the original link [favorites]«»

Wen/Handsome Boy (Jane book author)

Hello everyone, I am a handsome boy, today for everyone to bring a very inspirational, let me reflect on the story. Today is about how my father used his actions to teach me to be a programmer.

  The temper of the years

Keypad with round port interface, 2003

Has anyone asked the keyboard if it hasn't been wiped? No, it is the traces of years that cannot be wiped off. If the attention to detail of the friend will find that the programmer what the keys to use the most (except ASDW, YUHJ, that is when I was a child to play the champion). Although this keyboard is old, but my father has not been willing to throw. In 2003, he bought a second-hand computer from the second-hand market and began to teach himself a compilation of the 486CPU. My father is only junior high school culture, but has the super strong ability to do.

  0 Programming Basics Getting started embedded development

Because at that time 03 years, he just resigned from an electronics factory, he saw in the electronics factory MCU This kind of thing, he saw their engineers pay and treatment, and he was just an assembly line solder work, although a team leader, but also feel the limitations of the profession. (This also brings us a revelation, as a man, if you do not see the end of career, early change work, if not early, you will be in the future of family pressure to choose to compromise, no longer see the end. The next day he resigned, he bought the 486 Celeron series of second-hand computers, and a simulation of the burning Machine (write the program to the chip machine), a book of assembly language Primer, began his 12 years of embedded development road. (The revelation here is that to learn, not to see how to get started, the best way to get started is to do the trick.) )

  The strange sorghum of the library transcription

This is the time when he learned C language in the Xinhua bookstore secretly copied

I remember in junior high school every Saturday my father will take me to the Xinhua bookstore to read books, and then go there, every time he asked me to see the librarian has not come, and then he was there intently to copy these snippets (this learning method in my opinion, now is a joke, casually open a website, the code is a heap of heap, But then again, what have you learned in these source codes, remember? Will it be used flexibly? From the perspective of previous learning methods, it is necessary to record some common code snippets, and do you have a code snippet for GitHub? If not, collect it quickly! But my dad's notes, I asked him every time, this is what the project, he can remember very clearly, of course, he was very painful when getting started, an English word is not understood, imaginable. But everyone's foundation should be much taller than my father, so do not doubt whether you can learn to program, is sure to learn.

  Programmer Stunts--focus

My loved ones always said to me: "You, sit for a long time to get up and walk, look at the distance, this looks good." But I don't think most programmers can do it, because programming doesn't stop at all, and once you get started, you'll have a feeling that you want to create. This is written by the program to write out the focus. Speaking of which, I would like to ask you: "How many hours can you focus on?" "I threw the question to my dad, and my dad smiled and said," How much time does it take to burn a saucepan full of water with gas? " ”。 This is his real experience, it is he in the assembly language to write a MP3 player, in the process of debugging, forget their own in the boiling water, thanks to the gas burned out! This story just wants to tell you the truth: "Writing programs you need to maintain a high degree of concentration, but not be able to focus too much fatigue." ”

  Programming requires process reengineering.

Software engineering is much like architecture, and they are all based on real-world technology to build the best solution. "Rebar, concrete" These are all good, can be directly used, programming is the case, embedded development is the same.

This is a STM32 experiment board that transplanted the ucosii system.

This board embeds a ucosii system that can perform multiple tasks at the same time and assign task priorities. In layman's words, you can type while listening to music. It looks like a low-level, but it's embedded. Very high-end, but I asked my father, how did you make this board, you really so strong in C language to write an operating system?

The board is his own painting, the other chips are bought, the CPU program is written in. The original embedded development to do is responsible for the various functional modules reasonable design, with the program to dispatch. Now the mature chip is the manufacturer writes the program, provides the external call interface, the developer does not need to understand his inside the content to be possible to develop. This is a great inspiration for me to learn programming later. My teacher once said, "software engineers are able to write programs that solve real-world problems because they understand process reengineering and use realistic wheels (technology) to implement the process." To become a software engineer is not the master of programming language ability to grasp how strong, but to understand the real life of the cumbersome process through computer science to simplify, I think this is the real software engineer. My dad's programming foundation is not as strong as mine, but the ability to process reengineering is much stronger than mine. Maybe that's the experience.

This is the process that he provided me with a serial answer-type Send (possibly wrong)

  I pushed my dad into a pseudo-full stack.

Sophomore time, I learned C #, will do a simple WinForm program, and then began to be on the ground, with my father bragging, then my father happy bad, directly to me to get a real project, real gold and silver Ah, I was also silly to agree. Because is the real project, the program's fault tolerance must be very high, you can not point a few to throw the exception bar, but I do the project is the campus inside of the experiment, play house only, although the teacher gave praise, this is the university inside of Huaquanxiutui. When it really comes in handy, it does seem feeble. Of course, my program will not be finished on time. My father realized, he smiled and said to me: "You teach me to learn C #, we discuss this program together." ", there is no way ah, can only let my father to learn, one weeks later, he began to develop parallel with me, this is my father and I work the best memories; Why did my dad learn C # in one weeks (only C-sound basics)?

  Language is the way, change is the expression, thinking and flow will not change

Our teacher taught us to draw some simple flowchart from the beginning, but many of us feel that he is too simple, no meaning, so he began to pursue the surface of the gorgeous interface, to meet their curiosity and vanity of the heart, but they miss the real programming technology, this is me. Many people feel that the university curriculum is very basic, the actual use of the project is very few, is simply can not be taken to do the project, books to school are obsolete.

In fact, the book Church is our writing (programming) posture (method), teach us how to get a pen (write a program), how to write good Words (good program), once you learn to be able to write a good word (good program). So there are a lot of people write bad Words (program), that is, in the childhood to practice the word (beginner programming) eager to go to play (show off). This is my deepest introspection, but also the best advice to the major beginners, programming must withstand loneliness!

  Programmers need to know themselves all the time.

At that time, I was inflated, a little self-righteous, feel that they do, and then agreed to the project, the result is fortunate that my father, otherwise, but to lose money. As a programmer, you must know your level limit. Know the enemy (I can do, you can not do), Baizhanbudai (I just want so much money). Right, always know your level limit is to help the evaluation of their own value, such as you job-hopping, you compare peers, where your level. It is not the business itself that determines the market price, but the social necessary labor time (how long other programmers will be able to make it). The best thing to know is to look at the latest technology and understand the industry trends. This time to be able to base themselves on the high-paying class.

  Be a trustworthy programmer

My father then said to me: "Since you promised others, whether you have thousands of reasons to be done to others, can not be done is your fault, because you have promised to others." This is not a reasonable specification, but a programmer's professional ethics, because this way, my father can take over a lot of outsourced projects, because he in the eyes of others only two words: "Reliable." Perhaps this is the programmer's personal brand, if you can have such a brand in the enterprise, can not be promoted?

There are always people questioned: "I now learn programming late?" "Can I continue to write programs after I'm 30 years old?" "," Is it difficult to learn programming? "After reading this article, I believe you will not ask again, because if you really love programming, you should like my father, no matter how the reality of persecution, beginner's mind never forget." Although, I do not have much language communication with my father, but so many years of the ears, enough to let me send: "I obey the father, do not forget beginner's mind."

A 32-year-old introductory 70后 programmer gave me the revelation

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.