I've been learning and writing backend code(python, flask, Django...) dedicatedly for about 2 years. I learned most of these stuff by myself and has not yet applied for a developer job.<p>I'm shocked when I see a lot of jobs asking for full-stack developers. It seems to me that it's hard enough to be good at one technology(takes me 2 years already and still so much to learn). I've looked into javascript, css(bootstrap) and such and found great obstacles with these technologies. No doubt I would have to further devote years of effort to learn these as well.<p>Can I just be a backend developer? What would be my advantages over full-stack developers?
It depends on what type of frontend work you want to do.<p>The advanced stuff (like JS frontend frameworks) all seem to have a deep learning curve, but normal HTML5 + JS isn't that difficult (with tools like bootstrap, etc.)<p>If you've been building stuff in Django and Flask for 2 years, you've already done some frontend work with Jinja2, etc.<p>I guess this is why developers justify charging USD+70 per hour, as the amount of skill it takes to master so many technologies warrants a high pay-rate.
Many projects are small, and even big projects tend to be split into many smaller projects. In those cases, it is vital that everyone on the team can do anyone elses job if they have to. You tend to get one role most of the time, but you need to be able to understand the whole project.<p>I would recommend looking into "old fashioned", established companies who do their own development. I've worked with banks a few times, and they seem to often still do the "database department", "back end department" and "front end department" thing. I'm sure there are other areas too, but that's the only one I've had experience with.
In smaller companies, my experience is that you'd be at a distinct disadvantage compared to most full-stack developers. At larger orgs, however, there's plenty of room for specialization - depending on the size, "backend developer" may even be far too broad of a term.<p>That said, while the front-end can seem scary, it's alright once you dive in. With 2 years of experience as a Python developer, I wouldn't expect you to have too much trouble picking up Javascript and HTML/CSS.
Firstly, yes! Typically what you're seeing are smaller companies where everyone on the team needs to be able to contribute and review everyone elses work. That's not to say that's all that's out there.<p>We have whole swaths of teams that just do backend development.<p>Basically, get in to a larger organisation that allows you to specialize a little more. Or go work for a company that just sells backend infrastructure / middleware :-)
Guess depends on the language, I'm doing Java backend dev since almost 15 years and loving it. I'm developing front-end but only for my own side projects