Category Archives: Software Development

What’s the best way to learn a new technology?

In software we have to learn new technologies all the time. I mean, every day there are probably a couple of additional JavaScript frameworks born into the world.

The amount of languages, frameworks, 3rd party libraries and tools is staggering. And every place of work uses a unique permutation of those.

As developers, we have to stay on top of things, no two ways about it.

Once we’ve decided we want to learn a new technology, we have a lot of ways to approach that. Especially with the burst of information nowadays. There’s no clear answer as to how we learn something. It depends on the technology itself, how deep you need to learn it, how much time and money you have to spend on this and personal taste.

If it’s a big technology stack like WPF, some YouTube videos probably won’t cut it. However, if you need to do learn a small JavaScript library, reading the documentation alone might be enough. It all depends. If I know I’m going to do a big project with React, which I don’t know at all, I’ll take a long Pluralsight course at the very least.

Continue reading

Software Engineer’s path to the best annual performance review

How the annual review scores are formed in the eyes of managers always fascinated me. I have five years of experience with annual reviews myself, and I was always able to do well on them.

As a tech lead I got to give recommendations and participate in some discussions with managers. I formed a pretty firm and possibly naive point of view on them now.

Continue reading

How my life changed when moving from TFVC(TFS) to Git

After working for the last three years with TFS’s classic source control TFVC, I recently moved to a new company and with that, to Git.

Before working with Git, I loved working with TFVC. I thought it was great and pretty much the most I can expect from a source control.

Git however changed the way I work with source control and even the way I think about source control.

This post is a small taste of what Git does and how my workflow changed accordingly. It is not a Git tutorial, but rather my impressions from it. I do link at the end to some additional resources.

Continue reading

The Over Designer

Have you ever encountered an over designer? An over designer is a software developer that had some life changing event and became obsessed about architecture. The result being, obsessive decoupling, endless coding of Factories, creating deep (also needless) inheritence hierarchies and various use of design patterns for no good reason.

I believe the over deisgner is a mutation in the natural evolution of a software developer.

Software Developer’s Evolution

Not every software developer reaches to Senior level. Few reach to Jedi Master and some rare geniuses evolve to Jon Skeet’s level.

I believe somewhere during the transition from Code Monkey to Senior a mutation occurs: The Over Designer.

Continue reading