Hacker News new | past | comments | ask | show | jobs | submit login
Carieer path advice: .NET vs. iOS
18 points by pandas_seeker on March 10, 2022 | hide | past | favorite | 22 comments
presuming that you have on the table two offers: one for fullstack .net (C# + angular, react or blazor) and one for ios developer. the interesting part is that both are almost identical (salary, office, benefits etc.)

an advice will be very welcome - what will you choose and why?

p.s. my background is mostly backend in golang (so the technology switch should be done anyway). and yes - I googled it but decided to ask here so that search engines bubble filters can be excluded..

p.s.s. I'm fine with both ones (maybe a little more inclined to choose ios). But interested also in your opinion about eventual perspective (looking into the future) related to chosen path.




I've recently gone back to the .NET world after a decade long foray into mobile and front web dev. Honestly, I wish I'd gone back sooner.

.NET isn't popular with the cool kids, and you rarely see it mentioned here on HN. But man, it's just a joy to develop in. The C# language is incredibly elegant, the libraries are very well thought out, and Visual Studio with Intellicode just feels like a modern miracle. Development just feels really, really fun again.

One point to keep in mind with .NET: it also opens up the world of Unity dev to you. And there's a ton of really fun development to be done there in games, VR, etc. At the moment my days are filled with cranking out APIs for business apps, while my nights are filled with playing around with cool VR ideas in Unity. All in the same IDE and language.

The downsides to the .NET world: as others have and will mention, the great bulk of the opportunities out there will be in the business world, doing fairly mundane dev. But, they're stable (and relatively easy) jobs. Also, I find more often than not that your typical .NET project is horribly overengineered with layers upon layers of needless abstraction. (Now that I'm realizing just out easy .NET dev is, I'm beginning to suspect all the needless abstraction is just bored devs making themselves feel relevant.)

But you won't go wrong with either choice. iOS dev can be a lot of fun too. Good luck!


Both are good choices, C# jobs are typically more boring, iOS jobs probably are more frustrating day-to-day having to deal with Apple's developer abuse and relatively antiquated ideas around software development. Pick your poison I guess!


.NET spills into iOS development (as a backend - I wont mention razor), but iOS wont spill into .NET. By that measure .NET is a better market.

.NET is HUGE in Europe, great rates (100EUR median hourly rate for consultants), hard to find good people.


.NET Core is open source, gaining in popularity, and not going away anytime soon.

iOS is the minority platform in all markets and likely to continue to shrink in the face of a free competitor. If you were doing iOS app development for yourself as an independent developer then it would shift the equation a bit since iOS apps have always had more revenue allowing you to charge a slight premium over Android.

I've done both .NET and mobile in my career and plan to stay on .NET for the foreseeable future. With your background in back-end Go I think .NET would be a better option.


If you are referring to Android as being the “free competitor” I would suggest you pinch yourself to see if you’re not dreaming. If you are referring to some niche spinoff of android that doesn’t link into the play store than you can disregard my suggestion.


> iOS is the minority platform in all markets and likely to continue to shrink

With over 1 billion active devices[0] (practically all running a current[ish] version of iOS[1]) ... I don't see "shrink" happening any time soon

-----------

[0] https://www.theverge.com/2021/1/27/22253162/iphone-users-tot...

[1] https://www.digitaltrends.com/mobile/ios-distribution-news/


Much of it depends on your goals and what you enjoy doing. Having said that, I did iOS software development professionally for a few years and then decided to move away. Why? For me there were two main reasons: (1) I noticed the insatiable desire by product management folks to want to spy on the user and I didn't want to be part of that, and (2) I didn't want to be stuck in a situation where I needed to continuously buy all of Apple's latest and greatest iOS products on my dime.


i’ve done ios dev professionally since ios 5.

pros: there is no shortage of roles, my experience has been (especially now) that skilled ios devs are always in demand.

it’s fun to work on mobile software, imo —- you get to live in a cool space where good software and good UX are both essential. hopefully you like doing lots of UI debugging and thinking about performance.

you get to work a lot with product and design on almost any consumer mobile app you dev for. fun if you like collaboration

cons: for the same reasons a niche is a good thing, there’s an eventual ceiling. you could probably sell your mobile experience and jump into an android or maybe front end web dev, but it’s easy to get “stuck” which is bad if you like versatility

there are definitely some annoyances in dealing with the “walled garden” or whatever you want to call it.

app store can arbitrarily decide you can’t visually style your app a certain way anymore (had this happen)

provisioning devices is annoying though has gotten less bad

i could go on… i’ve done it a long time and made a career out of it and really enjoyed it! if you like the idea of making products that are in people’s hands day to day it’s the right way to go.


Neither appear to be going anywhere anytime soon. Whichever technology you enjoy(or think you would enjoy) working with more.


Speaking as someone with 14 years of .NET development, who's also managed full stack and mobile teams, I don't think you can go wrong with either. Honestly, you should do both in your career. You'll learn different things with each of them.


I'll pick iOS, because that complements my Android experience. In some situations, it's preferrable for mobile app devs to able to work on both platforms. And thanks to Flutter, React Native etc, it's relatively easier.

I occasionally do backend stuff, though. Sometimes in PHP, sometimes in Go.

On the other side, not familiar with .NET development scene. At least on Indonesia, it's not that popular. Major established companies like telcos and banks still use Java, while the cooler startup folks prefer Node, Go, Ruby etc.

I suggest you try iOS first, simply because Go still lacks manpower/resource for mobile dev. If you don't like, then try .NET, then :D


I've been doing .NET development for 14 years now and still enjoy it. C# is an evolving language and now that .NET is an open source cross-platform framework it's even easier to work with it.

I've mostly worked at SaaS startup companies, not quite line of business apps so still a good amount of challenge. I'd take the fullstack .NET position personally, I find mobile development to be most frustrating than web development.


Xcode is still bad after two decades even though I love the ecosystem and jetbrain’s appcode doesn’t make it better either


All I hear about is how in ios there are a few giant apps and the rest don't even make money. I suppose you could work on corporate apps but that sounds remarkably similar to line of business .NET appslications.


Do you want to do mainline business software development (.NET) or mobile (iOS (which is really Swift/Objective-C/etc))?

Both are great options


They’re both great, I’d let other factors pull me (salary, location).


Xamarin?


At my current job, they initially started with a Xamarin app as an mvp when they were an extremely small team and had mostly .Net developers.

I got hired when they were expanding some and the first company outing was a celebration of the native Android and iOS apps being released so no one on the team had to ever work with Xamarin again.


iOS is closed enough that you're entirely at the mercy of the behavior of a single company. .Net is at least nominally open source so at the end of the day if Microsoft does something unacceptable with it you can take your ball and go somewhere else. Personally I avoid closed technologies for that reason but if it doesn't bother you then you should do what you want.


MAUI is a great option. Multi platform written in .NET.


MAUI isn’t ready yet (it’s behind schedule), and it’s the new version of Xamarin Forms which nobody really likes. I think it’s a bit too early to say if it’s a great option.


.NOT is a a trashy mutant ms technology, if you want to deal with bugs, idiocracy and CRUD, go get it, Office Space awaits. Nothing good ever come from .NOT iOS developers are just in complete different league, they are elites, best of the best.




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

Search: