Join a meetup

Dear new developer,

You are probably pretty overwhelmed right now. There is a lot on your plate and you probably are just trying to keep up with the job.

I hate to do this, but I am going to ask you for some extra curricular time.

You need to join a technology meetup. Go to meetup.com and search for one on your area, covering technology that you’d like to understand more about. Sign up and go to the next one. If there’s no meetup in the area, search for a virtual one, and join via video chat or audio chat.

When you are at the meetup, you might have a hard time chatting with people (I do!). I find the best way to do this is to be interested in them. Show up 15 minutes early. Find someone standing alone and walk up to them and introduce yourself. Then ask what brings them to the meetup and what they are working on. This will be awkward at first, but just like coding, gets easier the more you do it. (Not sure how to do this virtually, but try to chat with someone on the webinar.)

Then, sit down and enjoy the presentations. You’ll probably learn something.

Why should you do this?

  • It will expose you to new ideas that you can bring to your work
  • It will allow you to have professional conversations where the stakes don’t feel as high (you can admit ignorance to a total stranger more easily than to your boss).
  • It will allow you to practice networking and talking to strangers, but the topic will be something you know you are interested in.
  • You can make friends, or at least acquaintances in your industry.
  • When you are ready to hunt for a new job, you will have a network outside of your colleagues.
  • You will meet cool people.
  • You will learn new things.

You may, in time, choose to help organize or speak. These activities are valuable for your work life, but again are easier to practice outside of the work environment. But if all you do is attend a a single meetup regularly, you will still come out ahead.

Please, go sign up for a meetup today.

Sincerely,

Dan

Deep vs wide experience

Dear new developer,

You have only a finite amount of time, and the world is large.

Technology changes so often and so fast that it can often feel like there is not enough time. Here are two strategies.

The first is to focus on fundamentals. Yes, there’s a new javascript framework. But it will still have a way to represent data, it will still use algorithms, it will still store data durably, it will still have a build system. Learn these fundamentals for two different solutions and you will start to see patterns that will allow you to pick up new languages/frameworks more easily (because you can map back to an existing solution).

The second is to choose whether you want to go deep or go wide. Going deep is focusing on one domain or language and truly achieve mastery. This is a project of years and experience. This path will lead you to interesting jobs and big paychecks, if you pick the right area. If you choose poorly, you might have only a few employers to pick from. Working for a product company is the best way to go deep.

Going wide will mean that you never achieve true mastery. You will however, learn to pick up new skills quickly. You’ll learn to map between two dissimilar situations. You’ll start to see patterns across software development and business. You’ll always be more of a generalist than a specialist, and that will limit some job opportunities. Working for a consulting company is a great way to go wide.

Neither of these is a better path than the other, and you can, especially in your early career, switch between them. Try them both on and choose consciously.

Sincerely,

Dan