Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

Where to start with backend programming and Mobile App development...

Hello,

I have a fair amount of system administration experience. I'm wanting to transition into backend development and mobile app development. I'm looking for opinions on the best place to begin to develop some marketable skills. I realize this is a very broad statement/question. I'm just looking for input on the best track to begin with.

Thanks for any response.

2 Answers

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,862 Points

Hey Ryan,

You're right when you say this is a broad (and very much opinionated) question. If you had 10 people answer, you could very likely end up with 10 different answers. It also depends on your level of coding experience.

I would start with the Front End Web Development Track, especially if you have little to no experience with building websites (eg. HTML CSS JavaScript). I know you said that you want to transition to Back End Development, but any good Back End Developer will have a least a basic working knowledge of Front End tools.

Now, here comes the "personal opinion" part of the answer. I would then look into the Objective-C Track, as this will give you a step into the iOS world. Myself, I'm really not impressed yet with Swift, and it's still such a new language. It's only 2 years old and has/will already have 3 Major releases. Besides, Swift is built on Objective-C.

Then I would move to the Java Track. Java is a very mature language and capable of many things. Everything from Web Development to Mobile Development (is the base of Android Programming, but can also develop for iOS). Also, because it's a mature language, what you learn today will more than likely still work in a year (unlike Swift).

Finally, I would do the Android Track. No so much to develop specifically for Android. (I'm an iOS person), but because it is build with Java, a different perspective will only help solidify the Java skill.

All these work together, as they all kind of stem from the C language. While syntax is different, learning Objective-C will help understand Java, and learning Java/Android will help understand Objective-C.

Then if you want, have a look at Swift, but for now, I would stick with the "tried and true." :)

But all in all, it really is a personal decision. Just find one that evokes some passion, and that's the one you should stick with.

Keep Coding! And I hope you find the path best for you. :)

:dizzy:

Hi!

I actually found this question while looking for articles on learning backend development with a mobile perspective in mind. I don't have a good answer myself yet, but I can provide some insight for you (or anyone also looking, since I'm about 1 year late to this question).

Firstly, you can separate backend and mobile as two separate interests. Mobile is mostly front-end, at least in terms of beginner content. You're mostly dealing with how to present UI's to the viewer and then doing some data manipulation based on that. The split between UI work and data manipulation leans more heavily towards UI in my opinion because UI takes a lot of coding and customization to get exactly the design and feel you want. Swift has become very stable now and so Treehouse's iOS Development with Swift track is a very good place to learn mobile development (I've tried both iOS Swift and Android Java and I find iOS to be the easier one to develop for, both because of Swift's lack of verbosity and iOS Framework's protocol-oriented approach).

When you look at backend, you can look at it in the perspective of how you typically access backends. For my work, that typically means REST API's or direct connections to databases like MySQL or Firebase Realtime Database. For REST API's, Treehouse has tons of tracks that delve into this. Java Web Development is nice since Java is still an enterprise standard, but you also have Ruby on Rails and Python with Flask or Django. All of these eventually have you make a REST API. The Fullstack Javascript course would also go into this, but there seems to be A LOT more content to get through before you can make your first REST API. But Javascript has a lot of strength in asynchronous uses and is very popular as a backend solution, so maybe it's worth the extra investment.

Lastly, on the note of backend for mobile, many cloud services are tailoring services to act as one-stop-shops for mobile backends. That means you can focus on coding mobile frontends and then use their cloud service to handle database connections, user authentications, image storage, and etc. AWS has Mobile HUB and Google has Firebase. I know there are more, but those are the two I'm familiar with. If you want to know what constitutes as backend for mobile, you can take a look at what services they offer.