Rainer Stropek interview

The importance of ignoring technology you don’t need

Coman Hamilton
Decisions image via Shutterstock

Software architect Rainer Stropek discusses the impact of REST, and explains the importance of selecting the right technology to become an expert in.

JAXenter: RESTful APIs are playing a central role in software architecture. What is it about them that has made them so important to software architecture?

Rainer Stropek: I think RESTful web APIs play, as you said, a major role in today’s software architecture, because it’s a great way to expose functionality in a way that’s easily consumable from nearly any platform. It doesn’t matter if you’re writing a web app, if you’re writing an app for a native platform like Android or iOS, if you’re using Java or .NET or even JavaScript – every platform can handle REST services.

So REST is kind of the ‘lingua franca’ of the internet. Whenever you have to approach a system and do something programming with the system, you probably will use in a new system today, a REST-based service.

And do common obstacles crop up for software architects?

Definitely, because REST is not a standard. REST is more an architectural guidance. And REST leaves a lot of things undefined. I’m a big fan of standards that are based on these REST principles, but that limit the degree of freedom.

Just a few examples – in talks that I give, I show standards for publishing REST service metadata (like Swagger or OData) – that makes it much easier to find such services and to handle them, because you can use code generators, you get better intellisense, you can – as a human and as a program – approach such services and ask them ‘Hey, service, what do you offer?’

SEE ALSO: Why resuseable REST APIs are changing the game

REST as a basic standard doesn’t define anything about metadata. So I think the important thing here is for the software architecture say ‘Ok, we’re going the REST way, but we need more, we need a clear standard.’ Either you fill the gaps yourself, or you rely on more advanced standards that are built on top and are supersedes REST.

How do you tackle the problem of balancing a broad technical knowledge with areas of specific expertise?

I don’t know if there’s a general solution to this, but I can tell you my solution.

What I try to do is whenever I see a new technology, I try to do some kind of triage. So I ask myself ‘Is this technology relevant?’ I play a bit with it. Maybe I read an article or two. And sometimes I come to the conclusion that I can completely ignore a certain piece of technology.

I try to ignore as much technology as possible, because there is so much of it. And then there are these things where I think this might be interesting in the mid to long term. And then I actively look for… let’s call them ‘playground projects’. Either I do some kind of user group meeting session where I force myself into a situation where I have to learn more about a topic.

SEE ALSO: How much technology does a software architect need to know?

Or I write an introductory article because other people might also be interested in basic information to understand whether it’s interesting for them. And if it really turns out that, after a bit of playing around, that this technology is really relevant for me, well then I spend more time with it. I start reading, I do some exploration projects, things like that. And with that I try to balance, as you said, the breadth (the different technologies that are out there) and the depth (of any technologies that I think are important for me or for my business life).

I can make it more concrete – for instance Java is something that I completely ignore, for years now. Not because it’s not interesting, but for me I have decided it’s not necessary. I know TypeScript, I know JavaScript, I know Node.js, I know .NET – and I can do everything I want with all of these technologies. I don’t need another one. So for that I ignore Java.

Coman Hamilton
Coman was Editor of at S&S Media Group. He has a master's degree in cultural studies and has written and edited content for numerous news, tech and culture websites and magazines, as well as several ad agencies.

comments powered by Disqus