Printers Instead of Getters

  • 651 words
  • three minutes to read
  • comments

Getters and setters are evil. No need to argue about this, it's settled. You disagree? Let's discuss that later. For now, let's say, we want to get rid of getters. The key question is how is it possible at all? We do need to get the data out of an object, right? Nope. Wrong.

Jare.io, an Instant and Free CDN

  • 1390 words
  • 6 minutes to read
  • comments
badge

CDN stands for a Content Delivery Network. Technically, it is a bunch of servers located in different countries and continents. You give them your logo.gif and they give you a URL, which resolves to a different server depending on who is trying to resolve it. As a result, the file is always close to the end-user and your website loads much faster than without a CDN. Sounds good, but all CDN providers want money for their service and usually a rather complex setup and registration procedure. My pet project jare.io is a free CDN that is simple to configure. It utilizes AWS CloudFront resources.

Unspoken Secrets of an Elevator Pitch

  • 1421 words
  • 6 minutes to read
  • comments

Your success depends on the quality of your elevator pitch. Basically, your success doesn't depend on much of anything else. The pitch is king. You have to impress the catcher investor in just a few seconds while the elevator is still moving (that's where you are supposed to hunt for that prey). It's not rocket science; you can learn a few basic principles and become a expert. Here they are, the principles.

Try. Finally. If. Not. Null.

  • 227 words
  • a minute to read
  • comments

There is a very typical mistake in pre-Java7 "try/finally" scenario, which I keep seeing in so many code reviews. I just have to write about it. Java7 introduced a solution, but it doesn't cover all situations. Sometimes we need to deal with non-AutoCloseable resources. Let's open and close them correctly, please.

Wring.io, a Dispatcher of GitHub Notifications

  • 360 words
  • two minutes to read
  • comments
badge

I'm taking participation in over 50 repositories in GitHub. We manage all of our projects there. GitHub is sending me hundreds of emails every day. I'm serious. Hundreds! I tried to filter them somehow in Gmail, but it's not really possible. Gmail filters are not powerful enough to understand the difference between different types of notifications, and there are many other problems. I decided to create my own simple filtering machine. It's called wring.io.

Pimp Up Your Resume

  • 2569 words
  • 10 minutes to read
  • comments

There are tons of articles about resume writing. Literally, tons of them. And here's yet another one? Well, maybe ... but I don't think so. I'll try to give you a few practical hints for how to make your resume look "sexier," and how to position yourself beyond the "good programmer" category and into the superstar zone. It may take a few years to truly pimp up your CV, but when it's done, you will charge $100-plus per hour and face no hesitation from your clients in paying.

How We Interview Programmers

  • 843 words
  • four minutes to read
  • comments
badge

At Teamed.io, we've been getting about 10 resumes every day from programmers who want to work with us. We don't do video or online coding interviews. We don't ask you to solve any puzzles or demonstrate your algorithm-writing abilities. Moreover, when we decide not to hire you, we honestly and openly explain why. And we almost never offend anyone. So how exactly does it work? There are a few basic principles I would like to share.

Holacracy or Autocracy? Both!

  • 663 words
  • three minutes to read
  • comments

I strongly believe that while it is very effective to structure an organization in a democratic and sociocratic way, a project should be managed completely different. A project should resemble a dictatorship, authoritarian or military hierarchy with a single strong, result-oriented leader who gives explicit orders that are never doubted by subordinates and an explicitly defined hierarchy.

Are You Still Debugging?

  • 764 words
  • three minutes to read
  • comments

Debugging is "a process of running a program/method interactively, breaking execution flow after each statement and showing..." In a nutshell, it is a very useful technique ... for a bad programmer. Or an old programmer who is still writing procedural code in C. Object-oriented programmers never debug their code—they write unit tests. My point here is that unit testing is a technique that completely replaces debugging. If debugging is required, the design is bad.

Design Patterns and Anti-Patterns, Love and Hate

  • 655 words
  • three minutes to read
  • comments

Design Patterns are ... Come on, you know what they are. They are something we love and hate. We love them because they let us write code without thinking. We hate them when we see the code of someone who is used to writing code without thinking. Am I wrong? Now, let me try to go through all of them and show you how much I love or hate each one. Follow me, in alphabetic order.