How to be A Better Software Developer
First published on January 8, 2019 by Gilbert West. Context is important.
"Better". It's such a subjective term. Let me define the term as I see it. To me, "better", in modern parlance means impactful. Someone who scores a point or two for humanity before slipping off this mortal coil.
I offer theses tips as a developer myself. For many years I've had a love/hate relationship with the world of developers. Rarely do you meet such a generous group of people who offer their time, code and knowledge for free. The web is powered by free software and driven by free tutorials that bring new creators on-board. Yet, this same group of people will conduct internecine online warfare with each other, arguing over tiny variations in tools that are essentially the same and which they themselves will dump in a few months in favour of a new darling.
The most unfathomable part of it all for me is the emphasis on HOW things are made, not WHAT is being made. I believe that there's a clear route to building more interesting applications. Things you'll want to tell people about. Things you'll want to show to people outside the developer community. Let's begin.
Spend more time with non-developer friends, away from computers and gaming. As the intersection of design and development is often a flash point in a project, I’d originally thought of suggesting that you spend more time with designers, but they’re too close to you as a species. As you’ll see, my recommendations have nothing and everything to do with being a better developer.
Speak with nurses. Not while they’re working of course. That would be annoying. For them.
Add doctors to your list. Same rules apply as nurses though. Don’t talk to them while they’re saving someone’s life. You have a doctor, right?
Speak with an electrical, mechanical or civil engineer. It's always refreshing to learn from someone who might go to jail if they fuck up their job.
Speak with a wind turbine technician. They're the people that hang from ropes 80m in the air doing blade inspections. Sometimes overland, sometimes over a swelling sea.
Speak with a coal miner. Actually that might not be so easy any more. ( see 4 )
Speak with a banker, an analyst and accountant. Money can be a real catalyst for change if deployed correctly. But most people don’t get how money works. They think you go to a bank, borrow X, pay back X/months plus some sugar on the top. But that really isn’t the case.
Speak with someone in the military. The military is a cosmos of its own. You'll find all the trades there.
A teacher, a local politician, a gardener, a truck driver, a lab scientist, a librarian, someone producing a play or short film, an amateur athlete, a child, a journalist, an unpaid carer, the list is endless.
Of course, by "speak with", I mean listen. You'll learn about a whole range of different working environments, regulations and resource constraints that you'd never even considered
Still here? OK, if you're still with me I'm just trying to say that your world of best practices in the web and mobile application world, just wouldn't cut it in many other work environments. Move fast and break things? Please don't do that in a hospital environment where someone's life may depend on the sensors measuring their vital stats. Don't try it if it'll change the financial model on which a project depends and contracts have been signed. Frustrated that your client won't consider touch screens everywhere? Maybe they know more about infection vectors than you. Maybe you haven't observed in person, that they rarely have both hands free at work and your idea of the ideal UI, is sub-optimal for them. If you think of your user as someone sitting in a café on a MacBook, step out of that world into one where problems are much trickier, challenging and rewarding. You'll enjoy it.
Next time you're at work, sit down for a moment at your desk, or your next team call if you’re remote. Look at all your colleagues. Do you all kinda look the same? Do you all have the same bits and pieces between your legs? My guess is yes. Maybe it's time to move on somewhere else. After all, how can you build something useful for the world, if half the world don't have any input at your table? Pipeline problems blah, blah, blah. Bullshit. You can change that if you really want to.