The Four Quadrants of A Dynamic And Self-Sufficient System

Any system that intends to be fully automated and self-sufficient must be capable of self-healing and self-adaptation. As a minimum, it needs to be able to monitor itself and perform certain actions both on service and infrastructure levels. Two axes can represent the set of actions a system might execute. One group of actions be represented through the differences between ...

Read More »

Developers and Ethics

“What are some areas you are particularly interested in” – recruiters (head-hunters) tend to ask that question a lot. I don’t have a good answer for that – I’ll know it when I see it. But I have a list of areas that I wouldn’t like to work in. And one of them is gambling. Several years ago I got ...

Read More »

What Makes a Great Tester?

I was recently a judge at ISTC, the Israeli Testing Cup finals. So how does one judge testing? What makes some testers better than others? A few things to note about the competition, which differentiates the testing situation from regular work: The team is presented with a product to test that they know nothing about, apart from a 15 minute introduction ...

Read More »

Difference between Stable and Unstable Sorting Algorithm?

Recently in one on the interview, after some initial questions about sorting algorithms e.g. how do you write QuickSort or difference between QuickSort and MergeSort, the interviewer asked about do you understand the difference between stable and unstable sorting algorithm? This question was new to my reader, so he says, Sorry, never heard about that. The story ended there, and Interviewer moved ...

Read More »

Java Command-Line Interfaces (Part 3): jbock

In the first two posts of this series on command-line parsing in Java, I looked at the Apache Commons CLI and args4j libraries. In this third post in the series, I look at jbock, the self-described “curiously simple CLI parser.” My posts on command-line parsing in Java have used examples based on providing a required file name and an optional ...

Read More »

Possibilities for Managing Individual and Team Compensation

There’s a twitter conversation about how to manage team compensation. How can we pay people what they are worth and compensate a team for their value? I know there are teams where I was quite valuable—not because I was “the” leader, but because I helped the team achieve our goals. And, there are teams where I was not as valuable. I ...

Read More »

Test AWS cloud stack offline with Arquillian and LocalStack

When you are building your applications on AWS cloud stack (such as DynamoDB, S3, …), you need to write tests against these components. The first idea you might have is to have one environment for production and another one for testing, and run tests against it. This is fine for integration tests, deployment tests, end to end tests or performance tests, ...

Read More »

How to Escape JSON String in Java – Eclipse IDE Tips

While working or JSON parsing in Java application it’s quite common to just copy paste a JSON String from some resources e.g. a RESTful web service and then use the Jackson library to parse the JSON. This is the quickest way to test and learn parsing JSON string in Java, but the main problem with this approach is that the JSON ...

Read More »

A Software Developer’s Guide to Speaking and Conferences

Software development conferences provide many opportunities to advance your career as a software developer. Attending conferences can be a great networking opportunity, as we discussed in the chapter on networking, but they are also great places to learn from some of the most advanced programmers in the field. But if you really want to gain the maximum benefit from software ...

Read More »