Specialists or Generalists?

in #software7 years ago

imageSo, What Should You Do?

Regardless of where you are in your career, pick some kind of specialization to pursue.

Don’t worry if it’s not the “right” or final one.

Start with one, build your personal brand around it, and decide to go deep.

|Hey John| Should I choose a speciality based on my interests or on what I'm doing for my current employer?

This is a tough one.

Some things to consider:

If you specialize in something other than what you are currently working on in your day-to-day job, it’s going to be very difficult to get the time to build the expertise you need and to find the depth required to really specialize.

It’s certainly possible. I know some people who are doing it. I’ve done it myself in the past, but just realize it’s going to be a somewhat difficult path.

However, it is a good way to switch into something new, possibly something you really want to do.

If you can find something to specialize in that you currently are working on at your day-to-day job or that you can incorporate into it, you are going to get a double benefit from that specialization.

If you don’t have any strong feelings either way, I’d go this route.

Finally, you might be best off switching jobs into what you want to specialize in so that you can work on it all day.

Perhaps start off learning your desired specialization and building a reputation around it in the mornings before work and/or in the evenings, and when you have enough traction, jump to a new job that will use that speciality.
image

Don’t be a C# developer: be a C# developer specializing in a specific C# framework, or technology or even technology stack.

Try to go as small and detailed as you can. You can always branch out and expand later.

My friend Adrian Rosebrock is a very successful software developer and entrepreneur who specializes in a specific Python library for computer vision.

You wouldn’t believe how successful he has been with this particular niche, even though it’s extremely small and focused.

At the same time, work on building up your general knowledge of software development—your broad base.

Learn how to write good code.

Learn about the underlying principles and technologies that may manifest themselves in many ways, but really are never changing at the core.

You either want to learn things that are deeply focused and directly in your specialty, or broad enough to be widely applicable and somewhat timeless.

Don’t try and learn a bunch of different programming languages and frameworks that you will likely never use.

Following this approach, you’ll set yourself apart and set yourself up for success.

Even though writing a book is a pretty big undertaking, I’m excited to get started on this journey.

I hope you’ll join me along the way and help me shape the book as it’s being create.

Follow along so you don’t miss when I post new chapters here on Simple Programmer.

Sort:  

100% Agree with you, the right approach is to be NEEDED in a specefic task.

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 66937.04
ETH 3270.78
USDT 1.00
SBD 2.74