How can Stoicism help with building better software?

How can Stoicism help with building better software?

By learning this blog post you'll find out that neither Stoic != stoic nor Cynical != cynical, how Stoicism helped me to get out of depression, why celebrating small victories is important, what's "negative visualisation" & how Stoics' virtues do apply to modern engineering.If you've read any of my past blog posts before, you may have already realised that I tend to mix engineering with various non-obvious disciplines - starting with behavioural psychology, ending with Japanese movies, Zen meditation or Leonardo da Vinci ... Today I'd like to share some thoughts regarding the topic I find very appealing personally - how can…

Read More

Best typefaces for reading code (but not only)

Best typefaces for reading code (but not only)

TL;DR Right tool for the right job - this applies to such tiny details as fonts as well. If you spend a lot of time with written text, you should optimize this aspect as well, most likely even considering varying scenarios separately - I've set up a list of my favourite typefaces (font families) I find most useful on the daily basis. Keep in mind that this list is optimized for MY own use cases, so it may not be 100% fit for yours. I believe in small details that altogether, if adjusted with high awareness, make (in total)…

Read More

1. Sell the dream; 2. Manage the disappointment

1. Sell the dream; 2. Manage the disappointment

TL;DR It's 2018 & for majority of developers speaking to a business person (/stakeholder /user /sponsor) is still a grand rarity. We explicitly ask for "layers" of intermediaries who can translate business to tech & back. And once it gets to crafting the actual solution we either reduce ourselves to purely subservient automatons ("I do what I'm asked to, so where does this button go?") or follow the other extreme ("Provide written requrements until 10th, then we'll make something out of it & let you know"). We feel too comfortable in "secluded…

Read More

DX stands for Developer Experience

DX stands for Developer Experience

Disclaimer: Developer Experience is NOT about work experience, seniority or proficiency level. It's about how Developers perceive the sum of their work conditions (tools, processes, constraints, etc.) & how it impacts their efficiency & productivity. Analogy to UX/CX is definitely in place. TL;DR - Software developers have some (very specific & varying) work hygiene conditions expectations - these are hard to understand by non-dev outsider, but ignoring them leads to limited productivity, degeneration of engineering culture & nose-diving engagement. Providing conditions for stable, gradual DX improvement is critical for any company that considers software engineers (& their work…

Read More

Can Open Source model prevail in its current shape?

Can Open Source model prevail in its current shape?

TL;DR OSS has conquered the world, forcing even the biggest players of commercial software market to adjust their strategy to this fact. But the original idea of OSS has got somehow twisted in the meantime: everyone uses it, without feeling obliged to contribute. What is more, consumers expect flawless quality, but rewards for providing this quality are very ephemeral (so very few take a challenge). Is such a model stable long-term? Will it prevail or maybe evolve towards something less idealistic, but more pragmatic? Open Source Software (OSS) has both won & lost in the same time. It has…

Read More

Bullshit hunting: Economies of scale in building software

Bullshit hunting: Economies of scale in building software

(...) Economies of scale are the cost advantages that enterprises obtain due to size, output, or scale of operation, with cost per unit (of output) generally decreasing with increasing scale as fixed costs are spread out over more units of output. src: Wikipedia This sounds so reasonable & generic, it's has been also empirically proven for traditional (related to "physical" goods) industries. No wonder that this universal law is being solemnly applied in building software products: when things progress too slow, add more developers to build a new product, form a large-scale project to increase testing efficiency, increase release…

Read More

When will this bonanza end (and how)? - part II

When will this bonanza end (and how)? - part II

If you haven't yet, check the part I first. Where were we? We've figured out that your job may wave you good-bye & go to Fareastan. But it doesn't conclude the consideration just yet ... Is the growth inevitable? Are we completely sure that software development is on permanent rise? World is crazy about software, everyone wants to build new "digital" services, but if you give a bit of consideration: how much of this stuff does actually bring real VALUE (other then brief, hedonistic moment of pleasure because of doing something trendy)? Just check the mobile app stores -…

Read More

When will this bonanza end (and how)? - part I

When will this bonanza end (and how)? - part I

These are great times to have a software developer career & I've written a lot about that already. There are tons or open positions available & they are all very well paid, when compared with other industries - we all know that. But the key question is - when will this bonanza end (and how)? Demographics 101 "India is now producing almost one million new IT graduates a year (...). Contrast that with the UK, which struggles to release fifty thousand engineering graduates each year." "The End of Jobs", Taylor Pearson It's 20 : 1, if you didn't…

Read More