An engineer setup is one of the most critical aspects of their jobs. Their choice of tools, IDEs, shortcuts, fonts and ever colour schemes have a fundamental part in either making an individual more or less productive. Tech leads often overlook this essential part. It's often left for the developer to set up at their discretion. But is this the best approach?
In this talk, you'll follow the story of three different developers and how their preferred setup was causing them to struggle in delivering. A few changes on their IDE, colour scheme or even a better choice of tools changed how they worked and how to flow state would become way more natural. It's a talk about cognitive shifts, developer experience and the reason dark mode is not only about not attracting bugs.
1 / 41Use ← → to navigate
Auto-generated transcript - may contain errors. Tap a timestamp to jump the video.
This is a true story. A few years back, I was starting to work as a tech lead in an agency, And we had this massive legacy system that no one knew what happened in that black box. People described it as a live wire.
And that was done by one person, kind of guy that could solve any problem, but no one could make sense of how that worked. And I decided to go in-depth into that because, well, we had to build a team, scale that system, make it work, stop bugging.
So let's figure out. Well, nothing was making sense. There were, like, a lot of red flags all over the place. Looked like a game of Minesweeper. And that was odd. Instead of asking what happened here, I tried to sit down with Chris, this developer.
How did you do this? We talked a little bit. Told me about his process. Nothing seemed weird. Well, we go on, have some conversations, let's have a pair programming session. He opens startup and the first program he opens where he opens the codebase was Notepad.
And like what? You've got to be joking like it's a prank. No, he'd been doing that for the past four years. And I asked him, why do you do that? Well, that's how I learned to do it. Well, that's what we're going to be talking about.
But first, I'm Gus. I've been working in tech for sixteen years, Brazilian current CTO of Deep Brands. We are a direct to consumer e commerce company based all over the world. So we sell to the UK, Europe, US. Well, I'm talking about this because most people, especially managers, but also engineers assume they know their tools.
They are doing the job. That's the tool of the job. Yep. Things will work. Well, surprisingly, people think a lot about processes, how to do better at the job like Kanban, Agile, let's have meetings, let's have sprints. But no one sit down and look at the very thing in front of you.
Why are we doing things with that? Why are we doing things like this, with this tool? We take for granted, sometimes vendors give us that. No one ever thought about writing for Android without using Android Studio. You can. Even worse, there is no way people know this until this actually starts happening because in interviews sometimes you even give the environment to the person being interviewed.
The whole environment, you don't see how they set up things. You assume they are doing that. They know how to do it, everything. But this changes your mindset. Your mindset is not going to be good if you're using the wrong tool. Because All you have is a hammer, everything looks like a nail, as the popular say.
And Chris, he was doing his job, but he could do better his job if he was not trying to bash out the code using notepad. If he had the proper IDE, he would see errors such as this variable was declared but was never used.
This variable was never declared. Basic stuff like that could have saved much time. Well, and because of that, he had to relearn how to debug things because he was basically sledgehammering through the through the code with that. And that's why we need to think about UX, not only when we're developing for others but what is our actual user experience when we're doing things.
And it starts in your setup. You can't make great experience if your experience is not good. If you're struggling, if you're having well, probably you won't be in the right mindset. And that's why people have been talking lately in the last years about DX, developer experience.
It's not only UX applied to developers. It's also about the interactions and feelings the developer feels working toward a goal. This is a definition from Harness, which they also say that DX is based on three pillars: usability, How easy is your software to use?
And that's very important because we are talking about the tools, the software you're using to make other software. Findability. How easy is for a user to find what they're looking for? And finally, credibility. Do they trust you? Well, when I always tell this anecdote about notepad, people don't give credibility for you coding on notepad.
So and why should you care about this? Why should you care about this experience? Well, here's some interesting articles that says, well, it impacts your health, your happiness and your productivity. Some people, especially on Gen Z, they would consider quitting the jobs if they were using something that is not appropriate for them.
And I assume that that goes well for other generations as well. No one wants to be knowing they can do better, but they have been constrained by a poor set of tools. And there is also an interesting Swedish saying that says that there is no such thing as bad weather.
There is only bad clothing. So Chris, yeah, said he was ledge hammering his way through debugging. He was programming naked. And and we don't see what other clothes people are wearing when we're working remote as well. And we did an interesting experiment in different brands.
We decided when I joined in about seven months ago, seven, eight months ago, I sit down with the whole team and we decided, let's see what everyone is wearing at work. Not exactly with these words but. And we've been collaborating on that. And one of our developers, Miguel, he came up with an interesting conclusion because he started to be way more productive.
And well, it's a game changer how your environment can prove your state of mind, your health and your attitude. And there is reason for that. Let me jump to another topic. Let's pack this together later when we jump to conclusions. But good tools bring you to a state of flow.
Probably you heard about the state of flow, and I'm going go through some definitions of that. But flow, cognitive absorption, or hyperfocus, many different areas of research called them. I'm using them interchangeably. There might be some differences, so please don't kill me for using them interchangeably.
They are related. And that's a desired way to work That means that you're being productive. You're doing things. And productive is not doing more. It's getting things done in a smart way. It's important you say that because productivity is not about just doing more stuff.
It's doing stuff smarter. The process goes smoothly. So flow is a state of mind experienced by people that are deeply involved, immersed in some event, object or activity. Or could be a state of deep involvement with software that exhibited through temporal disassociation, focused immersion, heightened enjoyment, control and curiosity.
Well, those are interesting words. Basically, there is one article explaining these things that is titled Time flies when you're having fun. So yeah, we want your tools to make you have fun. If you enjoy what you're doing, everyone might have that feeling that you got in this bubble and time passes and you don't see, oh, it was just twenty minutes.
No, it was three hours ago. Well, everyone likes that. That's being in a state of flow. And hyperfocus is this phenomenon when you observe it to a point that you ignore everything. So if you look at these points, we're talking about the tools making you better at your health, your curiosity, it gets you involved.
So wow, this thing is very interesting, but can we trigger it? Can we create a setting that it's better for you to get into the state of flow? Yes. There is research on that. Multimodality. This is a fancy name for people that work with semiotics, but it's basically things that have meaning.
So in this context would be text, design, layout or sound. So multimodality can induce a flow state. So basically stimuli can induce your flow state or they can disrupt you. But if we can induce that, well, how can we learn what are the things that induce that?
But before that, a pigeon pie is a a pie made of a pigeon. And why I'm talking about this? Because that's a cognitive shift. I interrupted you to talk about a pioneer. What is going on? Well, this kind of interruption in your brain has a name of a cognitive shift and is triggered by any change on circumstances.
And that interrupts your flow. That blocks you from getting going. Well, if you get a lot of cognitive work, we learn well. It's not instant to get back at flow when you interrupt Actually, research shows that it takes twenty minutes to get back at focus after you interrupt it.
I hope you don't get twenty minutes to go back from my big empire analogy. And what is worse in a hyper connected world that we are, a research from University of California says that people can't go without three minutes being uninterrupted at work.
Basically, on average, people are interrupted every three minutes. So that's the time of instant noodle. And well, so what we learned so far? Let's let me pack this together so we don't get lost. Bad tools affect your productivity, your happiness, and your health.
So good setups help you get in a state of flow which consequently might affect positively on your productivity, happiness and your health. So good setups maybe you won't complain about Mondays. Cognitive shifts kills the flow, so it resets what you're doing. And by doing that, that affects negatively your productivity, happiness and health.
So how can we use better tools? Well, I might be rushing because that was supposed to be fifteen minutes, not ten minutes, but I'm in a sort of flow here. Okay. These tips here are: there is not a lot of research in the field of getting, especially development and developers, in state of flow or what works better or not.
There is a lot of trial and error. So a lot of these tips you should take with a grain of salt. I'm not giving you silver bullet, but I'm giving you tools to, okay, I might apply this and see how that affects positively or negatively.
So what I'm saying is AB test yourself with these tips. They might work for some, might not work for others. Like for example, every once in a while people remember about that productivity tip about the little tomato, like the Pomodoro technique. I hate that because whenever I'm focused, the little tomato starts to ring.
But for a lot of people, love it. It changed my life. So take with a grain of salt. Test it. So those are I'm just bringing you some resources. It's just like egg for example. Some people say egg is good for your nutrition, others say egg is bad, you never know what's the current state of egg.
First tip Don't kill me. Eat healthy, sleep well and exercise. Everyone says about that, but yeah. But stress is your biggest enemy, and those are tips for helping stress. Why? When we stress it, our rational thinking shuts down because of stress hormones, adrenaline and cortisol.
And you start not being controlled, you go to flight or flight or fight mode. It's very hard for you for not having English as a first language, having this like So what does it mean having excessive levels of stress hormones? You become dumb. You can't make rational decisions.
Your body wants to get out of that situation. So bring your stress levels back to normal. You become intelligent again. Simple. So basic life tip, but we always forget about that. So make sure this is the number one tip. Second one is alt tab or command tab if you're on a Mac.
It's your enemy. Because every time you change, well, first if you go through like social networking the way you become distracted, everything else. But it's a cognitive shift. Every time you have to alt tab, draw a new window. That's one reason people love big monitors that you can squeeze everything in.
Second is people like IDs that have all your tools in there, drawers and all, everything like that. Well, that actually do improve your productivity. So try to avoid out out tabbing. But don't you don't need to squeeze everything in yours in the same window because you don't wanna be don't wanna be working with this.
And it's the rule of thumb. If you're not using that every day, it doesn't need to go there. You can have a cognitive shift if you need to open one thing you use once a week. But don't over optimize. Don't spend five hours optimizing what takes you five minutes.
We all do that, but it's important to remember. That's my rule, actually. I hide everything I don't use every day. Period. And block notifications. Simple, but no one is gonna die if you're gonna take twenty minutes or forty minutes to to respond a request, to respond a ticket, respond an email.
I usually have this rule: If it's urgent, call me on the phone. Then everyone will be mad because no one likes to talk on the phone these days. You're going interrupt him, but at least I know it's urgent. So, and as I said, if everyone gets interrupted every three minutes, just keep the notifications out, like finish a task, open Slack, open email.
That's actually, you don't need to even keep the application open. And my favorite one is dark mode and light mode. Yes. Who here develops with dark mode? And I can't see because of the light in front of me. So can you please raise higher? Now keep your hands up.
Who's using who uses glasses or contact lenses? A lot of you. And how many of you have astigmatism? Oh, it was supposed to be only the ones holding up. But yeah. It's a lot of people. Well, people say light mode attract bugs, but it's not true.
And dark mode reduces the strain in your eyes because, yeah, less light comes in. But well and people use dark mode most times, like, saves energy. It's it looks cool. It looks rad, but it's hype y. But have you ever put some thought on why you do use that?
And, well, actually, light mode is better for people with astigmatism, half of those. There is a phenomenon called halation and this is the Twitter version of it. The scientific explanation is basically this: because there is more light coming into your eyes, your iris diminishes, so that means you have less of a blurry effect on your eyes.
So if you consider that this is an effect that happens with people with astigmatism. Now let's do the math. According to statistics, about sixty percent of people in the UK use glasses or any type of correctional thing in the eye. I should have said lenses, not correctional thing.
Forty seven percent of those, according to the NHS, have astigmatism, at least to some degree. Some don't even need glasses. So that means that half of your people using glasses potentially could have problems with dark mode. So, yes, sometimes dark mode makes things worse and because of this effect.
And so, is it better than dark mode, light mode? I'm not advocating for anything like that. Which is better, which is worse? Just saying that, you should take that in consideration while you make your choices when you're setting up. Okay, I like this color.
I want to use a pink editor. Some people do that. But why are you doing that? Is it because it looks nice? Is it because it's going to make you perform better? Is it just because, you know, I thought it would be cool?
There's no right or wrong. Just put some reasoning, some thought on the why. And finally, fonts. One thing, like, I've actually see or saw one time a person that changed the font to very weird font like Arielle Times New Roman in the editor.
Like, why? And there there is a reason why we use monospaced fonts, and it's basically to avoid ambiguity. So put reasoning behind this. Like, try to avoid misinterpretation in the things you're doing. And also, another tip that it's now not as known as monospaced fonts is literatures.
Those are basically fonts that pack together different symbols in one single thing. So a lot of those symbols you see that most of us use sometimes every day. They look like one thing and not two things. And there is a reason for that.
That makes by making that symbol unique, it has a single meaning. So it avoid ambiguity. So if you think of your brain as a computer, using ligatures uses less RAM. There is a bunch of, if you look online, programmer fonts with ligatures. You'll probably find ten, like thousands of answers on Google.
There's a bunch of them. Actually, that resource is one of my favorites. It's called JetBrainsMono. Finally, the last tip is to talk to your colleagues. Sometimes we are working too narrow on what we are doing in our environment and we never even see how the author set up the disposition of his tools or what different apps.
I like to browse a lot in the internet for like people I see on Twitter if they have like a slash users page where they say, oh, I use this app for this, this app for that. Share knowledge, sharing is caring. And by doing that, well, the problem of Chris that I said in the beginning could have been avoided because no one sit down and say, okay, let's share what is best practice, how are we learning like this because it works for me, oh I learned like this but I never understood why, but yeah,
it could be better or someone else has a different insight. So let's share like how we use our tools. Not because everyone knows what's a hammer, but everyone knows how to use all the different aspects of a hammer. So let's summarize this. I told you the story of Chris told you about why you should care about user experience than your own experience.
And I'd like to make a side note. People say that UX is about empathy, but we need to be empathic about ourselves as well. The state of flow, why that helps your productivity and how we want to do that. We learned how to make a pigeon pie or try to actually told you about context shift in a way that how that disrupts your flow, how interruptions is hindering your progress.
And a few tips, Sleep well, do exercise, eat healthy, avoid context shifts Disabling notifications Dark mode and light mode Fonts there overall But if you can take one thing from everything I said and make a change on how you're doing your work is ask why.
Why are doing things like that? Why are things disposed like this? Why am I using Versus Code and not JetBrains? Why am I using this? Question wise. Be like a curious child. Make questions. Because being curious, will learn and do experiments. Try. Okay. Why am doing this? Could I do this differently?
Let me try. And you might learn a thing or two like I've been learning all these years and packing together this information. Thank you for your time. My name is Gus. I'll be having a Q and A, but if you don't have the time, you can also ping me on Twitter and you find in my Twitter the link to my website and my email as well if you'll get in touch.