Tuesday, April 28, 2015

Upcoming Speaking Engagements

On May 8 the 20th SI-SE Fachtagung will take place in Rapperswil. The title of the Conference is “Next Generation Web & Mobile UIs”.

I will give a talk titled “JavaScript - Past, Present, Future”.

On June 30 I will hold a hands-on workshop “JavaScript for Real Developers” at the Java User Group in Zurich.

Saturday, April 18, 2015

Weekend Reader, Week 16

You Might Have Too Many Developers

An argument in favor of small teams and small incremental projects.

Why are we still talking about scaling agile with things like SAFe when the root problem is you might have too many developers?

There are no unicorns: forget about “better developers”, address organizational dysfunctions

(in response to the article above)

Size may be the symptom of organizational dysfunction.

It goes wrong when we try to make management easier by treating knowledge work as if it were physical work.

Industrial-age management is a really bad system for managing software development.

Sidenote: questioning the 10x developer productivity myth: The Leprechauns of Software Engineering, Fact and folklore in software engineering, StackExchange Question, Quora Question

Don’t use Microservices

As in my previous Weekend Reader, here is another article that has a good discussions about challenges and problems when trying to adopt microservices.

Classes: A bad Idea?

The next version of JavaScript (EcmaScript 6) will add classes to the language. Classes are available in many object-oritented languages, and most developers who learned object-orientation the traditional way (C++, Java, C#) might be wondering how object-orientation is even possible without classes.

However Douglas Crockford, the author of “JavaScript the Good Parts“, thinks that the introduction of classes in JavScript might not be a good idea:

Classes in EcmaScript 6 are gonna be a bad part. (direct link)
The gift of JavaScript to humanity is class-free object-oriented programming. (direct link)

In the “The Two Pillars of JavaScript” we get a similar opinion from Eric Elliott, the author of “Programming JavaScript Applications” who argues also against classes:

You never need classes in JavaScript, and I have never seen a situation where class is a better approach than the alternatives.

Angular Tidbits

Toptal has published some nice short videos, each describing a advanced concept of Angular. Perfect fill-ins for a short break.

A processor simulator written in JavaScript

Geeky. But never underestimate what you can do with JavaScript …


SwissJS 2015 (formely SwissJeese) is announced for July 18th 2015 in Bern. Last year the conference was my highlight of tech events. Make sure to get a ticket early, the first batch of “Blind Bird” tickets is already sold out …

SoCraTes Day
The first SoCraTes Day Switzerland takes place on Friday, June 19th in Zurich. This software craftsmanship conference is organized as an unconference, where the participants define the agenda on the day of the conference.

Funny Advertisement

Everybody complains about the ever more aggressive advertisement on YouTube, however if YouTube presents me advertisement like this, I gladly watch it to the end … and I then search for the clip on YouTube to watch it again:

Saturday, April 11, 2015

Weekend Reader, Week 15

Don’t use Microservices

The hype curve for microservices seems to have reached a plateau. The article suggests that a microservices architecture might not be a good fit for new (greefield) applications. Actually. there seem to be quite some reasons why not to use micorservices. I like the dicussion, however I think it’s not specific to microservices, but applies to any decoubled service-oriented architecture … any many failed SOA projects have probably suffered from the pitfalls described.

The Salary of Programmers

It was a topic already in my last weekend reader. This week we get more information about that topic from the Stackoverflow Developer Survey 2015. There are many interesting/surprising insights:
- Developers in the US are much better paid than in Western Europe
- Objective-C and Node.js development pays best.
- You should not be a Java developer if you are in it for the money.
- Developers who work remotely earn significantly more than non-remote workers (probably this is a symptom not a cause: good developers are hired for remote work)
- Mobile developers are more satisfied with their job than other developers.
- Product manager and quality assurance are among the least satisfying jobs

The Rise of TypeScript

The decision of the Angular team to build Angular 2 with TypeScript and to treat TypeScript as the best way to write Angular applications puts a lot of momentum behind the TypeScript language. With this step TypeScript will almost certainly leave its current Microsoft-centric niche and be more widely adopted among web developers.

JavaScript for Desktop Application Development

Many developers will cringe at that notion. But the “reuse-story” is actually compelling. For example with Angular, Atom Shell and Ionic you have a development stack that is applicable for Web, Desktop and Mobile.

More links for that topis:
- Atom Shell Starter (base application skeleton)
- Alternative: NW.js (formely known as node-webkit)
- The State of Desktop Applications in Node.js

There is Hope for Java

Traditional Java development has grown old and cumbersome compared with many other platforms/languages and it has a hard time keeping up with many current software developement trends.

But there is hope (ok the article series is already a year old):
- An Opinionated Guide to Modern Java Development, Part 1
- An Opinionated Guide to Modern Java Development, Part 2
- An Opinionated Guide to Modern Java Development, Part 3

On the same topic:
- Java Doesn’t Suck – You’re Just Using it Wrong

Geek Sarcasm: Could it be that programmers have been human all along?

An nice tale from Christin Gorman (watch her hilarious-all-time-highlight lightning talk) about a project far away from the idiocy of enterprise application development.

On the same topic:
- It Takes 6 Days to Change 1 Line of Code
- The story about Ashton from Joel Spolsky

And finally the wait is over:

I am especially curious about the upcoming season, since I stopped reading the series at book 4 (I wanted to wait until the end ... haha, that was 10 years ago) … will they even go further than the books?

Friday, April 3, 2015

Weekend Reader 14

Scrum Critics

Gilles Bowkett is quite provocative, but his points in Why Scrum Should Basically Just Die In A Fire are interesting:

Scrum covers up the inability to recruit (or even recognize) engineering talent, which is currently one of the most valuable things in the world, with a process for managing engineers as if they were cogs in a machine, all of equal value.

“Velocity” is really too stupid to examine in much further detail, because it very obviously disregards this whole notion of “working software as a measure of progress” in favor of completely unreliable numbers based on almost nothing.

Scrum gives you demeaning rituals to dumb down your work so that people who will never understand it can pretend to understand it. Meanwhile, work which is genuinely difficult to track doesn’t have to deal with this shit.

I don’t think that these critics are all inherently valid for Scrum, but I think they are valid for most adoptions of Scrum today. James Shore has blogged about the Decline and Fall of Agile several years ago:

These teams say they’re Agile, but they’re just planning (and replanning) frequently. Short cycles and the ability to re-plan are the benefit that Agile gives you. It’s the reward, not the method. These psuedo-Agile teams are having dessert every night and skipping their vegetables.

The Salary of Programmers

I find it hard to believe that there are “celebrity programmers” that make over $2 millon a year just for programming … But the Quora answers have are some interesting discussions about what drives the salary of a job on the market.

Anguar 2.0 is taking shape

The biggest news for me from ng-conf 2015 is that Angular 2 is developed in TypeScript, and that the suggested way to develop Angular 2 apps will be to use TypeScript. I guess this finally motivates me to learn this language …
To get an overview of whats coming and the design and motivation behind Angular 2 I suggest watching the Keynote from Misko Hevery. Angular 2 makes a much cleaner impression, neatly designed around some consistent concepts, compared to the organically grown first version of Angular.

Wat? - Geek Humor

The original WAT talk from Gary Bernhard is a classic. If you have not seen it, you should watch it now.

At ng-conf 2015 Shai Reznik did an adaption to Angular (the actual talk starts at 4:20):

The workforce crisis

According to that prediction the future for companies looks not so bright, the power-balance between workers and employers will shift. It will become a mayor issue for companies to attract and retain employees. As a freshly baked freelancer I think I should be happy about these predictions…

Frameworks as a recruiting investment

The article is primarily a rant about React and how the design of React is bad and that it is basically an unnessecary framework. Instead on investing on “proprietary” frameworks, we should focus on technologies that make the web better as a whole.

But the rant contains an interesting theory: Angular and React are actually a recruiting investment for Google respective Facebook:

So why release an open source Web framework at all? Because Facebook is battling Google for engineers. So you’ve got a big fight between two companies over which company is the coolest place to work, and both of them are companies that your grandparents love. How are you going to win this fight? One way is to have the hippest Web framework.

I find that theory very interesting, and it is one reasonable explanation why companies are investing in developing open-source frameworks.

Relay: Yet another Facebook framework

Speaking of companies releasing frameworks: After React and Flux and the announcement of React Native the next announced open-source framework out of Facebook is Relay.
Relay is an interesting proposition how to solve a classical “mash-up” problem: UI-elements and backend are inherently coupled, since the UI-elements render data that is provided by the backend. In a “componentized” UI the UI-elements should be decoupled from each other, so it is easy to add or remove elements from the UI. However with the traditional separation between frontend and backend, each change in the UI composition leads to changes in the backend, since the UI needs different data. Relay and GraphQL tries to solve the problem with a generic server that can serve any data requests and a protocol that allows UI-elements to delclare what data they need.
Looks intersting, however I am always afraid of generic solutions …

Versioning is Hard

I have been in many projects, where there were endless discussions about versioning and there was never a really satisfactory solution. I am relieved that it seems that there really is no good solution as the recent discussions about semver (semantic versioning) are showing:

Amazon vs. Google vs. Facebook vs. Apple

(via fime’s weekend reader)

An impresseive analysis of the leading four digital companies. A lot of information in 15 min, but if I understand the prediction correctly, we should not bet on Amazon and Google…

Related Posts Plugin for WordPress, Blogger...