開源日報 每天推薦一個 GitHub 優質開源項目和一篇精選英文科技或編程文章原文,堅持閱讀《開源日報》,保持每日學習的好習慣。
今日推薦開源項目:《快速傳輸 snapdrop》br/> 今日推薦英文原文:《Three Programmers, Three Paths, One Road to Glory》
開源日報第994期:《快速傳輸 snapdrop》
今日推薦開源項目:《快速傳輸 snapdrop》傳送門:項目鏈接
推薦理由:這個項目提供了一個方便的文件傳輸方式——只要在設備上打開這個網頁,就能在這裡選擇這個網路里其他打開了這個網頁的設備進行文件傳輸。而且這個項目在傳輸數據的過程中沒有引入第三方,同時 web 版使用了 WebRTC 來提供加密傳輸,從而保證隱私不會泄露。如果需要頻繁使用的話,也可以選擇使用他們在各個平台上的 app。
今日推薦英文原文:《Three Programmers, Three Paths, One Road to Glory》作者:Zachary Minott
原文鏈接:https://medium.com/better-programming/3-programmers-3-paths-1-road-to-glory-eb337061c995
推薦理由:三種不同的行動模式會帶來的截然不同的未來

Three Programmers, Three Paths, One Road to Glory

Which path will you take?

Three Programmers on a Level Playing Field

Imagine three different junior programmers, all working in the same company with relatively similar sensibilities. Each one makes the same $60k per year starting salary, has similar educational backgrounds, and possess the energy of anyone just starting out.

Let』s give them some names: Nathan, Jack, and Devin.

Nathan goes about his career as he always has. He punches into work, completes his tasks for the day, and his most exciting part of the day is when it ends, so he can come home and relax. He thinks he』s happy but sometimes complains that nothing ever changes for him. His head is filled with pestering 「what-if」 questions and he wonders how long he』ll have to wait until he can get a promotion or simply ascend to a mid-level developer. He』s a good programmer, but he sticks to confidently doing what he knows how to do.

Jack starts making a few poor choices but nothing crazy. His mind often wanders at work and would intermittently get distracted by his phone or other internet browsers he has opened. He focuses on getting the bare minimum requirements done and lives by the 「if it works, don』t touch it」 programming philosophy. He drinks red bulls at his desk every day to help him focus and regularly indulges in an unhealthy diet of pizza and chips. He』s a great coder, but his knowledge of that fills him with a sense of pride that keeps him from seeking the help of others, asking too many questions, and sharing information with his colleagues. Needless to say, he still gets his tasks done on time and still meets his deadlines.

Devin decides to start making subtle, positive changes. He starts off his days reading at least ten pages of a non-fiction book that may help improve his career and coding skills. He decides to start meditating and even tries brushing up on his coding skills with an online course for 30 minutes a day. He doesn』t hesitate to ask questions at work and he decided that it would be a good idea to send his boss a progress report twice a week to showcase what he』s got done and what he still needs to do. He doesn』t do anything rash and he makes no grand acts — they』re just simple things anyone could do on a consistent basis. He knows he』s a decent coder, but realizes that he could always be better and so he is constantly looking for ways to improve.

3 Months Later

You wouldn』t be able to see any obvious differences between any of these individuals in regards to their overall performance and skillset.
  • Jack is enjoying his career with his ability to get things done quickly and deliver at fast rates.
  • Devin continues to find ways to constantly sharpen his skills and mind in the healthiest ways he can surmount.
  • Nathan simply continues to do as he always has and just shows up to work because it』s his job to do so.
Although each developer has their own pattern of behavior, three months isn』t long enough for any of them to see any noticeable differences in their situation.

9 Months Later

It』s at this point that each developer has started displaying noticeable changes in their situations.

Jack is starting to feel a little bit clouded in the mind and is becoming more lethargic as a result of his unhealthy diet. He』s ramped up his consumption of Red Bulls to two, maybe even three a day as he doesn』t experience the same energy boost as he used to. He』s still getting stuff done, but it』s not getting easier. He』s starting to feel the drawbacks and time delays of the messy yet quick code he wrote over the past months and is starting to feel like he』s lagging.

Devin, on the other hand, is thinking very clearly. He』s shown an innate sharpness and meticulous approach when writing code. He』s not moving any faster than Jack, but he』s writing more quality code than he ever has before and he』s been able to deliver on more advanced tasks. He has developed relationships with the leaders of his company — they have begun to recognize the progress he』s made through his transparency and ability to communicate what he』s been working on.

Nathan is still trodding along, in the same exact place he was before, except he』s a little bit more bitter this time.

18 Months Later

Drastic changes can now be clearly seen between the three programmers.

Jack』s overwhelmed with backlogged work that he』s unable to get done on time. Management is complaining about how his code keeps breaking and that it』s taking far too long for him to modify and identify errors in his code. Other programmers are having trouble discerning what his code does when they come to review it. His performance rating has fallen drastically and mentally he』s not all there. His mind is clouded, he』s tired all the time, and he is unable to properly map things out in his mind as he used to do. He gets distracted easily now and maybe only has one to two productive hours a day. Where at first he thought he was thriving, Jack』s programming career is now in peril.

Devin』s daily positive habits over the past several months have proved to be fruitful. He』s now quickly ascended the ladder to become a technical lead and has tight-knit relationships with all the leaders he looks up to in the company. He produces quality work very regularly and isn』t afraid to share information and mentor those that are below him and even above him. He』s still growing and still changing, but his future in tech is looking extremely bright.

Nathan still hasn』t changed much but, to him, his situation appears to be something that he simply can』t control. He』s actually mystified by Devin』s performance and believes it』s something he wouldn』t be able to replicate.

The Moral of the Story

Many people falsely believe that if they simply stick around long enough to become 「more experienced,」 they』ll linearly ascend through the ranks of programmers and technical talent.

That』s simply not true.

As we see with these three gentlemen, it』s the apparently insignificant things you do on a consistent basis that, over time, sculpt you into the person that you either want to be or don』t want to be.

Just increasing your awareness of those tiny things helps you to realize what you need to improve upon.

As I regularly preach, great programming talent is produced through a commitment to lifelong, deliberate, learning and practice in both soft and hard skill subject areas.
If you are going to achieve excellence in big things, you develop the habit in little matters. Excellence is not an exception, it is a prevailing attitude. — Colin Powell, Former US Secretary of State
Simply recognize the person that you identify with the most. It』s best to be brutally honest with yourself.

Are you really the Devin? Or are you more like Jack? Most people tend to be like Nathan and just sit around waiting for life to happen.

Remember: When it comes down to it, it』s your decision to make things right and make the change for the better. Your value increases as a result of the small things that you do very regularly.

So ask yourself, which path do you want to choose for your long-term programming career?
  • Nathan: The Path of Neutrality
  • Jack: The Path of Instant Gratification
  • Devin: The Path of Self-Transformation
Maybe you won』t walk the path perfectly, but at least, whatever path you choose, you』ll be intentional about the decisions that you make.
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/