(Tłumaczenie pod wersją angielską.)
To Marcin Iwiński, joint CEO at CD Projekt, and Adam Badowski, Head of CD Projekt RED.
Few days ago you announced CD Projekt RED would introduce a mandatory 6-day workweek until the launch of Cyberpunk 2077. This news came alongside a report that some employees have already been putting in long hours and working weekends for more than a year. I want to respond to this as a player and fan of CD Projekt RED’s work, as well as a soon-to-be-former shareholder of CD Projekt.
If you were to summarize the entire endeavor of software development, you’d say: ‘The project ran late and it got canceled’.
We’ve reached the end of Computers Are Hard. After several conversations about how individual components of software come to be — from printer drivers to password hashing — I wanted to wrap up with a look at the philosophy of building software products.
It’s perhaps a little embarrassing, but even after a couple of years in the industry, I never understood why tech companies are so obsessed with speed. And that obsession is baked into the very language of…
Provided you’re storing and processing text in Unicode, it just works.
If you look deep enough, all data on our computers is binary code. Strings of 0s and 1s are the only language that processors understand. But since humans are not nearly as adept at reading binary, there are multiple layers of translation data goes through before it’s presented to us in a legible way. And we rarely think about it, but that’s a herculean task.
Unlike computers, we don’t have a unified way of communicating. We speak thousands of languages, written in hundreds of scripts. We write equations and…
I have no interest in people thinking about accessibility. I have interest in people doing something about accessibility.
Accessibility features in software used to be mostly invisible to me. Sure, I believed they were important, but only in an abstract sense. Then my eyesight started getting worse and I found out it’s hard to enjoy yourself when you’re squinting all the time. I started paying attention to subtitle size options in movies and video games, because I needed them.
I wish I — and everyone in tech — spared more thought for accessibility before it becomes a personal issue. Because…
If the next person comes in and they can’t understand your code, it doesn’t matter how good it is.
Everyone wants fast software. We all know the agony of operating a touch screen that’s slow to respond, or trying to play a shooter with requirements way above what our PCs can handle. We hate loading screens, animated hourglasses, and spinning beach balls. There’s plenty of research into the psychology of human-computer interaction that boils down to this: if the app or website doesn’t respond immediately, we get frustrated, bored, or both.
But a computer has only so much processing power…
A printer is a very complex thing.
Once, I was troubleshooting with a customer adamant desktop notifications from our app weren’t firing for him. Standard stuff. Usually, the answer would be misconfigured settings or the operating system interfering. Except I ran a diagnostic and the output was crystal clear: notifications were showing up fine. No errors, all green across the board.
I threw everything but the kitchen sink at that case. After a few days of back and forth with the customer (bless your patience, sir) I finally got it. His laptop monitor and secondary display had different resolutions and…
There’s no single action that will allow your application to be secure. It’s a cycle.
Cybersecurity is a weird beast. It ranges from using complex mathematical functions to encrypt data, to saying things like ‘you shouldn’t write your password on a sticky note’ and ‘please, for the love of god, enable two-factor authentication’ over and over. Because no matter how sophisticated the protections, we all have a story about a family member who got phished (in my family, that’s me). Not to even mention regular news about breaches and data leaks from major companies.
The internet is a living thing.
It’s easy to visualize how the internet works. We type an address into the browser and then our computer connects to a server and that server shows us a website. Simple enough. But then you start thinking about what’s really going on and it turns out just the number of acronyms involved is enough to make you dizzy. ISP looks up a DNS and finds an IP. Your computer connects to the IP over HTTP. On its way, it hits a CDN, likely hosted by AWS or GCP.
What?
The internet is an enormous…
One of memorable moments working at an enterprise software company has been seeing a very senior engineering manager stumble between desks, laptop in one hand and phone in the other, screaming: ‘Fuck, fuck, fuck! We’re going down!’. She then barged into a conference room that is permanently booked for the incident response team and started paging people in an office halfway across the globe. It was still the middle of the night for them, but when you’re on call, you’re on call.
The first minutes of an emerging outage are frantic. Alerts start pinging, number of support tickets goes through…
Everyone has heard that the most terrifying words in the world are supposed to be ‘I’m from the government and I’m here to help’. But I’ve been doing tech support for several years now and I can tell you there’s nothing more dreadful than when a support ticket starts with ‘I’m a software engineer myself and…’
From there, it can go one of two ways. The customer either is going to prove patient and understanding, or they will ignore everything I say and will then proceed to pronounce me and the entire company I work for a bunch of lazy…
I don’t know.