First and foremost, read a lot!And not just literature but also just reading books. Preferably in English. This allows you to increase your reading skills and learn to read faster. And so also to read code faster.
In addition, learn chess!Go to Lichess Chess server and create an account, play a game of chess against the computer or against other players regularly, and solve the chess puzzles, which provides strategic insight.
Get started with an Arduino sign and additional hardware components.A NODEMCU board can also work well.Rather not a Raspberry Pi because that is already too much of a computer. No, just learn to program on a raw processor with very limited capabilities. Then you’ll also learn programming in Embedded C/C++ which is a useful skill. And you get a good understanding of how hardware actually works, simply because the only thing you can do with Arduino is sending and receiving signals over the many pins.
But also get started to design your own projects from scratch.And by that I mean not only coding but above all documenting and creating diagrams and diagrams that indicate how your project looks and how it works. This is still quite tricky and time consuming, but it is time to design a project without writing code at once.
But also go just write as a hobby.Just stories or write here on Quora long answers. You improve your typing skills. Anyway, answering questions on Quora is also very instructive when it comes to programming questions. You come in situations where you have to think about possible solutions to problems that you would never encounter.
Try and think new things.芒 鈧劉 t Is tempting to solve a new problem in the old way. In your work you don’t always have that luxury. At home though, and 芒 鈧劉 t is advisable.
Personal Note: I have been working on WPF (= Windows Presentation Foundation) in my hobby time.I’ve plunked deep into XAML and learned a lot from this.
Then we went on 芒 鈧劉 t work with ReactJS to build our UI and let the syntax of React components look much like how you put a screen together with XAML…
Short answer: tinker with stuff!Do you know SQL? Try a document DB. Good OOP programmer? Do something functional or procedural building.
First of all, think and talk to your customers before writing your code.If you write code then you want to say that you already know the solution that a customer wants, and this is rarely the case. A good programmer should dare not write code and first consult with the team, investigate existing solutions, experiment with the code written by others.Code writing is perhaps the most enjoyable part in your work, but it absolutely shouldn’t end up writing code to write code with blinkers to it. These kind of programmers we can miss as toothache. They produce heaps of source code that no one has anything to do with. This is lost time, money and effort. A really good programmer is an analyst, architect, designer, manager and salesman. If you have all these qualities, then you are worthy of gold.
Indeed try new things and it also helps when you are a strategic thinker, someone who likes to solve puzzles and devise solutions to problems.
Get yourself out of a comfort zone by forcing yourself to learn something new or solve a problem that you don’t know help芒 鈧?娄
Viewing others ‘ code, answering questions or helping Stack Overflow or assisting an open source project are also great methods to learn from the problems and solutions of others.
With a GOOD programmer, it’s not about code, but about what’s going on even more: like speed, fault tolerance, maintainability, etc.And don’t forget users especially.
For speed, you can investigate a number of things: the process will go through the code efficiently, you can optimize the SQL statements.Can I handle things in memory, or is it better to save between steps.
Speed also depends on what you are doing background processes or the speed that an end user is experiencing.
For some things, it certainly can’t hurt to read and investigate this (e.g. how you can run an optimal SQL query), what are the effects of Left Outer join芒 鈧劉 s etc, etc.
Also, it is some techniques good to look at other methodologies that you do not need directly (big data, Hadoop were for me a nice eye-opener)
But in addition there are things like fault tolerance (error free I don’t want to say).Learn from books (well, online) about testing how you can develop error-resistant code. What are the boundaries that you have to take into account.
Maintainability is also often underestimated.You don’t write code for yourself, but usually for someone else, who then needs to figure out what you intended. But you also want to be able to develop quickly. You can look at for example patterns, reusable libraries, etc.
Viewing other techniques can also be very instructive.An application on a PC has different challenges than an application on a phone or tablet. The interface is different, the input is different, but also the communication with a server and where you want to perform certain actions differs in a number of places (stateless vs statefull connections)
And finally, user experience, or usability is a profession separately.
And so there are still plenty of other topics that you can’t learn from just code knocking.
A (whole) good programmer is expected to be able to build a complete house.And not only build, but also design, as an architect and contractor, but also can fill in the details as a construction worker who establishes the foundations and walls, woodwork, water and electricity. And then it should look nice too (so you’re also an interior decorator).
And although you do not have to be a star in all these facets, it can at least not hurt you to delve into it
Make mistakes, and then see what you did wrong, or ask others if they know why you made that mistake.
By making mistakes that cause code to not work or that dancing banana suddenly only half dancing, you will learn very quickly which glitches can have which ear pocket so that if you encounter an error you’ll be able to recover faster.