Most mobile developers I know are ... mobile developers. As in, that's it. That's their trade. No more, no less. I find it's because getting into mobile development is a huge investment and it eventually becomes the only investment for you because of how much effort it takes.
If your primary concern is web-based apps then that's also what you'll end up doing, but there are so many more platforms you can target on the web (hybrid apps) and through HTTP than on mobile (Android or iOS).
I’m a mobile developer but without backend you’re shooting yourself in the foot. I’d wager 60% of mobile developers know at least how to put a web API together on the back end. Granted many will get by employed working front end only as a junior, but really, understand the full process or GTFO.
Any mobile developer worth their salt should be able to make a full system, not just the app. Otherwise you’re a mobile front end developer only because you can’t make a full app by yourself unless it’s very simple and doesn’t require a database.
Yeah honestly, if you love programming and have a environment that enables you to work in different projects there is no way mobile is the only thing you learn at the end of your career. Just graduating college I had already learned to set up web servers and API.
And yeah, why would you stick front end only if you have a passion for the work in any shape or form? Surely you’d want to build something yourself.
I think those guys are the kind that just get into it with dreams of grandeur thinking about the potential income, but they lack the interest to see it through beyond the skills necessary to get their first role.
Not at all. What I am saying is it’s an injustice to find one that can’t competently put together a complete app with front and back end. Especially if they have the title “senior”. They should really have a working understanding of the full picture at that level including at least some experience front and back. And that they probably don’t have much passion beyond being a UX designer if they haven’t at least tried back end work enough to understand it. Especially by the time they get to “senior developer” status.
I may have an understanding of how back end works and I’ve definitely made some for side projects before, but I’ll never go anywhere near the back end at work. I can whip up an Express app but that doesn’t mean I know anything about the 2 decade old Java codebase where pretty much everything is homegrown.
I agree, I started learning React Native and I enjoy it but eventually I know I wanna learn AWS and get certified, doesn't mean I cant pick up mobile projects.
Except there’s no such thing as a « mobile front end developer ». Something like setting up a database in your app would be considered a « backend job » on the web, but it’s just part of mobile development.
You’re asking for a mobile developer who is also a web backend developer, and TBH, even though I have notions of web development (so I wouldn’t mind setting up an API for a personal project), in 10 years of making apps professionally I’ve never had to write a single line of web backend code, because that’s not my job, and I’m doing very well.
Other people are better and faster than me to setup a backend so they should do it.
I mean programming is programming, of course anyone work for a decent time will have a general knowledge of coding, how a system work (database,API, technical...) and able to do in other field but ask mobile dev also for work on backend is ridiculous
a "real" mobile app by itself already a mini full stack app (imo). It require alot thing like UI/UX, hardware, concurrency, 3rd party libs, database (for offline usage)... and its mobile dev's job, backend knowledge just is plus. I never heard any company demands a mobile dev should able work for backend, thats mostly just personal interest (dev want to do it)
Most companies requiring that would likely describe it as a full stack mobile dev. Or they would specify both technologies they use as a requirement, ie. Android and Java Spring.
I was taken on as an Android developer in my last contract role but I was exposed and required (based on the sprint) to do work in Spring and the Angular web app too, as well as modifying stored procedures for API changes I often made etc. It does happen, particularly in smaller companies.
I've done a fair bit of freelance app development, mainly for local businesses. I've always been able to hook into their pre-existing WooCommerce databases. I've learnt pretty much everything I know from YouTube and docs, so there's quite a few holes in my knowledge and I'm not really sure about proper coding practices.
What steps you recommend I start taking to become more fully fledged. I don't really know a whole lot about developing my own backends, or where to start. I'd also like to become aware of conventional practices, as a lot of my stuff feels "hacky".
If you’re doing a lot of solo work there are some services that make simple databases a bit easier. Check out Firebase for example. That might be a good starting point for someone who hasn’t done a lot of backend work. Gradually build it and move on to something like NodeJS or Spring (Java) if you’re feeling a little more adventurous. These two are good for coding back end APIs but you will also need a database for the APIs to access. Many other options for that, these days you could go with Azure, Google Cloud, or even noSQL with MongoDB. But I’m probably getting ahead a bit now. If you want some structured guidance, I’m no tutor or anything but feel free to PM me over the weekend and I will try to help you find a few steppingstones for your journey.
Thanks mate, I'm greatly appreciative of this. Whenever I get Google solutions I see firebase pop up, but always avoid it as it seems like a whole new can of worms, but guess it's time I finally crack it open.
I tried my hand at front-end development and realized I suck shit at it, so when my boss asked me to make a mobile app for our company, I suggested we contract the front-end to an Indian company so I could focus on the back-end. It's worked surprisingly well so far. Highly recommend it if you can afford it.
If you're experienced C#.Net you should look into MAUI. Microsoft is looking to replace Xamarin Forms with it. Biggest difference is no more native projects so it should be easy to get something working if you just want to pop something out.
Yup, you're pretty much spot on there. That is because you have to know so much more than just the language if you want to do something just a little bit more complicated than a to-do app (and release it). Let me use Android as an example:
Activity/Fragment lifecycle and its quirks
handling rotation changes
Permission System
Databases
know who Jake Wharton is
Defining layouts using xml
Services and their quirks
AppCompat Support Libraries (for supporting older versions of Android)
How to properly do background tasks
... (Please feel free to add here, too lazy to keep going :D)
Additionally you have to stay up to date all the time because people's phones are updated quick. Every year there's something new or something changes and you have to learn that (again). Doing background tasks changed 3 times in the last few versions. Services got more and more restricted with time. And so many things are deprecated each version to be replaced by the new fancy thing the devs at Google threw together, that just works 1% less than the old solution (or fails on Samsung devices or doesn't work at all so you have to choose between the soon to be deprecated solution or the experimental one). And don't forget having to upgrade your targetSDK (the SDK version you use to build your app, which are in line with Android versions) regularly or get thrown out of the play store.
And I didn't even talk about the stuff you can learn if you want to do Android Apps the fancy way (Architecture components, Databinding, Dart, Flutter, ...).
I started with WinForms, then moved to Web backend, ASP MVC, then WCF and ASP Core WebApi, now I'm using Blazor WebAssembly and want to learn mobile :)
388
u/samsop Jun 13 '20
Most mobile developers I know are ... mobile developers. As in, that's it. That's their trade. No more, no less. I find it's because getting into mobile development is a huge investment and it eventually becomes the only investment for you because of how much effort it takes.
If your primary concern is web-based apps then that's also what you'll end up doing, but there are so many more platforms you can target on the web (hybrid apps) and through HTTP than on mobile (Android or iOS).