I'm a Java/Android Developer, I recently graduated college and currently working as a Jr. Android Developer. I feel very comfortable around Android and Java in general, also I'm always reading and exploring new things. Lately a colleague advised me to look into server-side development as well.

After doing some research online, the following options came-up:

  1. Java EE (JAX-RS for example), it probably has a much smaller learning curve than the others as I'm already comfortable with Java.
  2. PHP, it seems that PHP is solid and everywhere, the code base is huge, even most Android tutorials that I've seen use PHP for the server-side.
  3. JavaScript (Node.js with Express).
  4. NONE!, just sticking to Android development and improving my skills and knowledge.

Does a mobile developer HAVE to know about server-side development ?? which of the choices above is the way to go ?? (if none of them, please let me know your suggestion(s)).

  • Your question is career-advice, so off-topic. Look also inside HOP, Opa, and Ocsigen with Ocaml Sep 3, 2015 at 16:31
  • 2
    Just a note: check out PHP version changelogs if you think PHP is solid. It is everywhere, that is true. Sep 3, 2015 at 17:14
  • It is simplistic to mark this as career advice. He is trying to understand if it makes sense to learn a particular technology class and that is part of becoming a better programmer.
    – Jason K.
    Sep 3, 2015 at 19:26

2 Answers 2


Rather than providing this as career advice, I will say that knowing both the client and server side in development to at least some degree makes you a better programmer because you can learn best practices on what to do and not to do in terms of performance, maintainability, standard approaches etc. Without learning the server side, a programmer is missing out on understanding how to solve several classes of problems.

  • Thank you for your advise ... I'm already getting to know some server-side technologies and I'll continue to dedicate time to this cause. Any advise on which programming language to go with for this ?? :) Sep 4, 2015 at 8:11
  • It is always good to have a few different languages under one's belt so I would pick something different from what you already know. The concepts will remain the same as far as what the server has to do to process messages.
    – Jason K.
    Sep 4, 2015 at 12:18
  • Cool ... I think I'll go with Node.js. Sep 4, 2015 at 15:34

I think any programmer who does mobile or web app development should do server side work. As Jason already said, it should make better at what you do. But to me, a big reason to do it is so you can debug and fix your own issues. If all you ever do is client side work, then you are at the mercy of others to do the server-side work. You won't have a choice in some situations, and you'll have to deal with a black box. But where all the development is in-house, try to at least get access to the server side so you can be more efficient.

Not the answer you're looking for? Browse other questions tagged or ask your own question.