开源日报 每天推荐一个 GitHub 优质开源项目和一篇精选英文科技或编程文章原文,坚持阅读《开源日报》,保持每日学习的好习惯。
今日推荐开源项目:《学以致用 get-my-ps5》
今日推荐英文原文:《Why Do You Need to Specialize?》

今日推荐开源项目:《学以致用 get-my-ps5》传送门:项目链接
推荐理由:学习高数不能让你在买菜时更好的砍价,但是学习 Node 能让你更快的查到有没有 PS5 卖。这个 Node 项目和前几天的那个大同小异,通过轮询来查找 PS5 是否可以购买,然后在成功时顺便帮你打开浏览器(如果你希望,这个项目还提供了闹铃功能让你从被窝里跳起来)。最近 PS5 着实非常流行,选择抢购 PS5 作为学习路上的一个试做项目没准会是个好选择——既可以锻炼能力又可以实打实的派上用场。
今日推荐英文原文:《Why Do You Need to Specialize?》作者:Szymon Adamiak
原文链接:https://medium.com/better-programming/why-do-you-need-to-specialize-97b2e0a18dc8
推荐理由:成为水晶公一样的全才很困难,而且大部分时候并非那么必要

Why Do You Need to Specialize?

The programming market is larger than ever. You have to stand out to get noticed

What do you want out of your professional life?

To find your first job? Earn more money? Freelance or build a product? Whatever it is, the easiest way to achieve your goal is to specialize.

Specialize at the Beginning of Your Career

The need for specialization for beginners is stronger than ever. The number of software development jobs and tools is overwhelming. You can learn hundreds of different languages or frameworks and use them in a myriad of domains.

You can’t learn it all. Even if you could, no one will believe you did.

You shouldn’t learn it all.

What you should do is make a plan. Find something you want to learn, check the typical requirements for the position you’re aiming at, and learn it one thing at a time.

For example, if you want to become a front-end developer, you’ll soon discover you need to learn HTML, CSS, JavaScript, and a JavaScript framework. You should learn exactly those things in exactly that order. And learn one framework of your choice. Not two or five. One.

To find a job, you’ll need a bit more (especially version control), but the other things are easier and you can learn them just before job seeking. Everything else is just a distraction.

It sounds easy, but it’s not.

The most common beginner's mistake is trying to learn several things at the same time. Trying to bite off more than you can chew leaves you confused and discouraged.

This simple and narrowly specialized approach will serve you well. By only focusing on a few skills, you’ll be able to go deep and your future employer will appreciate it. If my company worked in React, I’d hire someone with strong JavaScript and React foundations rather than someone who knows a bit of React, Angular, and Vue.

And it’s more than that. If you pick your technological stack and stick with that stack, it says something about you. Now I know you can decide on your own and you are not a hype-driven person. I can assume you’re persistent enough to dig deeper — not only scratch the surface as long as something is fun. In short, I can believe you’re an asset and I should have you on my team. And that’s the only thing that matters when job seeking.

Specialize Later in Your Career

You’re an established software developer. How does it feel? It’s cool, isn’t it? But I bet you’re wondering how to further your career. What should you do next? Maybe learn another framework? Do a bit of freelancing? Build a killer app?

Whatever it is, narrower specialization is the key. If you’re specialized in a language or framework, you’re competing with tens of thousands of other developers. And you can safely assume they’re more or less on your skill level.

It may sound gloomy, but most software developers are interchangeable from the employer's perspective. To earn more money or become a successful freelancer, you need to stand out. Some of your skills have to be so good that they can’t ignore you. You have to be a specialist.

And it’s no wonder why. Think about it from employer’s/client’s perspective. Let’s say you’ve got lots of data you want to show your users. Who would you rather hire? A data visualization expert or a JavaScript engineer? Or you want to build a huge eCommerce site. Would you prefer someone who is an eCommerce expert or someone who built one small eCommerce app two years ago but is a good developer overall?

Clients and employers love specialists because they can trust them. Specialists have a proven track record of delivering similar products. It’s a no-brainer.

The best part of it? They are ready to pay very well for your expertise.

And it’s only the beginning. If you’re an expert, you can create multiple income streams. You may build a specialized product based on your expertise. You can teach others. Write a book or create a course.

Being a specialized expert opens many doors that are closed to regular, all-around software developers. It allows you to leverage your skills in a way you couldn’t even imagine.

Isn’t Specialization Dangerous?

It is. Everything is dangerous.

What are the risks? Your specialty may die. In 2010, Steve Jobs famously killed Flash in his letter Thoughts on Flash, explaining why he will not allow Flash on iPhones. Thousands of developers who were Flash experts were in danger. It turned out they picked the wrong specialty.

But did they really? Jobs’ letter was a huge blow to Flash and its owner Adobe. But Flash was very much alive for a few years. Only in 2017 did Adobe announce it would discontinue Flash by 2020.

Technologies don’t die overnight. The developers who bet on Flash had years to retrain. Whatever you choose, you’ll always have time to become an expert in another technology.

By being an expert in something, it’s much easier for you to learn similar things. You can’t go deep in any technology and specialize without sound general knowledge. That’s a hidden advantage of expertise — you may not notice it, but you’re a generalist too.

For example, to be a React expert, you need to be proficient with JavaScript. And if you’re proficient with JavaScript, you can easily learn a new framework if necessary.

To hedge your bets as a specialist, you should actively seek domains close to yours and explore them. After all, you don’t have to be an expert in just one thing. Or you can change your specialty. No matter what you do, make sure you’re an expert in something. It will pay off.
下载开源日报APP:https://openingsource.org/2579/
加入我们:https://openingsource.org/about/join/
关注我们:https://openingsource.org/about/love/