開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《植物大戰殭屍 PythonPlantsVsZombies》
今日推薦英文原文:《The Mid-Life Crisis of Every Developer》

今日推薦開源項目:《植物大戰殭屍 PythonPlantsVsZombies》傳送門:GitHub鏈接
推薦理由:說到塔防的話就不能不提家喻戶曉的植物大戰殭屍啊,火力分配,地形利用,射程射角的計算和即刻道具的使用等等要素將這個遊戲的可玩性大幅提高。這個項目使用 Python 將這個塔防遊戲重新復現了一遍,儘管暫時沒有把所有要素都復現出來——目前只實現了部分植物和殭屍以及白天黑夜關卡而已。

今日推薦英文原文:《The Mid-Life Crisis of Every Developer》作者:Mahdhi Rezvi
原文鏈接:https://medium.com/better-programming/the-mid-life-crisis-of-every-developer-b92c3b102d80
推薦理由:別忘了你要解決的問題可能有一半都不是直接來自於軟體

The Mid-Life Crisis of Every Developer

No one said being a developer is easy

As developers, our daily lives are a battle against machines. We do our best to perform efficiently, but at times the problems get ahold of us. Here are the issues every developer will face at least once in their lifetime.

Understanding How the Program Works

This is an issue every newbie developer faces. You should always understand that most of the time, it』s never the program』s fault. The program simply follows what it』s commanded to do. This concept is called GIGO (Garbage In, Garbage Out). If you find a library or a code snippet not performing its job, it』s most likely because the programmer wrote it that way. To get a better idea of GIGO, please watch the video(https://youtu.be/cDA3_5982h8).

Debugging

Imagine a scenario where you come home and receive an email from Quality Assurance with a list of bugs to work through. Trust me, that email will ruin your day. But the good news is that bugs are common in programming. In fact, even the best-written code can have them. And they can be fixed.

In order to solve this problem, you should
  • Reproduce the error — The best way for you to fix a bug is to find its root cause and fix it.
  • Get help — If you can』t reproduce it, get help. The tester who found the bug may be able to reproduce it for you.

Communication

Every developer eventually becomes a part of a team. Poor communication is one of the major issues a developer will face in their lifetime. At its worst, it can cause conflicts within the team and the workplace. The blame for poor communication falls on you because it』s in your power to control. If you don』t try to build good communications with your team, you are ultimately responsible for the problem.

The only way to solve this problem is to improve your communication skills.
  • Be proactive — Communicating only when you need something is not going to help you at all. You should be able to mingle with your colleagues and not be scared to ask them questions, especially about any workplace-related issues. You can get accustomed to the workplace culture faster if you open up to other people. And if you are a shy person, well, your lack of self-confidence is something that you will have to work on.
  • Be confident and consistent — There will be times where you are not clear in what you want to say, and this can cause problems. Don』t feel bad at times like that. Accept your mistake and learn from it. Work until you are able to freely express yourself.

Time Management

「Time is the most valuable thing a man can spend.」 — Theophrastus

Photo by Icons8 Team on Unsplash

Time management is a crucial skill in every job role. You always have 24 hours per day — not more, not less. It』s up to you to utilize them to the fullest. As a developer, there will be times where you will not be able to keep up to your time estimation for a task.

Estimates are important in software development. They can be a basis for price quotes and project schedules. Schedule delays cause problems and may compromise trust.

As a new programmer, you might be tempted to put in more time than you need for a task, with the assumption that doing so might impress your boss and be good for the project. But doing this can come back to bite you. It can put you way behind schedule and behind your team, which makes you look bad.

To stay ahead of your time estimations,
  • Break down tasks — The best way to make tasks more manageable is to break them down into smaller microtasks. Breaking down your heavy workload will keep things from overwhelming.
  • Time yourself accordingly — If a task takes around 20 minutes, give it around 30 minutes, with some additional time for any disturbances that might occur.

Conclusion

Whenever you face a problem, always keep in mind that you are heading in the correct path. Think of your life as a game. The better you play, the harder the level will be. The challenges you face are not insurmountable. Keep these tips in mind and take comfort in the fact that you aren』t the only one; your colleagues have faced these problems at some point, too.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/