开源日报 每天推荐一个 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/