The Hardest Part of Being a Developer
There are many challenges that software developers face, after all, a software developer is a problem solver, of course you get developers that specialise in certain areas, such as the web. But even the technical subjects aside, there are many other challenges that developers face. The biggest one in my humble opinion is getting up to speed with domain specific knowledge in as little time as possible.
Let me give you an example, a computer science graduate isn’t going to know a bunch of jargon that’s specific to eCommerce. At least they wouldn’t necessarily know a lot of the jargon off the top of their head without looking it up. Of course there’s a lot of terminology that people can guess the definition of, an example being PPC(pay per click).
However, when a developer jumps from one domain to another, terminology tends to clash. Some set of acronyms may have an entirely different definition in one company to another. This has taught me to not feel worried to just ask questions, if I have a question, even if it makes me look stupid, I personally don’t care, it pays off to ask as many questions as possible. If anything, if you don’t understand something that you’re working with on a daily basis, it would be stupid to not ask questions.
Even if you feel that you lack some fundamental knowledge, so what? No biggie, just ask away, even if you have some colleague that makes a joke of how you’re constantly asking questions, just ignore it. It will benefit you & the work that you do, after-all, it’s not like you’re asking on behalf of others in this case.
There are cases where you will have to ask questions to improve your knowledge & the knowledge of others, but in my personal experience, this has been rare. In which case I often find that writing some form of internal documentation can be incredibly beneficial. Whether you’ve been assigned some task to introduce some new technology or you just understand some technology more so than your peers. You could just write some documentation to get them up to speed, but be clear when using acronyms, or words, even phrases that can have a different definition in a different context. An example could be something like PWA, in the head of your average web developer, my bet would be that they’d think of progressive web application. But for other technical individuals, PWA could mean other things, such as printed wire assembly. Maybe this isn’t the best example in the world, but I hope that it gets the point across reasonably well.
So not only does a developer need to learn domain specific knowledge at a fast pace, both terminology that’s used to refer to internal & external processes. But also ensuring that for anyone that has to read any documentation that you’ve produced is aware of the terminology that you’re using in your documentation.
This is just my opinion, but I find it surprising how I find that language is one of the hardest parts of my career. I’m fine with the hand on, technical side of things, but when it comes to meetings with non-technical individuals or talking to people from vastly different backgrounds, it can be a surprising challenge. Whilst in full time education, I would never have thought that this would be the case to be totally transparent. But I guess it shows that experience is never a bad thing! 🙂