Home > Article > Backend Development > Be cute and teach everyone how to become a master of programming
1. Skills an IT engineer should have I think practical skills include 3 aspects, as shown in Figure 1: Picture 1 These are very important: ●Coding: You must be able to write high-quality code within a time limit. ●Experience: Having relevant experience shows your passion for the industry and your ability to get started right from the start. ●Theory: Theoretical knowledge is the foundation of IT engineers. Good theoretical knowledge can allow you to quickly solve emerging problems.
The process of preparing for a job interview is an excellent opportunity to improve your various abilities. 1. Improve your theoretical knowledge
(1) Learn C language C language is the basis of programming. Therefore, learning C language can lay a solid foundation for us to understand high-level concepts. It does not take long to learn the basic knowledge of C language. It only takes a few weeks to master it. C does not have many abstract encapsulations, which makes the C language relatively simple. Like others, I learned the C language by reading the book "C Programming Language" (we can read Tan Haoqiang's book). Once you can really understand pointers and memory management in C, C becomes an interesting language because it helps us understand the language from the processor level (the underlying hardware), which is where most other High-level languages do not have it. Understanding these concepts at the same time will also help you understand higher-level language work. (2) Understand data structures and algorithms Although it is rare to write complex algorithms and data structures in website/application development, data structures and algorithms will affect our thinking when we write complex systems. Even if you don't need to write your own data structures, you will probably use them in your programming, so it's crucial to understand the basic options. I recommend this book, "Introduction to Algorithms". Since this book is very long, if you don't have time to read it all, you should also learn the sorting, hash table, binary tree, and string matching parts. Once you have a good grasp of data structures and algorithms, you'll find that these concepts simply summarize everything you do into questions. 2. Compare programming languages In the beginning, you will be exposed to many programming languages on a regular basis. You may also need to learn new languages and concepts quickly. To speed up learning, learning different languages helps us understand their concepts and how they are similar and different. Your best bet is to learn a language in each of the following styles: ●Bottom layer: C language. ●Object-oriented: JAVA, C++, etc. ●Dynamic languages, high-level languages: python, ruby, etc. ●Functional languages: Lisp, Erlang, Haskell, etc. (It was translated into functional languages before, thanks to zzljlu for the correction) 3. Be proficient in at least one language and one framework This can explain: ●Since you can become an expert in one field, it means that you can do equally well in other fields. ●Your understanding of the details of these languages/frameworks allows you to make decisions based on the pros and cons of different technologies. ●You have the passion to delve into a project and get to the bottom of the language. It takes time and experience to become an expert. Here are some suggestions: ●Try to do different projects, which will help you understand the programming language. ●Read other people’s technology blogs. Hacker News is a good technology blog. ●Contribute to the open source community, for example, your code can be found on GitHub. 4. Improve actual coding skills Here we mainly use 3 methods to test the coding ability of engineers during interviews: ●Code you contribute to the open source community (for example, on GitHub) ●Write a piece of code on the spot ●Challenge of writing code for 2 hours continuously The quality and speed of an engineer's coding abilities are important, and this can only come from practical experience. In addition, using the appropriate language and framework is also helpful for a project. For example, using scripting languages such as Python and Ruby can be faster than using static languages like Java and C++ in many cases. Because we know a candidate may not have much experience with dynamic scripting languages, we don't make it a focus during the interview. Hone your skills by taking some challenging programming tests. There are tons of resources available online that can also test your programming speed, allowing you to further improve how quickly you write code. Google Code JamThere are some good questions on it. 5. Improve your relevant technical experience It is important to have some relevant work experience: ●This shows that you have a certain passion for programming ●Your development experience can guide others in the company ●You will be an instant success at work. ●You have the ability to explore more modern technologies and have a more comprehensive perspective
6. Conclusion Of course, technology is just one side of the coin. In Part 2, I'll explore the non-technical aspects.
In the end it’s up to you, welcome to join the cute entrepreneurship group: 438012030 |