开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《瞎写 emojify》
今日推荐英文原文:《Just Keep Coding!》

今日推荐开源项目:《瞎写 emojify》传送门:GitHub链接
推荐理由:众所周知,要实现一个效果,可以用无数种方式编写代码,当然也包括瞎写。这个项目可以转换你的代码,让它以一种充满表情包的新方式实现和原来完全一致的效果。它唯一一个实际点的用途就是对外掩盖你真实的代码了——不过你有一百种更好的方法,所以仅把这个用于娱乐比较好,向不会编码的朋友展现表情包的真实力量吧。
今日推荐英文原文:《Just Keep Coding!》作者:Roberto Hernandez
原文链接:https://medium.com/better-programming/just-keep-coding-5070618b330f
推荐理由:熟能生巧,熟练才会带来力量——这意味着在熟练前会踩很多坑

Just Keep Coding!

A letter to junior developers

Hi Junior Developer,

I decided to write this letter to you. You’re probably just starting out on your dream developer career. I was there at some point and know the feelings of fear and doubt very well.

So I thought why not write a letter to encourage and motivate you to keep coding. There’s plenty of people of the net already talking about the technical stuff. Just remember, no matter how many mistakes you make or if the apps you develop don’t have the quality of outcome as you expected, just stay focused. Stay swimming on this ocean of codes, where you’ll eventually grow your seed through the code you create to make life better and processes easier.

The aim of this is to show you in this stage that despite it being hard right now, there are some valuable and powerful things you can take advantage of. So don’t worry! Even the most seasoned developers have felt and passed the same stage, under the same struggle. And, of course, you’re not alone. Though I am still a beginner at some topics, I am learning and getting better every single day.

The Beginner Stage

Sometimes you probably feel like this stage pushes you forward, and other times it pushes you backward.

For a while, you feel the momentum and say, “This is living. This is what I want to do with my life!” But when things are hard to solve or when you face complex concepts and you’re not able to figure them out, you might say, “Come on! This is not what I want to do for the rest of my life.” You feel frustrated and need encouragement to move forward. It’s a struggle that lives inside you and is holding you back. I know this feeling very well, too.

At this stage, you make a lot of bad things, and this is given for different reasons: Some of you want to get a job fast. Others just want to survive or need to earn some money, so you’re more likely to accept low-budget projects.

So we’re making bad decisions, making optimistic plans, and building software with poor and low-quality code as well. But this is normal. It’s just the beginning. You’ll find a way to jump to the next level. I can categorically say to you: It is worthwhile — just keep coding!

The power and values of this stage

I would like to spotlight the most important values at this stage: the willpower, the voraciousness, and the ambitions you’ll need in order to learn more, to become better, to have the courage to go beyond your goals, the willingness to give the extra mile, and the ability to be humble and embrace feedback.

Take advantage of these superpowers to progress in your development skills. You and I have dreams and goals, so we must force ourselves until we accomplish them. Add value to this world with your code by helping others. We want to be part of the change by writing quality code and sharing our knowledge, experiences, and lessons. The world will thank you!

Your desire to build a successful developer career

Most of us want to build a successful developer career, right? But let’s first clarify what a successful developer career means.

Successful, in general, means you’re able to accomplish your own metrics or your goals.

For some, the goal may be adding important contributions to an open-source project. Others may want to impact and help others with their knowledge by acting as mentors. Others want to leave footprints with their code. And some just want to work in a fantastic tech startup or at a big tech company, such as Google, Facebook, LinkedIn, etc. The list is endless.

But in general terms, it all comes down to becoming a strong developer — a master on what you do — then deciding how to get your ideas into the world.

Self-motivation, self-discipline, and focus

I truly believe building a solid developer career is not easy, and you won’t accomplish it overnight.

If someone else has told you the opposite, he/she has lied to you. Having said that, building a strong developer career depends on several factors, and all of them play on your side so you have control over them.

From my point of view, the three most important factors are self-motivation, self-discipline, and focus. Without focus, you don’t clearly know where you want to arrive in the short, medium, or long-term. Your sight is a blur — you might not have a clear path or you might even have the wrong path.

The real problem when we start out in this career is that we are expecting to see great results after we finish some video courses, some tutorials, some posts, or after completing some pet projects.

But the software-development field works the same as when you start to go to the gym. If you want to see progress, you should build self-discipline and self-motivation. You’ll see notable results after some weeks and months — as long as you maintain your consistency and discipline. You must train your brain and develop the muscle to gain use cases, becoming better at problem-solving and more creative.

Finally, Some Advice

Finally, I would like to give you a few tips and a piece of advice based on my learned lessons, experiences, mistakes, and failures.

Enjoy the process

I know this stage is hard in terms of how to get, retain, and understand all the information, concepts, paradigms, design patterns, data structures, and algorithms you’re receiving every day.

I encourage you to just keep coding. Enjoy what you’re working on no matter if it’s a small, medium, or big project. Please stop focusing on the results — enjoy and travel with the process instead. The results will come in time.

Plan first — then code

In the beginning, I constantly skipped the planning phase. I just wanted to see real progress and outputs on my UI. I started the task just thinking a little bit about it, without doing proper analysis and planning the best way or approach to solve and complete it. I ended up wasting more time in the end.

Plan and objective, and stay aware of it. But then code. Too much planning it also not a good idea.

To solve a problem, think about the different ways to solve it.

Usually, when we’re in front of a problem, we try to solve it as soon as we can. We decide to go with the first solution that comes to us. We forget to think of the complexity, the use cases, and the buggy potentials.

Just keep coding — it’s the only way to master this field.

Thanks for reading!
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/