📜 ⬆️ ⬇️

101 tips for becoming a good programmer (and human)



1. Learn to google
Being a programmer means learning how to look for answers to your questions. By learning how to effectively “google”, you will save a lot of time spent on development.

2. Do not promise much, but do more than promised
It is better to inform your team that the task will take three weeks to complete, but to complete it in two than vice versa. Following this principle, you will build a trusting relationship.

Note from the translator:
')
A big request is to be condescending to the noticed errors in translation, grammar or punctuation, and to report them for correction.
thank



3. Be kind to designers; they are your friends
Designers provide solutions to custom problems. Learn from them and work together to create effective products.

4. Find a mentor
Find someone who can learn from and gain an authoritative opinion (in the original “bounce off”). Coding Coach is a great place to find a technical mentor.

5. Be a mentor
Be the one others can learn from. We look forward to seeing you among the mentors at Coding Coach.

6. Write useful comments
Write comments explaining why, not what.

7. Name variables and functions appropriately.
Functions and variables must accurately describe their purpose, so “myCoolFunction” is not suitable.

8. Take a vacation
We all need to rest. Embark on the journey of your dream. Your brain and staff will be grateful.

9. Delete unused code
Do not accumulate technical debt.

10. Learn to read the code
Reading code is an underrated skill, but very valuable.

11. Establish a sound balance between work and personal life
It takes you time to relax after a long day at work. Turn off work notifications or remove apps from your phone.



12. Personal meetings only if necessary
Can this issue be resolved by Email or Slack? If so, do not make an appointment. If not, do not delay its duration without good reason.

13. Pair programming
Pair programming allows you to stay in the role of teacher and student.

14. Write great emails
Learn to capture the interlocutor’s attention in e-mails, speaking briefly but clearly.

15. Become a part of the community
Surround yourself with like-minded people who motivate you to overcome difficulties.



16. Get out of your branches
Get out of your version control system branches, how you do it at home before the guests arrive. If you do not need something, throw it away; Do not put in the cabinet.

17. Do not engage in face control
Do not tell others that they are not good enough to work in the industry. Everyone has value.

18. Learn constantly
You have chosen a profession that requires continuous training. Learn to love that too.

19. Do not give up
It will not always be easy. But we all started the same way. You will succeed.

20. Take on tasks that scare
If they do not scare you, then they will not help you grow.

21. Specify requirements before you begin
You must understand the criteria for completing a task before you start writing code. It will save your time.



22. Master the toolbox
Get a set of tools that you own far and wide. Know for what purposes they serve and when it is more profitable to use one or another tool in a project.

23. Learn to love constructive criticism.
Ask trusted colleagues and friends for constructive criticism. This will help you grow as a programmer and as a person.

24. Be comprehensively developed.
Technology is changing, and changing fast. Do not resist the news, but study and form your opinion about them.

25. Stay up to date
Stay up to date with the latest technical news by following publications, blogs, podcasts, and news.

26. Focus on problem solving
Developed problem-solving skills will help to defeat any problem. Hone what helps solve the problem.

27. Stay humble
No matter what your rank or company you work for, stay humble.



28. Learn to make great presentations.
Learn how to engage your audience and make great presentations.

29. Learn all the solutions before settling on something
Do not miss the first solution. Learn all the options before you start writing code.

30. Find your niche
There are many different areas in the technical industry. Find the area that will interest you more than others and become an expert in it.

31. Develop good habits
Try to develop sustainable and healthy habits, such as removing distractions, planning your time, attending meetings, and the habit of starting with the most important tasks. It may take some effort, but it will be worth it in the long run.



32. Learn code debugging
Explore browser tools for code debugging. Explore these possibilities in your IDE. By studying the most effective methods for tracking errors, you will be able to solve even the most complex problems.

33. Develop your current skills.
Just because at the moment you have mastered some kind of skill does not mean that you do not need to continue to develop it. Skills are lost over time if they are not consciously improved, and the industry is evolving so rapidly that it is important to continue to practice. Get rid of the type of thinking “I always did it this way” and switch to “Is there a better way to do this?”
Even if you have a great abs now, it’s silly to hope that you can eat a donut a day and not lose it

34. Understand why
There will be situations when you will have to express your opinion, so it is important to understand why first. Why is Solution A better than Solution B? Provide the correct arguments and your opinion will be more reasonable.



35. Know your worth
You are a commodity and must be duly paid. Be aware of the average salaries in your area in the region where you are. If you get less money, it's time to talk to the manager. Follow what you deserve.

36. Do not be afraid to ask for help
If you get stuck on a problem and spend too much time finding a solution, it's time to ask for help. We are all humans. We all may need help. There is nothing shameful in contacting a colleague for support.

37. Learn to learn
People learn in different ways. One is better to learn with the help of video tutorials, the other - through reading books. Determine your learning style and practice it diligently.

38. Be kind
There will be situations when you are asked to give feedback about a colleague. Be kind. You can express an opinion on Deborah's lack of initiative without tearing it apart.

39. Take breaks
It is almost impossible to spend 8 hours in a row writing code. You will quickly burn out and make many mistakes. So set a timer to remind yourself to stop and take a break. Go for a walk. Drink coffee with colleagues. Distraction from the screen will positively affect your productivity and quality of work.

40. Track your progress
Learning to program takes a lot of time and can be incredibly exhausting if you don't see progress. Therefore, it is important to track achievements and progress towards your goal. Keep a small list near the computer and every time you reach for something new, note it, no matter how insignificant it is. Big rewards are made up of small achievements.



41. Do not rely on a framework or library
Learn the nuances of a programming language more than the intricacies of a framework or library. It is not necessary to learn the language before getting to know libraries, but understanding why a framework or library works in a certain way will help you write cleaner and more productive code.

42. Learn to love code reviews
The presence of someone who reads and analyzes your code can be terrifying, but it can provide invaluable feedback that will make you a better programmer than before. You should also work on the ability to conduct good code reviews.

43. Be interested in related areas
Learn the basics of related business areas, such as design, marketing, front-end or backend development. This will help you become a more versatile programmer.

44. Do not choose convenient technology; choose the right one
Each project has different needs and therefore we must choose the right tools for the job. And although it is much more convenient to choose the technologies that you worked with earlier, if they do not meet the needs of the project, you need to explore alternatives.

45. Take responsibility for your mistakes
All people make mistakes and you will make them throughout your career. Therefore, it is very important to acknowledge this and take responsibility when you make a mistake. This will help build trust with your team members and management.

46. ​​Check your own code
Before creating a pool request, check your own code. If it was the work of a colleague, what comments would you make? It is very important that you first identify problems or errors before requesting code verification.

47. Learn from your failures
Failure is simply not the achievement of the expected result, and it is not necessarily bad. We all have many setbacks during our careers. Learn from your mistakes. What can you do differently next time?

48. Identify your weaknesses
Get to know yourself. What are your weaknesses? Maybe you constantly forget to update your tests before pushing. Or are you bad in terms of replies to emails. Learn your weaknesses to actively work on them.

49. Stay curious
This area is constantly evolving, so curiosity is important. If you don’t understand something, be it project requirements or a line of code, say so. No one will criticize you for asking for clarification, and as a result you will create better code.



50. Do not try to learn everything
There is a huge amount of knowledge in the world and it is simply impossible to master everything. Select a few topics to master and discard the rest. Of course, you can get indirect knowledge about other areas, but you won’t be able to master them all.

51. Kill your favorites
Just because you write some code does not mean that you have to be emotionally attached to it. Nobody likes when his work is thrown away, but the code has a life cycle, do not forget about it.

52. Support your team
In a good team, everyone supports each other. This creates favorable conditions for trying something new without fear of punishment.

53. Seek community inspiration
Find a few people from the same field that delight you. This will inspire you to continue to work on your projects or try something new.

54. Appreciate your work
Regardless of experience or position, your work has value. Appreciate her worth.



55. Block distractions
Turning off notifications in instant messengers, email and social networks will help you focus and spend your work day as productively as possible. Jerry will not die if you answer him in 30 minutes.

56. Provide support
Support your team members by, for example, attending an important presentation or helping out if they are stuck.

57. Praise when you deserve it.
If someone has done an excellent job, say so. Praise is a great way to gain the trust of your team members.

58. Test your code
Tests are important. Unit tests, regression, integration, end-to-end testing. Test your code and your product will be more stable.

59. Plan your approach
When you receive a request to develop new functionality or an error ticket, first develop an attack plan. What do you need to solve this problem or develop functionality? taking at least a few minutes to plan an attack can save hours of frustration

60. Learn to pseudocode.
Pseudocoding is an excellent skill because it allows you to solve complex problems without spending time writing lines of code. Describe the chosen approach on paper, model various testing examples and see where the pitfalls are.



61. Track your achievements
If you received an award at work, write it down. If you are developing an important function, write it down. You will create a backlog of moments that can help in career advancement or boost morale in difficult times.

62. Learn the basics of programming
Learn some basic sorting and searching algorithms, as well as data structures. This will help you in solving problems regardless of language.

63. Choose durable and supported technologies.
Although it is interesting to test the latest technologies, choose those that will be easy to support in an enterprise application. The team will be grateful to you for many years.

64. Learn Design Patterns
Design patterns are useful tools for developing code architecture. You may not need them on every project, but a general understanding of them will help when creating large applications.

65. Reduce ambiguity
Instead of writing complex code demonstrating your skillful programming skills, strive for readability and simplicity. This will help your team members contribute more easily.



66. Pay off technical debt
Technical debt can have serious performance implications, so if you can refactor, you should.

67. Update frequently
Instead of releasing large-scale updates once a month, do it more often with a smaller list of changes. You are less likely to make mistakes and break changes.

68. Make commits early and often
Making commits early and often is the best way to keep your work clean and reduce the stress of accidentally returning important changes.

69. Understand when you need to ask for help
You should not only not be afraid to ask for help, but also to understand when it should be done. You should always try to solve the problem before asking for help. But when you deal with the problem for more than an hour, the cost outweighs the benefits, and you should contact a colleague.

70. Ask the right questions.
When asking a question, try to be as specific as possible.

71. Get unfinished feedback
You do not have to finish work to get feedback on it. If you are unsure of the correct direction, ask your colleagues to help verify this.



72. Read the documentation
Documentation is the purest source of the truth about technology, so reading it can quickly help you become an expert.

73. Try it all
Nothing prevents you from trying to solve a problem. What do you have to lose?

74. Talk in meetings
Your ideas and opinions are valuable, therefore participating in meetings will help you develop mutual understanding with the team and management.

75. Collaborate with other teams
If you have the opportunity to work with another team in your company, use it.

76. Get your personal projects
When you work 40 hours a week, it's important to set aside time for third-party projects that you are passionate about. They help revitalize your love of programming and try new technologies that you may not have access to at work.

77. Define your career goals
It is important to have an idea of ​​an ideal career path. If this is not the case, you are trying to fire an arrow without seeing the target.



78. Participate in conversations.
Comments on blogs, participation in conversations on Twitter. Interact with the community. You will learn much more if you are an active participant, not a vegetable.

79. Prioritize tasks
Learning to prioritize tasks will help increase productivity. Keep current daily tasks, as well as long-term tasks, and arrange them according to the most important.

80. Do not lose sight of the details.
Details can go a long way in design

81. Trust your team
Your teammates were hired for their skills. Use them and trust them to get the job done.

82. Learn to delegate
If you are in a leadership position, learn how to delegate authority effectively. This will save you time. You cannot do everything yourself.

83. Do not compare yourself with others
The only one you have to compare yourself with is who you were yesterday.

84. Surround yourself with allies
Learning to program will be a long, and not always easy, way. Surround yourself with people who will push you to move forward.



85. Don't start with scalability.
Starting scalability is the right way to overload yourself. Design for scalability, but don’t start scaling until you need it. Thus, you do not overload your team, but retain the ability to grow.

86. Weigh Performance Implications
If you want to use cool new technology, you must first weigh the impact on performance. Can't you implement something like this without losing performance? If so, you may want to rethink your approach.

87. Avoid discrimination
Do not discriminate against new technologies or ideas.Be open to learning new skills. Also do not discriminate against people. We all deserve respect.

88. Take on a job for which you are not qualified enough
You will never meet all the requirements for a job. So use your chance and get started! What will you lose?

89. Break the code into modules.
You could write all the code in one long file, but it is difficult to maintain. Thanks to modularity, we make sure that our code is easy to understand and test.

90. You should not just copy-paste.
If you are going to copy-paste the solution with StackOverflow, you must understand exactly what it does. Understand the code you decide to implement.



91. Create an inspiring environment
You will be much more motivated to work if you are satisfied with your workplace.

92. Remember where you came from.
We all started with the same thing. As your skills and career progress, do not forget where you came from.

93. Try to remain optimistic.
If something does not work out, continue to try and be optimistic. Tomorrow is a new day. Optimism will help the movement of your team and your mental health.

94. Constantly reevaluating your workflow.
Just because something is working now does not mean that it will always be so. Reevaluate your workflow and make adjustments when needed.

95. Learn to work from home
If you have the opportunity to work from home, learn to do it effectively. Find a separate office without distractions. Boneskull wrote an excellent article on work from home that you should read.



96. Create affordable products.
Everyone should be able to use your product

. 97. Respect your obligations.
If you told someone that you will do something by a certain date, comply with your obligations. And if you can’t meet the deadline, inform in advance.

98. Be proactive.
If you have free time, help with the tasks of your team. They will be grateful for your initiative.

99. Create an amazing portfolio.
An excellent portfolio sets you apart from the crowd. Use this as a chance to show your skills as a programmer and designer.

100. Remember why you love programming.
You went into this profession because it aroused interest. If you burn out, take a break. Give yourself the opportunity to revive your passion for programming.

101. Share your knowledge.
If you have mastered something cool, share it. Present at the venue of the meeting or conference. Train your colleagues or wards during lunch. Sharing knowledge strengthens them.

Source: https://habr.com/ru/post/461871/


All Articles