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:  

Hi! I am a robot. I just upvoted you! I found similar content that readers might be interested in:
https://simpleprogrammer.com/2017/06/19/generalists-specialists/

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

Not indicating that the content you copy/paste is not your original work could be seen as plagiarism.

Some tips to share content and add value:

  • Using a few sentences from your source in “quotes.” Use HTML tags or Markdown.
  • Linking to your source
  • Include your own original thoughts and ideas on what you have shared.

Repeated plagiarized posts are considered spam. Spam is discouraged by the community, and may result in action from the cheetah bot.

Creative Commons: If you are posting content under a Creative Commons license, please attribute and link according to the specific license. If you are posting content under CC0 or Public Domain please consider noting that at the end of your post.

If you are actually the original author, please do reply to let us know!

Thank You!