[something] Devops

Yesterday, at the #watercooler, we were talking about the principals of devops (and how they were applied before the term was cool) and sharing war stories about organizations that preferred to intentionally wall off individual technology groups. Conversation turned to how running the code in production is the only measurable way to validate developers code, and instilling the culture that shares the responsibility for production readiness between operations and development teams is the way to go. As we were talking about it, I realized that despite the fact that majority of developers firmly believe that “It worked on my laptop” is a piss poor excuse for production failures, most don’t truly understand why it is virtually impossible to make your development environment representative of production.

Read More…

All the wrong reasons

Everything happens for a reason.
Sometimes that reason is you’re stupid and make bad choices.

A few months ago I attended Node Summit in San Francisco, dedicated to success stories around node.js implementations in large architectures. There were a couple of very educational war stories (particularly, the so-called, “boring” Walmart Black Friday case study, presented by Eran Hammer), but, this rant is not going to be about how awesome node.js is. This rant is going to be about bad decisions. Those that are still being made in the world of technology, driven by false premises, wrong reasons and buzzword bingo.

Read More…

How to make enemies

Every developer blames his or her predecessor. Whenever we get to work on, or maintain, a codebase that was developed by someone else, the first impression is always a negative one. Along with second, third, forth…up to nth. Someone else’s code is always worse than what we would’ve developed, given the opportunity. The design is wrong. The code is messy. There is insufficient documentation. The problem could’ve been solved in a more efficient way. Variable names too short. Variable names too long. Truth of the matter is – even when we look at our own code years later (and sometimes much sooner) we criticize it in exactly the same fashion. But after years of dealing with unrealistic deadlines, last minute changes in requirements, and “visionaries”, who cannot explain what they want, yet want it to work exactly the way they envision it, I’ve learned to make a distinction between “necessary evil” and complete incompetence.

Read More…

Time heals everything

Many years ago I was working with a very large customer, both from user-base and traffic perspective, with a pretty interesting business model at the time. Their MO was that, “time to market” is everything. And I mean everything. With the vast majority of their initiatives they were willing to launch the initiative today, knowing that there is a potential that it will fail for 20% of the users, rather than tomorrow, knowing that it those issues will be fixed by then. As a developer, that mentality drove me insane.

Read More…

Blame game

Every technologist has a technology preference. PHP vs Perl, MySQL vs PostgreSQL, Chef vs Puppet, Microsoft vs … well, pretty much everyone else. However, good technologists know the advantages and disadvantages of different tools to make the argument pro or against one of them. Others just blame technology for their own lack of knowledge.

Read More…

Let’s get personal

Last week, I was doing some research about my upcoming trip to Tanzania. I was browsing the web, looking for good deals on trip packages, reading feedback and comments from people who went on a similar trip, checking prerequisites (shots, visas)–basically general research anyone would do when going on a trip to a place where they’ve never been, or looking to buy a new product and trying to choose from the selections. Later that week I was checking my Gmail account, and, what do you know? The news ticker above the email showed me: NYT Travel – Next Stop: Off Tanzania, Serene Mafia Island. Obviously the article was targeted specifically to me, based upon my research over the few previous days, and it did provide me with some new information. But, is it a valuable service that companies provide, or an invasion of privacy–an abuse of the collected data that was never meant to be public?

Read More…

In search of unknown

I’ve talked at length about the importance of business process monitoring alongside of system monitoring, but in discussions I found that sometimes an overview and simple examples are not enough to convince people about the benefits of this approach. Business owners think they don’t need to know anything about the operational performance of their systems as long as they have their numbers, and engineers often don’t feel they need invest time into understanding the business they are supporting in detail, finding examples shown too “common sense.”

Read More…

Discussing business online

I recently was invited to join RSS Ray during his weekly radio program “Online Marketing with RSS Ray” broadcasted on WS Radio, to discuss the challenges in creating and operating business online. We covered a lot of great topics that would be relevant to anyone trying to either build or improve their web presence, starting from pointers on what to look for when selecting a vendor, to scalability and security considerations, and all the way to the tips on choosing the right CMS for your business. You can listen to the two-part podcast below.

Read More…

Anatomy of business driven CMS

Content Management Systems (CMS) have become one of the most powerful internet-related products. What once was a gadget for web developers and technology geeks is now a must-have tool for various business units. Because of the pace at which the world of internet technology changes, and the high demand for up-to-date content availability, there are thousands of products (commercial and open source alike) that offer a myriad of features to the companies in need of a solution to publish their content.

Unfortunately, over the past decade, the term “CMS” has become a buzz word, a commodity if you will. Everything web-related (short of social media, and that’s changing nowdays as well) has been rolled into those three characters. Originally (loosely) defined as “web application to create, edit, store and publish online content”, CMS has transformed into a much larger beast, covering e-commerce inventory management, SEO tool, workflow creator, and much much more. There are a lot (and I mean A LOT) of “How to choose CMS” articles out there, all composed from different perspectives, starting from a designer usability stand and ending with a CFO financial point of view. This article is not one of them. The goal here is to separate the term “CMS” into two very distinct components, and analyze the impact and/or the importance of each in a context of selecting a system to support your business.

Read More…

Just do it

I often get criticized for my mantra towards the development approach. Your code may be elegant, by mine f***ing works. In response, I hear statements ranging anywhere from “You don’t understand best practices” to “You hate testing!” In an effort to avoid repeating myself on regular basis, I decided to write down my point of view on the topic. Adhere to it or not – your choice.

Read More…