Friday, May 15, 2015

Upcoming JavaScript & AngularJS Workshop in Vienna

I will be giving a public JavaScript & AngularJS workshop in Vienna from July 6th to July 8th 2015.

If you are interested you can register here.

Thanks to my former employer TechTalk for organising the event.


Please contact us, if you are interested in a in-house course for modern JavaScript development (also covering topics like HTML5, ES6, AngularJS, React, Gulp, Grunt etc). 

Sunday, May 10, 2015

The curious Life of JavaScript: The slides from my talk at SI-SE 2015


I had great fun presenting "The curious Life of JavaScript" at SI-SE 2015.
I went trough the demos and code examples very quickly, rather as a teaser to show how modern JavaScript development might look.

If you are interested in a deep dive into the topic of modern JavaScript development, HTML5, ES6, AngularJS, React, Gulp, Grunt etc, please consider my courses.

Sunday, May 3, 2015

Weekend Reader, Week 18

Visual Studio for OSX and Linux

Last week at Build 2015 Microsoft announced Visual Studio Code. Visual Studio Code is a completely new code editor that distinguishes itself a lot from the traditional Visual Studio family. It is available for free and it is available for Windows, OSX and Linux.

I think Visual Studio Code is a very exciting announcement from different perspectives:
First, it seems a real commitment from Microsoft to truly go cross-platform. Last year in my Weekend Reader 46, I predicted that open-sourcing .NET is rather a “markteting” move, since mainstream .NET development will still happen on Windows. This might well change now. With Visual Studio Code it becomes a very attractive scenario to develop .NET web applications on the Mac or on Linux.

Second, Visual Studio Code is written in TypeScript running on Electron (formerly Atom-Shell) which runs on top of io.js and the V8 JavaScript engine. Only two Weekend Readers ago I mentioned Atom-Shell as an interesting option for writing desktop applications in JavaScript. Thats exactly what Microsoft did. And ther re-use of the editor code is amazing: They are using the same codebase for their online editor (in Visual Studio Online, OneDrive and in Azure) and now for Visual Studio Code. It is also interesting that Microsoft is building their new product on top of Electron (an open source project by Github) and V8 (a project by Google). This is really not the closed Microsoft we knew 10 years ago …

Third, Visual Studio Code is amazing. It might well be that this becomes my default IDE/editor for web development in general (JavaScript, Angular …). Watch the presentation by Erich Gamma for more details.

Software Surgery - Beyond Features

The craft of software develoment is not about programming

As always Dan North is a great presenter. In this presentation Beyond Features: Rethinking Agile Planning and Tracking he is pointing out problems in current Agile transition attempts:

Methodology eats manifesto for breakfast.

Agile methods today optimize for predictability. That is not what the Agile Manifesto was originally about. Doing mini-waterfalls and calling it Scrum is actually worse than the traditional waterfall.

In the presentation Dan also questions the analogy between software development and civil engineering. He draws a new analogy beween software development and surgery… and he has some interesting points. See Olivers post (in German).

For my part, I have been in dysfunctional software “projects” where I felt like part of an emergency room team: Every morning we were not sure what the day will bring, but we were prepared for anything …

Criticising SAFe (again)

It might become a boring recurring theme on my blog: I don’t believe in scaling Agile to the enterprise … at least not as preached by current methodologies.

This time it is Ron Jeffries (one of the 3 founders of Extreme Programming) who critizises SAFe:

SAFe’s strength is that it appeals to large organizations who are not Agile.

SAFe tells corporate dinosaurs that those little mammals downstairs are nothing to worry about. Agile, on the other hand, thinks mammals are the answer.

I collected other critics here.

Knowlege work is changing the world

An interesting article questioning the position of firms and employees in a modern knowledge work economy.

If knowledge is more important than money, it gives human capital more power relative to financial capital, potentially changing the concept of the corporation.

Learning JavaScript

What the heck is the event loop anyway? - A good presentations about the internals of the runtime that powers web applications.

How software was written before I was born …

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...