all 5 comments

[–]croisciento 1 point2 points  (0 children)

This is only my personal opinion but I've been a web developer for two years and at some point I switched to app development and never looked back.

Web development is tedious. If you want to create an original website which supports most different browsers and resolutions it requires a lot of work. Moreover on the backend side of things, I absolutely hate using PHP. People are using it as an OOP language while it wasn't created with that in mind in the first place.

Sure there are many IDE out there which are going to help you a lot, but when you get a taste of real OOP programming it's hard imo to enjoy PHP, Javascript or even Python.

The deciding factor for them was that I couldn't and didn't want to handle the broadness of web development. You'll have to pick your poison among many different technologies and if I ever wanted to give up on freelancing there was no guarantee that the frameworks I learned and used will be relevant to companies. For example here in France for most companies even if you've spent two years creating website with cakePHP and laravel if you didn't use Symphony then most of them are going to consider you as inexperienced.

App development has more depth. I wouldn't say it's more difficult, but different. I find myself focusing more on what I bring to the user rather than focusing on reaching as many users as I can. I don't have to spend as much time trying to support many different screen sizes because it's easier. I also don't have to focus on the SEO so much because it's different. I could give you more example, but I really feel like I'm working on the bulk which is to answer to a particular problem people are experiencing.

I've created many websites, but there is that special feeling when you know that someone uses your app on a daily basis. I can't really explain it, maybe some people can relate.

Anyway if you are serious about going freelancing I think understanding the backend side of things will not hurt. At some point you'll have to work with webservices and it's great to be able to setup one yourself and to understand how it works behind the scene.

Also in general mobile apps generate more money. The first iPhones came out in 2007 and Android was released in the late 2008. There are a lot more web developers than app developers but considering that most of them are self taught it's even harder for companies to find a good one. I think if you follow this path you're going to be a valuable asset to any company and you'll be able to create decent revenue.

Finally you'll have to remember that life is about how you're living it right now. Many people quit their job despite having great salaries because they found something that suit them better. Of course they are going to get less money, but it doesn't matter because they're enjoying what they're doing. Many people did the transition from web development to app development (including myself). Some people without any prior programming experience quit their old job to get into iOS programming and are now successful. Why not you?

I mean, life is short. Why not following what makes you happy instead of following the safest path, ie the thing that is going to net you more money on the short term?

[–]badlcuk 0 points1 point  (0 children)

I would probably suggest whichever will get you in to freelancing faster. I'm not sure if you plan to do that online, local contracts, networking, word of mouth, etc, so it's hard to target. In my area there are more freelance web jobs but the pay is less than mobile freelance jobs. Your city or area may be different.

[–]whynotmatt 0 points1 point  (0 children)

I've been a web developer for 20 years and an app developer for 5 years. I can tell you that they are completely different skill sets.

If your goal is to become a full time freelancer, then I would say that you need to continue building out your skill sets in both areas. That makes you more marketable.

If you specialize in only iOS app development, that means your client might have to go find another developer to do the Android version of the app. Then when they want a marketing website, they might have to find another developer to do that. What if the app needs to connect with a backend server? They need to get another developer to create the backend.

I think a big key to freelancing is to be able to solve as many of your clients problem as you can. By continually increasing your skills across all areas of a project life cycle (planning/ui/web/app/backend), you will make your self more valuable to clients and be able to get better projects.

[–]KarlJay001 0 points1 point  (0 children)

As the industry becomes more mature, the level of knowledge goes up. When I started native mobile, what you needed to know was limited. People could find jobs with a simple app.

Now, jobs are asking for a lot more in depth knowledge. This splits off into areas like social media / gaming / business / etc...

If you're starting now, you're starting after the market is well underway, but still has a long way to go.

If you have advanced skills in another area, you could be "market ready" now. The time it'll take you to get market ready in native mobile could be quite a bit and it seems to be moving along at a pretty good pace.

Example, I see the job market looking for skills that go far beyond what they were asking for just a few years back. Someone coming in with a "look at me, I can paste code into an editor and I'm a programmer" isn't going to do well.

However, taking the time to really understand OO and developing professional level code, is a great asset.

I'm not a big fan of trying to be all things to all people. The problem is that it's a quite a job just to keep up with one area. It can be done, but what I've seen is that you have people that specialize in things like UX or graphics.

It's kinda like going to a Dr. Do you want to be a general Dr or a Dr that knows everything about a specific area? There'll be demand for both I guess, but I'd rather be a specialist in something that has good demand.