Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: How to just be a back end developer?
8 points by aliencat on June 16, 2015 | hide | past | favorite | 8 comments
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.

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.

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.

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.)

If you've been building stuff in Django and Flask for 2 years, you've already done some frontend work with Jinja2, etc.

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.


For now, just learn the basics (simple html, simple DOM manipulation, simple jQuery, simple CSS, simple Javascript).

Those fancy frameworks are all going to be obsolete in 2 years anyway (i.e. angular 1.0). Besides, you need to know the basics in order to use the fancy frameworks CORRECTLY.

Unfortunately, most employers want you to be an expert already in whatever tools they are using. I know people will object and say they hire for talent and not resume keywords, but that hasn't been my experience as a candidate.

The reason employers want full-stack instead of back-end is that it cuts down on the communication overhead. You can do it all yourself, rather than handing off the front-end bit to other people. I'd rather hand off tricky front-end work to someone who knows it better.

My experience is mostly back-end, but recently I've been doing some simple front-end work. It makes more sense to have separate back-end and front-end specialists, but that isn't the way things are done anymore.

I wrote a video poker practice game in Javascript/jQuery/PHP/C++. It works, and my father is playing it, and he likes it. It isn't fancy modern web style, but it runs and gets the job done. (Javascript/jQuery on the client, with simple CSS. PHP with a shell_exec to C++ to do the calculation of the optimal strategy. The client does an AJAX call to get the next hand.)

Try writing something like minesweeper or a sudoku game in Javascript/CSS for practice.


I agree. The problem for me is that writing the same front-end stuff that takes an expert an hour can take me half a day googling and debugging. And it's not fun at all for me.

And frameworks do expire quickly. Therefore it's hard to be determined to devote time to learn any of them seriously. And plain old DOM manipulation and CSS clearly cannot beat the development speed of modern frameworks.


That's my issue with studying new things to further my career. There are SO MANY things. What should I pick? Also, most HR and headhunters say "Only on-the-job experience counts. If you learned it on your own, we don't value it."

After a few weeks, you'd get better at it. Unfortunately, employers want someone who's already an expert. They aren't comfortable letting someone learn on the job, even if searching for their purple squirrel means the position is open for longer.

I got something done in a couple of hours with the "old-fashined" style, when it probably would have taken me weeks to learn a framework for a simple task.

For a personal project, the plain style is fine.

Most of these MVC frameworks are poorly documented and poorly written. I've used several that I didn't like. I wouldn't use an MVC framework for my own projects.

To find a job, they expect you to already be an expert in whatever they are using. The only way to expand your skillset seems to be: Pick something you want to learn, and use it for a project at work, even if it isn't the right choice for your current employer's needs.


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.

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.

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.

We have whole swaths of teams that just do backend development.

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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: