October 7, 2015

Many of us leave the skills we gain up to fate. It is much easier to drift with the currents of our backlog. It is much easier to just pick skills up as our new tasks demand. We might be apathetic about our current situation or just unaware that we have the power to massively change it.

Here are some questions

  • Is there something you'd rather be working on?
  • Do you want to be assigned to a certain project?
  • Do you want a promotion?
  • Do you want to live somewhere else?
  • Is there an industry you want to be in?
  • Is it more money that you want?
  • Is it job security you want?
  • Are there certain people you want to work with?
  • Do you want more challenging work?
  • Is there some dream job out there you've thought about?

If you said no to all of those, carry on. You've got it all figured out.

If you said yes to any of those questions

Trying to pick which technologies and skills to focus on can be a daunting task on your own. There are countless threads on forums for new programmers asking which languages to focus on. It's difficult to get started when you have no direction and you don't understand the merits of choosing one over another. If you don't have a destination, how could you decide which direction to move?

Which way should I start swimming?

The follow up to this is simple. You don't need to have an ultimate dream, just a desire to get somewhere slightly better. Look at what you want and see which skills will help you get there. If you see someone who is closer to what you want, ask them about the skills that got them there. Speaking with someone who is further along the road you want to travel can give you valuable insight into where to focus your efforts. There is also plenty to pull from their hindsight as they are sure to have done some things differently if they went back.

Pick the skills that give you options

If you know you're going to be working in a certain region or industry, see which skills are in highest demand. If you want to work on something specific, with someone specific or in a specific company, that's easy: just learn the skills needed there. Networking can be very helpful. You'd be surprised how receptive people are to helping you get started or giving you some direction.

You'll very often get the answer, "It doesn't matter! Just pick one" or "It really depends!". If you're looking for solid guidance, neither of these may be very reassuring. They are right in a way, but just keep asking.

Don't get caught on a raft without a paddle

All of that being said, don't just pick up the skills on demand. While it's valuable to be able to do that, you can drastically improve your situation if you are mindful about which direction to move in. Be careful of moving with the crowd, as hype and cool factor won't carry the tech through after the dust settles.

Just pick out where or who you want to move toward. If you have a goal, you can pick the tools to get there rather than picking your tools without a purpose. Have a purpose.


September 30, 2015

When did shaming developers for the technology they work in become okay?

I get the whole camaraderie thing, poking fun at each other for your inferior technology choices. I am talking about exclusion and rude comments based on career choices.

I am speaking from the view of a professional .NET stack developer. I feel as though I have been lucky enough to have friends who are very involved in development and technologies way off the typical commercial .NET developer radar.

There is this old stigma that has followed all Microsoft technologies from the neckbeards in the open source think tanks back in the day. This boils down to Microsoft being an evil corporation who is an enemy to the progress of software, because of their original views on intellectual property. They did not share for free and so were shunned by the talking heads of the software community.

I have a very vivid memory from my first conference ever. I went to a MongoDB conference in New York City. I was fresh out of college and very excited to see what this conference had to offer. My friend and I were chatting up a very experienced java consultant and he asked us what we do. My friend told him about his latest PHP projects, and I mentioned that I was an intern doing VB.NET work. He then proceeded to turn his shoulder to me and chat with my friend, effectively closing me out of the conversation.

Don't shut people out, include them

The fact that this is my most vivid memory from my first conference ever certainly says something. What kind of jerk would literally shut out a bright-eyed and bushy-tailed junior developer from the entire conversation, simply based on the technology they happen to work with?

I totally get the old vendetta thing. I get that this is a decades old religious war between open source and proprietary ideologies, but don't treat some new kid as scum the moment they mention they use a technology from the corporate overlords you love to hate.

That kid has no idea what the open source movement really means yet, and why you believe proprietary software is bad for the world. Even if they did know that, it's okay to not share your beliefs.

We don't usually see the problem

I really don't know how aware the majority of .NET developers are of the complete distaste the a lot of the industry has. I try to make it a point to go to non .NET conferences and meetups to stay aware of the industry in an agnostic sense, and I also feel that most Microsoft conferences are sales pitches and for patting us on our backs to tell us how awesome we are.

Going back to having vivid memories of conferences, you almost know when you're talking to a .NET developer at one of these agnostic events, because they are very reluctant to tell you what technology stack they work in. I usually respond by immediately telling them mine.

Bias makes you blind

I was sitting in on an awsome presentation about the next version of JavaScript, slated for 2016, and the best comment the girl sitting next to me could come up with while we were chatting was, "This guy is from Microsoft? Why is he here?".

Really? Really? This guy is on the team determining the future of JavaScript, and you just can't get past the fact that he works for Microsoft? I told her I was a C# developer at that point; she laughed it off, and avoided further discussion about it.

Microsoft is turning it around

I think if I really asked these people why they hate Microsoft so much, most of them would struggle to come up with a decent answer. They would at least have to think hard about it before they remembered what their neckbeard forefathers preached in the 1990s.

The funny part about all of this, is that .NET Core is now open source. This stack's ecosystem is actually incredibly rich, which is why many developers never actually venture outside of it. Microsoft has wisened up though, knowing that the best way to expand its developer base, is to play to our passions. A lot of Microsoft developers are starting to get more adventurous as the internet becomes a more effective sharing community.

Final statements

Don't disregard other developers based on their technology stack or career choices. I want to finish this with a broader message though. Don't shame anyone about their choices in any aspect of life, because it's not your life. Just respect it.