At some point of development, even IT companies may need some mortals. They take care of the office stuff, sell the products, take care of public relations – they broker between the programmers (and other immortals) and the rest of the world.
When I first came to work in this weird world, I was scared to death. Or I should have been because at that time I was not truly aware of what I should expect. It hit me a few days later. I wasn’t really sure why I got hired and how I should speak to the outside world without knowing anything about the world inside of the company. After a few months of acclimatization in this outlandish space, I’ve learned a few things that may be helpful for other daredevils who find the courage to step into it.
- Learn the environment. When you step onto a sailing boat for the first time, you don’t really understand what is going on. The captain is giving orders using a strange language. Step by step, you learn what all these are: a foresail, a shackle, a cleat, a bilge, a capstan, a lazy jack, a gaff rig – and so on. After some time not only you understand what other sailors say, but you start to speak in the same way. You are able to name objects around you.
- Don’t be afraid of the programmers. Even though they are not ordinary mortals, they are not total aliens. They may behave strangely, speak differently and they all have these awesome superpowers of turning coffee into code that will eventually turn into a really cool application, but after all, they do resemble human beings. Most of them will be happy to introduce you to their work and try to make it understandable. A human element of their programmer souls makes even them have some cute habits, like calling computer devices or servers funny or cool names.
- Ask stupid questions, remembering that there is no such thing as a stupid question. You will quickly get used to receiving an answer that is not exactly what you were expecting to hear. Like in many other professions, programmers use a certain jargon that makes their communication easier and… very hard to understand for outsiders. They are committing, deploying, debugging and implementing stuff – no matter what language they use on daily basis – and in their world, it is perfectly normal. For you, as a mortal – it’s not, so if you feel that you don’t really understand the answer you received, don’t be ashamed to behave like a 5-year-old and ask more questions. Even those that seem to be stupid.
- Make analogies to the things you already know. If you want to understand what’s going on, you need to find the right method. Explaining ignotum per ignotum does not make much sense, but as soon as you find a way to change it into ignotum per notum, you will easily get the idea of any process taking place.
- Let’s take an example: building an application is quite similar to building a house. At the very beginning you need to make some kind of an outline (you call it a ‘mockup’), get the architect’s sketch. Then you get a building project and choose the technologies you will be using. After you are finished with the projects, you take care of the foundations and the shell building – that’s backend. At this point, the house fulfills its basic functions: it is solid, it will protect you from bad weather conditions. But something is still missing: you want your work to be nice and user-friendly – these are the finishing works. Or frontend – using the IT-speech. UX (user experience) and is UI (user interface) make our house (or app) functional – the dining room will not be far from the kitchen – and pretty.
- Know that you don’t have to know everything. Realizing that even if you work in a software house, you don’t have to understand the technical details of applications is probably the most important thing you need to learn when stepping into the world of IT. Remember that one of the reasons why you are the person chosen to represent the world of programmers in the world of mortals is that you are more likely to communicate with them on common ground. Not understanding the whole black magic going on in the application gives you the power of focusing on clear advantages of using it – or anything else that is actually important to its users.