My career in tech kind of just developed on its own. I started working at a computer shop when I was still in high school. One day, a customer came in and asked if we could connect his two business networks at his locations across town from each other. My boss (also the owner) asked if I could do it. I said "yes" without hesitation. But here's the thing...I had never even tried something that before and didn't know the first thing about point to point VPNs, firewall access rules, ports, WAN vs LAN, any of it. But, I dove into it anyway and figured it out as I went. Myself and both of my brothers are engineers in the tech industry and, while my dad is the least technical person on the planet, he taught us a simple rule to follow for personal development: "Be humble about what you know and arrogant about what you can learn." All three of us lived by that and it took us far. After that network gig worked out, that customer referred us. Two years later I was recruited by a bank to come on as a routing and switching engineer. The staff at the bank was super skeleton in IT (as in there were 6 of us, including only one software developer caring for 1200 employees and their equipment and managing office and ISP issues in 20 states) so a lot of us wore a bunch of hats. One of the hats I decided to wear was as a Windows Automation technician. Basically, I used Google to learn enough Powershell to help take some of the load off. Eventually, the employee number rose even more and Powershell wasn't enough. So I started developing some automation scripts and basic reporting software using C#. Out of pure luck, I happened to automate some process that was on our Software Engineer's task list. To him, it was a simple thing, but to find it already done led him to ask who had done it as he was the only code jockey at the company. Eventually, he tracked it down to me and asked if I wanted to help him with some other projects. I agreed immediately because writing the scripts were really fun and interesting. Fast forward 6 months and I joined him as his junior, then eventually left to pursue other things. That was 5 years ago and now I write web automation, data aggregation, and ML software for local businesses.
I guess, long story short, if it interests you, dive into it. The idea of a topic being "beyond your abilities" is only going to get in your way. Yes, learning how to think in algorithms, debug your code in your head when your not at your computer, take the math of statistical and predictive analysis and translate it into functional or OOP terms, are difficult things to do. But as with any niche, there are things only experts can do, and things more suited to junior devs. But the difference between those two groups is two things: experience and fearlessness. So if you like deep learning, machine learning, AI, and the like, go with that. Technology changes so fast that even senior guys have to pretty much relearn the ropes at EVERY new job they go to. So if you work in that field for awhile and you don't like it, try for a different niche. Your experience with one niche will pay dividends in any other niche. And even if you went to a new company doing the same job, you'd likely have to learn how to do that job on a different stack, with a different codebase and different colleagues which is basically like starting at square one anyway. Do what you like but be flexible. Most of us are specialist developers who will make decent money doing what we do so, at the very least, you'll pay the bills while you find out whether or not you want to stick around.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.