Maybe many people, like me, vaguely chose a major they didn’t like until later. When choosing a major, I also Baidu all kinds of majors, but I still don’t feel much. In fact, I wanted to fill in the Internet of things at the beginning, but finally I listened to the suggestions of people around me and chose electrical automation, so I began my college career.
Unfortunately, when I began to study professional courses in my sophomore year, I found that I was not interested at all and basically relied on rote to meet the exam（ Fortunately, my grades are not bad, and I got my academic certificate smoothly.)
However, I also know that if I don’t find the way I really want to go, I will engage in the work I’m not interested in. Such a career is not what I want（ I think this may also be a question that many college students have thought about – what kind of work do they want to do?)
Fortunately, my major has C language and MCU courses. When I came into contact with programming, it inadvertently planted a seed in my heart. When studying the program, I found a feeling like playing games. I think it’s amazing that my ideas and operations I want to achieve can be expressed by programs. In turn, the rules of programming are also training my thinking and how to do it more carefully.
I feel like I’ve caught something, but it’s still not clear.
I passed the national language examination and got the grade C certificate. I bought a basic book of Java and found a video to watch. Later, when Java learned to catch errors, I forgot why I didn’t continue to learn. Later, I saw that Python books were on sale and bought them to learn. I found that they seemed to be simpler than Java. I learned some basics and applied for the level 2 exam, but I didn’t（ This is also an invisible problem for me. What kind of language do I want to learn?)
I once thought I liked MCU and planned to take the road of smart home and embedded. However, there seems to be a familiar aversion to analog electricity and circuits. When I found a smart home internship unit in my senior year and was about to face the circuit board, I fully understood how resistant I was.
I resolutely resigned and went back to school to concentrate on finishing the design.
About Bi she, because I’ve learned about smart home, I think remote control technology is very fun. I’ve always wanted to learn, but I didn’t have a chance. Therefore, take this opportunity to consult with the tutor in this regard in advance. The tutor spoke very well and agreed to give me a topic related to remote control single chip microcomputer, which does not deviate from my major.
When I was wondering how to do it, my classmate on the same subject happened to know a senior brother who works on Android and introduced him to me. Thanks to my senior brother’s advice, I studied it for more than 4 months while learning and doing, and I found it! Unfortunately, we don’t have enough time to study ECs, otherwise we can realize real remote control. The final work can only be realized in the intranet, using the laptop as the server, putting the status information of the single chip microcomputer into the database, and realizing the interaction between the mobile app and the single chip microcomputer through the server.
The final reply was rated as an excellent graduation project. I sincerely thank the senior brother!
Let me also explain here that my aversion to analog electricity and circuits does not affect my Bi design, because Bi design knows how to turn it on and off and when to turn it on and off. The main structure is the program. In this line, the switch is only a very shallow thing. The real design can’t do without understanding the hardware. And all I said here is that I’m not interested and disgusted. It’s just my feeling, not that it’s bad.
After happiness, college life is over after all, but life still has to continue. Looking for a job has become my most distressing thing.
In addition to the basic information, my resume only describes my performance in the school, the only electronic design competition I participated in, won the second prize, and my proudest graduation project. However, I walked around the school job fairs for several times and found that the resume in my bag couldn’t be put out.
Then I found that I had nothing in my hand. As a student majoring in electrical engineering, he is not interested in his major and basically forgets all his knowledge after his senior year. MCU refused the internship opportunity and resisted it. But in terms of programming, I only know C language and a little Python foundation. C language alone has nothing to do. Python wants graduate students. So, what else can I invest in technical posts?
I got nothing back home and sorted out my thoughts. Yes, from the time I refused the internship, I actually knew that I just wanted to take the road of software programming. The question is, how should I choose the direction?
I am crazy about looking for it posts on the online recruitment network, including front-end, back-end, artificial intelligence, big data… I have read everything I can see, but the scope is too large and I don’t understand many. It’s impossible to look at the posts and find my own direction. It seems that it’s time to choose a major.
Without a clue, I thought of my bisher. Why do I want to do this? Because I want to learn the realization of remote control. Server, database, isn’t this the back end?
It turned out that what I had done, in fact, helped me point out the direction bit by bit.
The direction is clear. I am familiar with C language, so I chose the direction of C + + server. But after understanding, C + + is actually a little different from C. It is an object-oriented language, but I always feel that choosing this language is better for me, so I made up my mind to learn it.
After that, I learned Ubuntu, where I was familiar with how to type code, operate MySQL with C + + to add, delete, check and change, and so on. OK, I feel almost. There are autumn recruitment in October. I’m full of confidence and go to the job fair with the revised resume.
However, the reality is not as beautiful as expected. At the beginning of this period, most of the job fairs are for 2020 graduates, while I am a 19th graduate. I invested in several companies, which was ostensibly acceptable. Later, the direct email reply did not match. One or two companies have a written test. After measuring the written test, they find that they have another pit to fill, that is, data structure and algorithm. There is also a big pit: no project experience.
If I don’t admit defeat, I will continue to find a way. Data structure and algorithm. You can look for information, but what about project experience?
I found a server project on the Internet and forgot how to find it, so I decided to try to write a project with Skynet framework. First, I learned some basics of Lua language, and then I can just find the materials of Skynet application tutorial. While understanding it, I knock the code in my own Ubuntu against the above code. Not all the codes on the data are correct. If there is an error, you should solve it yourself. After a general understanding, I began to think about my first project.
The idea is very simple. Write a word game: a client, a server and a database.
At the beginning, the client wrote the code on the data in C language. Create characters, view attributes and equipment, wear and unload equipment, and match combat. Although attributes and equipment are just strings, they have basic functions. The server is written with Skynet framework. In fact, it only uses three functions: creating service, socket and connecting database. The database stores all kinds of role information.
After many times of debugging and modification, my first project was successfully written! I enjoy the pride of learning new knowledge and solving problems, which is also one of the important driving forces I can adhere to.
Then I felt almost, so I immediately submitted my resume on the recruitment software and successfully received the interview invitation from the two companies. I took my resume revised again to the interview, and a copy of my notes, which can be reviewed before the interview.
However, I have learned a lot in recent months. Only half of the contents in my notes can be remembered. During the interview with one of the companies, I was full of written tests. At the interview, the interviewer asked more about the underlying knowledge of C + + and data structure than the project. When he asked me about my Linux knowledge, I thought I would be familiar with typing code in Ubuntu this month. Unexpectedly, I couldn’t answer the question of GDB debugging. I also memorized some in this note. I couldn’t remember at that time, as well as several questions about network foundation. The interview failed.
Another company directly sent a written test question and asked me to do the written test first. Written tests are all programming questions, basically test data structure. Moreover, it is almost impossible to write all the seven major questions in code. I noticed that he said he could write in pseudo code. I was confused at that time. What is pseudo code? Later, after checking the written test, I knew that the pseudo code is how to write the code with the basic structure and Chinese characters. There is no need to write specific code. No way, I only wrote three or four questions and sent them, and then there was no news.
After that, I rewritten the client in C + +. This time, I added the registration and login function. Instead of using strings for attributes and equipment, I used classes and polymorphisms. I found that it was much better. For example, the bleeding effect after the attack can also be realized. And with git, the daily progress is uploaded to GitHub. The server and database have also been modified accordingly. Finally, I was very satisfied with the project.
There is no news after investing in several more companies. It may not be very popular near the end of the year. I began to panic and didn’t know what to do. Just when I was in a panic, the epidemic broke out. I had to stay at home. It was also close to the Spring Festival, which gave me a chance to take a breath.
I don’t know what to do. Other students have been paid for several months, and I eat my parents’ rice at home. The old man is also worried about me. Alas, let’s talk about it after a new year, although it’s really not a down-to-earth year.
I looked at my notes, some unprinted notes, and countless modified and modified resumes. I was very unwilling. Are you really going to give up looking for another job? Is the result of your hard work just discarded?
At first, my father didn’t agree with me to find a job across majors. I quarreled with him. Finally, he said he had a degree. He gave me a year. I thought about it, but it made sense, but I was very confident in myself at that time, because I made a plan and said that I could have a job as soon as years ago. But in the end, he hit himself heavily in the face. Later, he saw that I really worked so hard and didn’t nag anything, but now it’s his turn to worry about myself.
Time will not stop because of my helplessness. Years later, I cheered myself up, picked up my notes and continued to find new knowledge on the Internet.
I learned C processes and threads before, and then I learned the basis of multithreading in C + + 11. It turns out that C + + can write processes and threads like C, but it’s a little different. I found epoll to learn and groped for a small project on the chat room server. Then he turned his attention back to the data structure and tried to write a hash table with hash function and chain conflict resolution.
Strangely, the feeling of sending a resume after the epidemic is very different from that before the epidemic. I didn’t learn so much before, and I will basically respond to it. Now, although it is said everywhere that helping job fairs and video interviews have also solved the problem of not going out, so far I have sent so much, and I haven’t responded. Moreover, I have more things on my resume.
Is it my problem or is it really hard to find?
When I was flustered, I thought of the go language. I heard that C + + is easy to turn to go. I was very angry. I went to learn go again. In addition to some object-oriented knowledge, what C + + learned can basically be implemented with go. It feels like an upgraded version of C language. But I found that most of the go recruits have to work for several years and rarely recruit new people, so I don’t know if it’s useful to learn now.
As the so-called “three gold and four silver”, now March has passed. It may be true that the recruitment requirements will be high in March, so I can only expect April to give me a chance.
I really don’t want to give up, because this is my favorite job. I will continue to make efforts to prepare for the possible interview. I don’t know what to do next, so I try to organize some of my notes in the community for review. If I am lucky enough to have netizens read this blog, I also hope that there will be predecessors who can give me some advice. Thank you!