開源日報 每天推薦一個 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/