I come from a time when you could be an expert at one thing and be really useful to a company, but I think that time is long gone. If you only have one skill, no matter how good you are at it, you probably can’t achieve anything in tech without waiting weeks to get people to help you with all the stuff you don’t understand. In recent years, being a tech allrounder seems to be much more useful than being an expert. Maybe it always was.
Of course, this poses its own set of problems. How do you learn all this stuff? That’s the hard part and there aren’t any short cuts. There isn’t a “full stack developer course” that will teach you. You’ve just got to work on your Google-Fu and start getting your hands dirty. On the positive side, there is a lot of good information out there to get you started. Blog posts and videos that will get you from zero to adequate in a short amount of time if you put in the effort.
Over the last few years I’ve played with a lot of different technology, and I still find new stuff interesting, but it’s taken me a long time to deal with the fact I’m crap at most of it. Good enough to get the job done and fool people into thinking I know what I’m doing, but ultimately only one weekend of playing with the tech and a couple of Google searches ahead of some other people.
So my advice to people in tech is:
- Try and get involved in as many aspects of tech as possible.
- Forget trying to be an expert in any of them. Just try to get good enough to be useful.
- Be humble enough to realise that what you say and do today may change tomorrow when you’ve Googled a bit more.
- Try to understand the big picture. How things fit together and how processes work. Programming languages and services change all the time, but understanding the goal and the processes to get there don’t change as much as you might think.
Remember, it’s just my opinion!