How to Choose Specialization

One of the common struggles we all face is choosing what exactly we want to do. There are so many software development sub-fields, it’s hard to choose one.

Should I be a front-end developer? Back-end? Mobile? Should I go for Machine Learning? Embedded? Maybe DevOps?

I don’t have a three-item questionnaire culminating in the “Congratulations! You’re an iOS developer” pop-up. What I do have are some recommendations on how to approach the question and get an answer you won’t regret.

Text Editing Fundamentals

Icons of Vim, Emacs, Spacemacs, Neovim, Sublime Text, Atom, Visual Studio Code, KDevelop, Brackets, jEdit, Eclipse, NetBeans, IntelliJ IDEA, Notepad++, XCode, TextWrangler, UltraEdit

We, developers, spend a big part of our days writing, editing, and reading code. During the lifetime we probably write millions of lines of code and edit about twice as much.

These large numbers are what makes text editing a good candidate for performance optimization! Increasing your text editing efficiency just a bit yields tremendous results in the long run.

Design Patterns Pitfalls

Learn when design patterns do more harm than good.

In this article, I want to share some common pitfalls associated with design patterns and many best practices. Intermediate developers are the most fallible group (as opposed to novice or advanced developers) because they are at the stage of focusing on abstractions the most.

Learn it Yourself

How to stop asking others and learn to learn by yourself.

This is a fundamental topic and will be most useful if you are a complete beginner. Especially, if you always back up to asking your fellow programmer to fix an error or explain a thing you don’t understand—I’ll try to teach you what else you can do instead.

Code Review Essentials

This article is an introduction to code reviews and covers the main principles and some common pitfalls. It is intended for developers (regardless of level) who’ve just started participating in an existing code review process but don’t quite get it. Though it still may be useful for a seasoned reviewer as some of the pitfalls are tricky to overcome.