Today I had a dream. Or should I say “a nightmare”?
I dreamed that I went back to working with a multinational company, I would tell you the name, but then I’d most likely be scolded. I woke up startled, as if I had something urgent to finish – a task that was due the day before yesterday.
This is not the first time that this has happened to me. Luckily, a couple of years ago I stopped working for such traditional companies. I have decided to write this post as a form of therapy.
Admittedly, I’ve probably had some bad luck and perhaps not all giant conglomerates are as like the ones I have worked for. Still, the vast majority do have certain patterns in common that, in my humble opinion, are not conducive to the (good) work of a developer. Common patterns of multinational companies include,
What you are most likely to experience is that your bosses (yes, more than one) do not have the slightest idea of how to manage a project outside of an Excel spreadsheet. Words such as Scrum, Kanban, and eXtreme Programming are not part of their vocabulary. Tasks will probably be designated by appointment, by a subjective priority, or even worse, as decided by the customer depending on his mood.
Another one of the most common features of a multinational company is “title-itis”. Everyone who works there has a title, for example, Development Engineer lvl 1, Development Engineers lvl 3 or Senior Development Engineer lvl 1. Even worse, titles are categorized by age or experience and even within the categories themselves we have subcategories until you finally make it to the “highest” one.
For example, Project Manager, to Manager or (drum roll)… Expert! The problem of this type of labeling is that it usually involves an increase in responsibilities and salary range – at least in theory – and generally, promotions are imposed by the Powers That Be, or because of rather biased company policies.
What does this mean?
- You spend more time competing with your peers rather than learning from them.
- You spend more time crafting gimmicky policies rather than reading or studying to apply new knowledge to your work.
- You reach burnout quicker and, in short, your work becomes a House of Cards.
3. Family Conciliation
Based on the previous point, it’s complicated, to say the least, to have a successful career path in such companies. Usually, it is not enough to do your job well. In addition, you have to prove to someone else that you are capable of putting in more hours than your co-workers. It’s easy for your life to become your work and you learn to never say no.
The absence of methodologies that facilitate the management of the project also affects this. Rushing to finish tasks at the very last minute, deploying into production without having properly tested, making changes on last-minute requirements, etc. are not uncommon.
The “need” for such dedication can cause your family and friends to forget what you look like.
As mentioned earlier, it is difficult to learn something from your profession if you spend more time on competing rather than pair programming, talking with your teammates about the implementation of an algorithm, or sharing how you fixed a bug.
Rushing to finishing projects on time does not make learning or improving any easier. Refactoring is something that does not exist or is not a priority. Tests are rather conspicuous most of the time, and many products are never even completed. In an environment of this type, it is very difficult to grow professionally as a developer.
There’s hope! I’ve discovered that not all software companies are a nightmare. Companies whose main value is the employees themselves do exist.
Companies can pour a good part of their resources into improving the quality of life and the career path of their employees, and what’s more, be quite motivating and encourage participation in the decisions of the company itself. Companies can encourage and foster teamwork and learning.
Two years ago, I was lucky enough to become part of such a company called Nearsoft.
What Kind of Corporate Witchcraft Is this?
Democratic companies like Nearsoft are ones in which their structure, ethics and values are based on the principles of equality. No one here is “more” than anyone else just because of a title. Mainly due to the fact that there are literally no titles!
All developers are equals and we are able to learn from each other. We do not compete for an absurd superiority.
I have learned more in just two years than I could have imagined – all without the need to put in more hours into my work than necessary.
At Nearsoft, how are destructive patterns redefined and dealt with? From my experience,
- Methodologies: You are free as a developer to decide, along with your team and your client, what methodology to use.
- Competitiveness: You compete with yourself. Your desire to self-improve on a daily basis increases because you are surrounded by great developers.
- Family Conciliation: Being able to work from home and manage your schedule in a way that suits both you and your client provides much more quality time for your family and yourself.
- Learning: As I said before, we are surrounded by excellent developers who always have something to teach and are willing to spend 5 minutes to answer questions or clear doubts. As if this were not enough, there’s an endless supply of books available, online trainings and workshops taught for and by Nearsoftians, as well as the possibility of traveling to conferences or to take courses.
A developer does not have to rely on giant corporations for a livelihood.
If you’re just starting out as a developer and want to put your best foot forward without experiencing the nightmares, give us a chance. You won’t regret it!