Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Developers do need to pick a set of core technologies, and stick to it or a career can fall apart I bet. I don't know from experience. I've been a Java DEV ever since MSFT tried to hijack the Java language with a proprietary version back in 1998, and I abandoned MSFT and never went back. I can imagine trying to be both iOS and Android developer would be about as insane as trying to be both .NET and Java developer. Oil and water. Doesn't mix. For me there is one and only one word that i need to hear to know I want to avoid iOS: "proprietary". I wouldn't touch any Apple product with a 10ft pole. I like open systems, and Apple is all about maintaining their closed little private invite-only walled-garden of an ecosystem. No thanks. They may be successful a while longer but "open" ALWAYS wins in the end.


> Developers do need to pick a set of core technologies, and stick to it or a career can fall apart I bet

I hope not for my sake :) Im currently contracting writing C++, but my previous contract was with the ASP.Net stack. Before that I was working on a lot of Java services (introduced Scala to good effect)

I also have started a side business helping small companies by making small apps helping with their everyday stuff - sometimes Ill make iPad apps with Swift, but more recently Qt/QML to make something that runs on both OSX and Windows desktops natively. I also made (very small!) web apps for them hosted on both Azure (MS stack) and AWS (linux stack)

After a while learning the core aspects of a new language doesn't take very long, and they generally have to address the same high-level concerns. That said, learning iOS development was a continual hassle but feels like it was worth it to have a native app that I can deploy easily using HockeyApp etc.

edit: I will undermine my whole point here by saying that I abandoned a personal Android project because the dev environment felt so ad-hoc and duct-taped. I spent a ridiculous amount of time trying to get the simulator to render GL properly without any luck (on Windows)


> They may be successful a while longer but "open" ALWAYS wins in the end.

That only works when there is an "open" that is in competition. iOS is certainly the most closed platform but Android isn't really open enough to be competition. Microsoft is making their platform more like iOS and Android every day. Linux on mobile is a non-starter as usual.

The fact that the past played out a certain way is no guarantee that it will play out the same in the future.

I kind of agree on being a mostly single-stack developer. I dabble in C, C++, C#, etc and I'm perfectly ok with using very different platforms for very different problems. But using very similar platforms to solve very similar problems feels like a huge waste of time and mental effort.


I started as a Java dev in JDK1.1, moved to c# @ 1.3 and now apparently im an andriod and iOS dev too with Xamarin ;) I pretty much spent the last month creating a x-platform mobile app, i share 90% of my code across the server/client and havnt really even had to learn too much about the intricies of each platform to replace the current version of our product which was written in ObjC and Java.

I can program directly against viewControllrs or Activities, but i dont have to. I use Rx for all async stuff and my Views/Models are eventSourced just like my aggeregates an their views are on the server.

Not saying Xamarin is bee's knees or anything, it has its own quirks and own bugs, but in terms of andriod vs iOS dev, i dont have to buy into any of the core OS's to get the job done.


> I can imagine trying to be both iOS and Android developer would be about as insane as trying to be both .NET and Java developer.

Why is that insane? Sure, your core APIs and tooling change, but software developers should be able to learn, and read documentation. Chances are, you're writing the same sorts of applications in both, and the same principles of good software development apply. Why would a Java developer be water in .NET's oil? Or vice versa? They're reasonably similar languages targeting similar niches. It's like saying that a Django web-dev could never move to a RoR job.

I'm curious because I spent a few years self-learning .NET (C# but I love F#) because I was trying to get into the industry in a town dominated by .NET, and ended up being hired by a Java shop.


To clarify my original post: I do pick up new technologies when they come along. For example I'm using TypeScript in the two projects I'm working on, and I didn't even know it existed one year ago. My point about sticking with something for the long term to build up experience was more a long the lines of "If you think you can be both a Java developer AND a .NET developer" that is very wrong thinking. Pick one. Focus on it. It's just the "jack of all trades and master of none" effect I was getting at. Certain technologies are designed to compete with each other and using them both will only cut in half your "experience" level on each one. I appreciated (and agreed with) all the commenters saying how wrong it is to just lock onto something and try to make a career out of it: however the following are the winners: Java,JavaScript,TypeScript,HTML+CSS, and anyone who has those skills as primary on their resume has a bright future. If you don't, you're taking a risk that your "flavor of the week" will be obsoleted. 10 years from now those core technologies will ALL be in demand.


Android is not open at all, "russian Google" - Yandex - tried to build their own android phones but vendors dropped them because google just came to them and say "hey guys if you will be with them - we won't allow you to use google play on your phones at all". How it is open? i have no idea why it is open.


> Developers do need to pick a set of core technologies, and stick to it or a career can fall apart I bet.

How boring! I'd go mad if I didn't get to work in new domains with different tools every so often.


Every so often is OK, but every a new language / set of technologies with every app means you will be writing junior to intermediate level code every time.

When we are interviewing and I see CV's that have so many technologies listed that I am fairly sure they have very little depth of knowledge to many of them.


Or worked as consultants.

On our case we are required to stay flexible and take whatever projects come when one is released from a project, it is not always possible to say "I don't do X".

So every few months there is a new stack to work on.


Coincidentally I am certified in .NET development (MCSD.NET) and Java development (SCJP and SCWCD), and now I do iOS and Android development. It's possible!


> Developers do need to pick a set of core technologies, and stick to it or a career can fall apart I bet.

Over time any set of "core technologies" will be legacy and your career will be over. In this business, you'll always need to absorb and learn new ideas, platforms, technologies, languages, etc. or eventually you'll have to do something else.


I did both iOS and Android for a few years and it was fine. The only issue was the lag time for our customers for features across the platforms. With a small team it takes a lot of time implement on both. We have since rewritten the app as a SPA app and share 90% of the code across the web and Android/iOS using Cordova.


> insane as trying to be both .NET and Java developer. Oil and water. Doesn't mix.

Sure it does. We do consulting projects in Java, .NET and C++.

Right now I am doing exactly three customers in .NET and one in Java.


What has "open" won to qualify for the all-caps always?


When have open won over windows on the desktop?


See, when a cancer patient dies from a non-cancer cause, we say "the patient won over cancer."

We won over the Windows desktop because mobile killed the desktop.


so much wrong with that statement

iOS and Android are actually very similar and become more and more similar with each major revision. Where the syntax diverges, the unique concepts remain the exact same.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: