Your source of geek knowledge

Avoid ThreadStatic, ThreadLocal and AsyncLocal. Float the state instead!

In the article on The dangers of ThreadLocal I explained how the introduction of async/await forces us to unlearn what we perceived to be true in the “old world” when Threads dominated our software lingo. We’re now at a point where we need to re-evaluate how we approach thread safety in our codebases while using the async/await constructs. In today’s post-thread era, we should strive to remove all thread (task-local) state and let the state float into the code which needs it. Let’s take a look at how we can implement the idea of floating state and make our code robust and ready for concurrency. Continue reading

Clean, simple, flexible, evolvable, agile architecture cheat sheet

I compiled a reference of principles, concepts, methods and so forth on architecture in agile software development.

If you are a software architect or developer, this is for you.

Clean Architecture V1.0

clean architecure thumbnail

Comments about what you like or your opinion on the topic are very welcome.

Many thanks to BBV Logo for making this blog post possible.

Remote working – The headquarter problem

In my last post, I explained that remote working is a life changer. I hope you had time to read the linked blog post in the previous installment. There is an interesting quote in Remote working – Now a business imperative.

Still, the survey found a disconnect between employers and employees in terms of just how often those four walls should come down. On average employees said nine days per month would be the right amount of time to telecommute; employers thought it would be about four. That’s a cultural legacy, Markezich said. “So much of business was built around the workplace,” he said. “But over the past few years technology has made it so people can be more productive spending part of their time working remotely.”

So much of business was built around the workplace. The effect of this cultural legacy becomes apparent when you read the excellent posts from Scott Hanselman:

As we can see, there is a natural bias when you have people working remotely and other working in the headquarter. It is almost an “us” (the headies) vs. “them” (the remoties). But it doesn’t have to be like that! I believe many companies would benefit from fully embracing remote working by removing the headquarters. With that everyone is a remotie. Knowledge can no longer be concealed in the headquarter. Boundaries are removed. All are treated equally. Communication has to happen through the collaboration tools. There are even more benefits for companies. Imagine the costs you safe but no longer needing to pay a magnitude of money for the headquarter infrastructure, heating, electricity and much more.

By the way, Particular Software is a fully dispersed company. There is no headquarter people go to work. Everyone is remote.

Unleash the potential of remote working and get rid of the headquarter problem!

Working remotely – A life changer!

It is now over a year since I started working for Particular Software as a Solution Architect. I work 100% remote, and I enjoy it. In fact, I even believe that remote working should be the new business imperative  in the Software Industry. Many employees like me, like working without walls! The top ten benefits of remote working, according to a Microsoft study and quoted by Kevin Kruse on Forbes, are:

10) Environmentally friendly (23%)
9) More time with family (29%)
8) Less stressful environment (38%)
7) Quieter atmosphere (43%)
6) Eliminate long commute (44%)
5) Less distractions (44%)
4) More productive (45%)
3) Avoid traffic (47%)
2) Save gas (55%)
1) Work/home balance (60%)

I experience these and more benefits day-by-day while remote working. I’ll explore the topics of remote working a bit more on this blog in upcoming posts.

To quote  Szymon Kulec, one of my remote-workmates:

Working remotely, not to mention working for Particular Software, is a life changer. I think that aftera months I won’t be able to go back. On the other hand, why would I even consider going back at all?

Happy remote working and reading ;).