As a PHP programmer, or any type of programmer, you need to constantly improve yourself in this ever-changing industry; You need to learn and use new knowledge every day.
Successful programmers all have one thing in common, is that they care about programming a lot, they are experts watching good programming habits as an art form.
In this article, you will learn how to become a better programmer by following the "etiquette" of programming and you will learn how to use this information to teach. others rise up in their careers and lives.
How to become a professional
Professionalism, regardless of the work you are doing, it always starts with you. The first and most important professionalism is having a strong and distinctive personality.
As in any area of life, programmers are always respected by society. So let's see how you can become such a person!
Don't be selfish
I have had the opportunity to work on very large teams since I started this career and the most important thing I have learned from a dynamic team is teamwork and close cooperation.
Much of the time when you are in a group is learning and teaching each other, and the work environment must always be open and spiritually shared.
If you don't want to share your work and knowledge, you're arrogant and / or have a big "ego" , then you won't feel comfortable working in an environment like this.
Non-professional people do not need to be responsible for their work. They transferred that part to the manager. They just got the job assigned and forgot all about it and took their ass back when the clock pointed to 5 pm
A professional programmer cannot accept this. How would you feel if the bug in your code would cost the company thousands of dollars?
This is an issue that the solution also depends on the management of each company. Every company should encourage developers to take responsibility for their actions and more importantly for the code they have written.
If you find an error on the production server, do everything in your power to fix it as soon as possible, even if you have to stay up all night. This will distinguish you from unprofessional hands and help you get a higher salary.
Writing software without errors is impossible and we are all victims of committing something silly to the repository.
The way we handle criticism shows a lot about how we are seen as professional programmers.
You should listen and learn from criticism, because it makes you better in the future, especially if you are being criticized by more experienced people.
There is a strong working principle
Becoming a professional is a no-stop job. Studying is not only in the administrative period from 9am to 5pm.
Continuing to study, train and improve yourself is an investment in yourself and it is your responsibility, not the responsibility of your boss.
You will say, I don't have enough time right? Of course you will have enough! You just need to think smartly. If you want to take your career to a new level, then focus on it seriously.
Go to work early, and leave a little later. How this extra work period can help your career will grow will not affect your health and your family time.
Just 30 minutes before and after the official working time means that you will work an extra 5 hours a week. This means that you work more than half a day each week.
Read the source code
Think about it: you can't learn to read fast if you don't practice reading every day. The programmer's job is to write good code, but you can't write good code if you don't know what good code is.
Most programmers often blindly use third-party libraries without touching the source code. This is ok, but to understand that library, you need to dig deeper and read its source code, comments, run tests (if any).
Reading code will help you quickly find other programmers' mistakes and this will be helpful if you are conducting code review or pair programming.
Learn new techniques
Always open to learn new techniques and decide how they can help you become a better programmer.
Always be open to new things, do not ignore the latest trends just because you think they will pass. Everything grows cyclically, but the constant is the knowledge you already have plus the open mind to take on new things.
A good programmer will never stop learning, even if he has 15-20 years of professional experience.
Slow down and have a little more time to assess the problem you're trying to solve. Making fast is not a criterion that you should strive for.
I have seen new developers getting the job and writing the code as fast as they can, resulting in the code being full of errors, which takes longer to fix if they sit down and think carefully about a right solution from the beginning.
Senior programmers are "lazy and slow" people, and this is everyone's best benefit, because a good programmer won't want to do a job twice.
For an experienced programmer, writing the actual code only accounts for 1/3 of the time spent in that task, the rest of the time is spent thinking to find the best solution for problems are encountered.
Opportunity to participate in the biggest programming festival in Vietnam: Vietnamwebsummit.com
Test your code
This is not a debate about whether to use TDD development method, but remember that testing is very important to be able to provide quality code.
How do you know if something is wrong or not if you don't test it? Do you know what you did a few months ago on a certain special feature?
From tests, you can know how the code actually works. It is like a guide for programmers and also the catalog of a book. Tests tell you where to look and what to watch.
Writing tests for your code is important and difficult at first, but it has been proven to be beneficial in the long run for many times.
Know your tool
Know what kind of tools you can use to help you solve problems. Most of the tools nowadays are often used as a hobby, but remember that a good tool or library can help you a lot.
Just think about how much time you've spent using a code editor, or a full IDE or just an editor that supports highlighted code.
In addition, you should decide whether it is worth using a specific library for work. Is it valuable to use a PHP framework? What are the pros and cons? Should I use a bulky CMS for a small project?
These are the questions you should ask before rolling up your sleeves to start writing code.
How to stay on the right track
Fight against exhaustion
Continuous programming for a long time can lead to fatigue and depression. Most senior programmers have to go through this at some point in their career.
Burnout is a combination of working for hours and what is called "impersonator syndrome" , meaning that a programmer always thinks he's not good enough; and to become better he needs to work harder and work harder, while many don't mean better.
The best medicine to treat this disease is to just step back, get out of that cycle and do other work, creative jobs. Take a break, even if it's only a few days.
Another solution, increasingly popular in the fight against burnout, is to find a team member you can pair with. Social interaction with another person is very effective.
Being on the right track always means keeping a clean base code. Not only for others, but also for yourself. Code without testing or documentation is like a mess without anyone looking back.
What happens when you need to review some features after a few months of not touching it? You will have to spend more time to realize what you have actually done before.
I have seen many customers looking to hire developers to refactor their projects many times, because the previous team no longer feels interesting and wants to work on it anymore, and almost all the time. The new team's time is to rewrite from the beginning.
This happens because previous teams are unable to maintain a clean and neat code base. To do this takes a lot of time; but you should learn how to do it.
Estimation is a sensitive issue for many programmers and managers. I'm sure everyone has heard about stories that managers ask programmers to estimate about time to complete a job, and they expect a clear answer, but later That execution time is still twice the initial estimated time.
What most people don't realize is that estimation is just speculation, not commitment. To become a better programmer, you should know that estimation is never a commitment, because once you commit to doing something, it means you have a responsibility to accomplish. on time.
Estimation has never been and will never be a commitment, this is the nature of estimation. People often find it difficult to estimate the time for a certain job, and if your manager asks you to tell him that you can't commit to something you're not sure 100% sure I can do it on time.
However, you can estimate by experience, but don't say any promise.
How to become an expert
Communication is very important. I have seen projects and companies collapse because team members cannot communicate with each other effectively.
Keep communication simple and easy, eliminate the intermediaries between you and the person you need to communicate with. Each "node" in your communication line creates exponential complexity.
Large organizations face this problem a lot – this is why they change so slowly, every decision must go through dozens of people, and this is where agile teams shine.
Keeping communication simple and concise means that you can move faster than others, you can understand your mission more clearly and this gives you a great advantage, so don't be afraid to ask and ask specific questions.
Besides being a good communicator, you will also need to be a good partner.
You need to cooperate not only with other developers, but also with your manager, and possibly directly with customers.
Collaboration also means knowing what your job is and how to accomplish the job and become a good member of the team.
If you find it difficult to cooperate effectively with others, try pair programming. The nature of a pair of programmers is cooperation.
Curse of knowledge
According to Wikipedia: "The curse of knowledge is a cognitive bias that leads to a more informed party feeling extremely difficult to think about from that less informed perspective."
Basically, senior programmers are often very difficult to explain issues so that it is easy for novice developers to understand. This happens because they are all very familiar with the problems and techniques they have solved, but when they try to explain to others they fail, because of that explanation. just a summary of the knowledge in their heads only.
Simply put, when you know something it is difficult to convey to those who do not know it. To fix this, you need to use the correct language. Explain a very detailed problem, even if you find this to be funny but keep going, because your thoughts are not like the thoughts of the recipients.
Know your field
If you consider yourself an expert in programming, be a true programming expert. It is well known about your field from top to bottom.
Knowing your field doesn't necessarily mean you have to have a college degree , it means you have a lot of practical work experience. You need to improve your skills not only in programming in general, but also in engineering and computer architecture.
Becoming an expert means that you have to find the best programming solution possible for a problem, and writing code is just a "side job" for this.
Understand the business you are doing
No one can create good software without knowing the business issues of the business and what they are trying to solve with your code.
You need to be active and interested in business, because it reflects on your work. Without clear goals and specific issues, your code will inadvertently become a mess.
If you feel that your expertise and the goals of your business do not match, don't accept the job. Because your time is priceless.
Constantly improve yourself, and first you need to know what level you are at.
Katas codes are exercises for programmers to improve their skills by practicing and finding better solutions to different problems.
Topcoder even has prizes for those who find the best solution in their programming challenges.
Programming is a social activity. To become a good programmer, you must first work on your personality if you find yourself introverted. Then, have to master the programming principles.
You need to constantly improve yourself, constantly learn, and take a step forward in this game. To truly achieve professionalism, you need to understand the business and the problem you are trying to solve with your code.
Code is just a byproduct of the whole solution to the problem and it adds very little to the big picture. Solution ideas, collaboration skills and mastering the tools you need to use to solve a problem are key to becoming a professional respected by the community.
If you have anything you want to add to this list, please let us know in the comment section below!
ITZone via Techmaster