The Fullstack conundrum and the commoditization of web development

From meetup groups to job listings to titles on LinkedIn, full-stackers are all around. but for a term so prevalent it is surprisingly ambiguous. What is a “full-stack” developer? What does she do? What is the scope of her work? Does our company need one? Practical questions I imagine have crossed the minds of many VP R&Ds and CTOs. It would have been nice to have a common definition, but human languages is dynamic and evolves, so fragmentation and ambiguity are part of the game.

Blame It on the Phones

Since I’ve abandoned Facebook my primary source of tech news has become Twitter and this week my feed is raging with two seemingly unrelated security/privacy incidents: Zoom’s zero day and Superhuman’s email tracking scandal. I write “seemingly”, because despite these being two very different companies operating in two different markets (Zoom in video conference calls and Superhuman in emails), building very different products (Zoom is all about jump in, jump out - Superhuman is a workspace) these incidents stem from the same fundamental fault: The telephone experience.

Why conference speakers should not be paid

A few months back, the twittershphere rumbled on how wrong it is that conference speakers are not paid. In tweets and blogs, people have called out for conferences to pay speakers travel expenses and even pay them a fee for their work in preparing and delivering the talks. As an example, this article on medium.com. Initially, I was taken by the arguments: If someone is travelling from afar to speak, their costs should be reimburse.

My burnout is not your burnout

I’m usually a private person and I don’t publicly write about personal stuff - This is my first ever personal public piece. There are several reasons why I’m writing this; Since John Willis brought up the issue of burnout to the spotlight there has been a spur of blog posts and articles about burnout and some people have been gracious enough to share their personal story. After reading people’s stories I came to realize how important it is to share those experiences, I’ll get back to that in the end.

Why a private cloud is an exercise in futility

Every corporation and enterprise want a private cloud these days. The arguments vary from company to company, usually revolving around security, cost, independence and strangely enough — reliability. I could argue that given the track record of most enterprise IT departments it seems dubious they can improve even one of these parameters compared to a public cloud, but I won’t. It turns out there’s no point refuting those arguments, because, and I cannot emphasize this enough:

You are going to end up using a public cloud, even if it’s more expensive and less secure, less reliable and less independent

The Ironies of Reliability

Reliability promotes failures. Failures promote reliability When a system is reliable long enough, production pressure causes the operators to drive the system harder; Over time operators become less careful as the trauma of the last failure wears off. More workload is applied, new features introduced, etc, until the system trails again into the danger zone (e.g. high load once thought to be dangerous), sailing through smoothly this time, thus boosting the confidence of operators in the robustness of their system.

Bash is a thought pattern

As I became more involved in workshops and training, I observed many people coming from old-school sysadmin backgrounds struggle with the moderns tools and methodologies that the SRE and DevOps movements are promoting. I often wonder why it so hard for some of them to learn the “new ways”. I’ve heard many people comment (often disrespectfully) that these difficulties are due to lack of “technical skills” - frequently citing poor programming abilities. While I agree this may be a real problem for some people, this explanation is far from being sufficient.

The most important principle of managing a software organization

During my years of consulting, I’ve run into many managers (in enterprises and startup companies alike) who just didn’t get this whole “technical debt” thing. You’ve run into those managers too, I’m sure - the kind of manager who issues pressing deadlines, marks bug reports for left-over time (which never comes), relies on VMotion or fancy SAN for high availability, refuses upgrades because of “risks” and urges you to “stop wasting your time listening to tech talks and go write features”. I’ve even heard managers tell engineers “don’t waste your time learning this framework, just write your system with it” (!!!)

I’ve often wondered - why is it so hard for them to get something that is so painfully obvious to the majority of software engineers?

How many startup engineers does it take to change a lightbulb?

2 - a technical co-founder and a business co-founder. Since they don’t have enough money for proper lightbulb they use an old socket and lightbulb they found in the garage and since they don’t fit the technical co-founder builds a makeshift adapter from duct tape and aluminum foil. This actually works as long as you don’t tilt it too much. During seed negotiations the co-founders break up and the technical co-founder leaves.