Developers, here’s how you negotiate for manager-level pay — without having to manage people
Why every developer should know multiple programming languages
This article was originally published on ult by Doug Neale . ult is a media platform for untold developer stories, where developers can read content around the softer side of development and watch documentaries about the tech they love. You can read this original piece here .
“I’m a ruby developer!”
“I hate javascript!”
“Functional languages only!”
Most developers would have heard boasts like these. In a world of endless languages and frameworks, it makes sense that some of us would choose our favourite stack and stick to that alone. But trends in the industry suggest that the rise of polyglot programming may be putting these developers at an increasing disadvantage.
What is polyglot programming?
Polyglot programming is generally defined as “the practice of writing code in multiple languages to capture additional functionality and efficiency not available in a single language.”
Why polyglot programming?
This might not seem like anything new in the world of web applications, which involves a frontend-backend stack. But in more recent years, the term has referred to the practice of adopting multiple stacks — even within the same organisation.
In the past, the common view was that having a uniform ecosystem is better than the overhead of a variety of frameworks. Now, many believe that it’s better to sacrifice some consistency if it means using the right tool for the right job. This is further catalysed by the widespread adoption of microservices, where multiple, independently-deployable applications exist for the same product, each with their own requirements.
For example, Ruby on Rails is a great choice to build a standard web application. But a processing-intensive service would benefit from Golang’s efficiency. Or for something simple, just going with Javascript may be an easy option, thanks to its huge community and ubiquitous tooling. Embracing polyglot programming means having the flexibility to make these choices.
An important and growing trend
In their bi-annual report of technology industry trends, ThoughtWorks strongly recommended adopting a polyglot architecture last year, after keeping it cautiously optional for over a decade. The consultancy now believes “promoting a few languages that support different ecosystems or language features is important for … developers to have the right tools to solve the problem at hand.”
These insights reflect what’s happening in the industry. A study released by CodingDojo in 2018 revealed that almost none of the Fortune 25 companies worked in a single language, many using multiple back-end frameworks. And it’s not just the big enterprises too – Netflix has been very public about its polyglot codebase, even releasing a polyglot notebook for data analysis last year.
Staying relevant in a polyglot’s world
All this means it’s more important than ever for developers to be adaptable. Reflecting on the study, CodingDojo stated: “While specific jobs might focus on a particular language, this research shows that a single language could be a long term dead-end. Aspiring and existing developers must learn coding’s common building blocks and ultimately become fluent in multiple languages to have the adaptability and flexibility for a successful career.”
This may sound daunting, but the key here is to focus on the common building blocks of all software technologies. Often, developers are concerned that expanding into new stacks will spread their knowledge too thin, but the opposite is true. Learning new technologies produces a stronger understanding of the underlying principles that apply to them all. The result is a more well-rounded, adaptable engineer.
Along with this, you may need to find a workplace that embraces a polyglot architecture — or better yet, influences your current one. After all, being ready to drop your new Kotlin skills doesn’t help if you’re still stuck in a dead-end, Java-only job.
Put yourself in an environment that taps into the benefits of many languages and push yourself to learn them. Then you can boastfully say “I’m a polyglot programmer.”
3 ways to maximize your work station at home
Working from home is great. There’s no commute and you can have greater control about your work setup (heck, you can even have your own whiteboard ), but getting this right can be tricky.
So, here’s some top advice to help you maximize your current home setup so that your body doesn’t suffer.
Isolate and separate
Before we start talking about an ideal home setup, you need to think about two things: Isolation and separation.
You need to find a space with a sole purpose, one that can be used just for work.
You should also isolate yourself from people who may interrupt or disrupt your work — although this is a common issue for people working in open offices — it’s also important to bear this in mind when you’re surrounded by family.
If you don’t have an office per se, that’s totally fine, but find a way of setting up a temporary one every day in your kitchen, dining room, or bedroom.
Your screen
In terms of your actual work setup, adjusting your screen is key if you want to avoid neck or back problems while working from home.
Your eyes should be in level with the top of your screen — hence why hunching over a laptop isn’t ideal.
If your monitor can’t be adjusted, I’d recommend raising it using books or paper reams.
Make sure your monitor is at arm’s length so that you can easily read what’s on the screen without straining your eyesight. However, if you’re still struggling, book yourself an eye test when lockdown is lifted and in the meantime increase the font size.
If you are using a laptop at home, connect it to a larger monitor so that you can work off two screens. And if you can’t get your hands on a monitor, raise the laptop using a stand and use an external keyboard and mouse.
If you own an Apple device you can use Sidecar to connect your iPad to your Mac desktop .
And if you’re on Windows , don’t despair, because apps such as SpaceDesk let you do the same.
Your keyboard and mouse
You should strive to keep your hands and wrists in a neutral position while you work. This will help you avoid developing aches and pains .
To do so, extend your hand forward and lay them flat on your table , or work surface .
You may have to adjust the height of your table and chair or move your mouse accordingly. Your keyboard should be flat on your desk or sloping gently away from you.
Keep your wrists straight and fingers curved over the keys, so that your thumbs hang near the space bar on your keyboard.
Your chair
I could easily write a whole essay on the importance of getting yourself a good office chair — and I’m sure most of you reading this will have struggled with a bad one in the past .
A good office chair should be adjustable: You should be able to change the height so that your feet lay flat on the floor while keeping your arms at desk level. If you can’t comfortably lay your feet on the floor use a footstool or raise them using books or any other suitable items.
The chair should have sufficient width and depth to support you and allow you to sit with your back against the backrest.
Lumbar support is also very important when you’re working from home as you’ll likely be sitting down for long periods of time (although you should be stretching at regular intervals ).
Make sure you can adjust the lumbar support both in terms of height and depth so that you can avoid slouching and wreaking havoc with your posture.
So, there you have it: Adjust, adapt, and make sure your setup works for you and not the other way around.