Hacker News new | past | comments | ask | show | jobs | submit login

Not iOS, but I'm fairly confident I could be productive in an Android codebase in a week.

The only reason I don't think I could do iOS is because I'd need to use a OSX, and I think it would take me longer to become productive in OSX.

It also depends on what you mean by "productive", would I want to lead a team to create a new app from scratch? Probably not. Go into an existing app and start fixing bugs and creating new features? Sure.

I did a trial week before joining my current gig full-time. I had pretty much no typescript experience, came into a large TS react/nodejs app and had a pull request on the 2nd day for a new feature.

I wouldn't try to work on a Haskell or OCaml codebase, they are different enough that I'm not confident I could pick them up quickly. But most mainstream languages are similar enough that it really shouldn't be that hard to pick them up and be productive.




As someone that has done on and off Android programming as hobby since NDK was introduced in Android 2.2, and regularly follows ADB Podcast, I doubt it.

Every Android version is basically a reboot in many parts of the framework, the device fragmentation is hardly any better than J2ME days, several features are only documented via samples or Google IO talks, Gradle plugins require rewrites between upgrades, and each Android Studio release is a box of surprises what quirks it has.


I think it really depends on what your definition of "productive" is.

Let me try and quantify it. I looked through my apps that I installed from F-Droid, then looked at their GitHub issues and picked one [0]. I bet I could implement that in less than a week with 0 Android development experience.

> Every Android version is basically a reboot in many parts of the framework, the device fragmentation is hardly any better than J2ME days, several features are only documented via samples or Google IO talks, Gradle plugins require rewrites between upgrades, and each Android Studio release is a box of surprises what quirks it has.

Does any of that really matter if you're hiring someone into an existing org? Doesn't Android have amazing backwards compatibility? I'm sure I have some dice app from 2012 that still runs. The company is probably targeting some version of Android and isn't changing to the latest one every time a new version is released.

[0] https://github.com/tasks/tasks/issues/2435


Are you trying to find a job as a journeyman developer (nothing wrong with that) or are you trying to lead a team or be a senior where you are expected to be productive from day one and maybe mentor developers and be more strategic?

Would you hire me someone who not only doesn’t know anything about Android development but doesn’t even follow the ecosystem and the current trends?


If I was looking for a job, I'd say that I have no professional Android experience but I'm confident that I could hit the ground running at a senior level and mentor juniors for Android.

I mean, in this hypothetical scenario, I've decided that I want a job as an Android developer. So I would take my own time to learn Android whilst interviewing. By the time I got a job, I'm confident I'd hit the ground running.

I wouldn't try to apply for a job to lead an Android team without at least working in one first. I'm sure some people do, but I'm not that confident ;).

> Would you hire me someone who not only doesn’t know anything about Android development but doesn’t even follow the ecosystem and the current trends?

I wouldn't hire you because you don't sound like you think you could do it.

If I was interviewing someone and they said something like: "I have no experience with Android, but I know Kotlin and I'm confident I could pick it up. I did a similar thing with x,y,z" then sure.


> If I was looking for a job, I'd say that I have no professional Android experience but I'm confident that I could hit the ground running at a senior level and mentor juniors for Android

I can say I’m a little teapot. But without demonstrated experience, why would you hire me over one of the million developers with experience and have at least shipped an app?

> If I was interviewing someone and they said something like: "I have no experience with Android, but I know Kotlin and I'm confident I could pick it up. I did a similar thing with x,y,z" then sure.

Yes because “positive thoughts” without experience means you can be effective


Already with that response you have proved not to understand the Android ecosystem.

No it doesn't have an amazing backwards compatibility, specially depending on what is cool in one Google IO, and already legacy in the new one, without replacement, like e.g. Tango, Sceneform, Fragments.

There are policy rules how old an Android app is allowed to be in Play Store.


I don't care what platform you are targeting: unless the entire purpose of your product is to take advantage of the feature (which is sometimes fair), you never ever ever EVER integrate whatever is "cool" from the latest keynote.

Regardless, while Android requires you to compile new apps with the latest toolchains to release, and you might have to update some stuff in your manifest, they do not force you to use new APIs, they do not require you to stop supporting old versions of Android, and I've seldom run into a backwards compatibility issue that wasn't some corner case involving the weird intents we have to use (as our app relies on being a VPN).


Time to acquaint yourself with Play Store policies and what should be the minimum API version for uploading new app versions, which do force to use new APIs, that is the whole point behind it.

Here have a go at it, https://support.google.com/googleplay/android-developer/answ...

Besides the whole Android example, was just that, I can give several examples of technology stacks where having a passable knowledgeable of a programming language, without the associated frameworks that are being used in the company, makes the candidates a no hire, unless they really excel themselves at the interview, assuming HR even cares to call them in.


sigh, look again: you have mixed up "target" with "min" :/. This is a critical distinction that you can't just gloss over: you simply are NOT forced to use new APIs just because you bumped the target... at build time it might activate the ability to choose to use some new APIs if you want to, but the biggest effect it has is at runtime to affect the various subtle--and extremely limited--backwards compatibility behaviors I mentioned (similar to how iOS uses the version of UIKit you linked your app against) which tend to mostly limit specific scenarios where security issues or bugs were found in older designs.

FWIW, I am seriously the build engineer for an Android app distributed in the Play Store (and have maintained apps for Android since the platform launched and it was still called the Android Market), and I'm telling you: you are not just wrong, you are being loudly wrong... not just about this (where the wrongness frankly feels egregious at this point), but your entire point: I have taught classes at the university level on how to rapidly pick up programming environments, and the lead UI developer I hired for our company had almost no experience in the toolkit we are using before we hired him and he's doing fine with it.


I might stand corrected on the Android example.

As of the rest, in most companies I worked on, unless the higher ups are bypassing the hiring process, due to networking and acquaintances, such CVs never get through HR first round of filters.


>There are policy rules how old an Android app is allowed to be in Play Store.

yup, but we're not talking about new feature to removed in 2 years level of radical changes. It's still something coporate uses and coporate doesn't latch on every cool feature.

You can probably expect your newest API app to work in 5 years if you don't touch it. You probably can NOT expect it to work in 10 years. That just means you need to make sure you're never 3+ years behind on using deprecated features.


> It also depends on what you mean by "productive", would I want to lead a team to create a new app from scratch? Probably not. Go into an existing app and start fixing bugs and creating new features? Sure.

As someone with experience, are you actually applying for jobs where you would just be pulling stories off the board doing “feature work”?

And let’s take your example. What’s the chance of me being productively able to create a feature in a Typescript/React app seeing that I haven’t done front end work since 2015 and even then it was server side rendering with ASP.Net MVC and bootstrap.


> As someone with experience, are you actually applying for jobs where you would just be pulling stories off the board doing “feature work”?

I dislike the whole Agile stories/points/sprints thing, so probably not those jobs. But if you're asking if I'm applying to jobs where I write code, then yep! I love writing code and building things.

> And let’s take your example. What’s the chance of me being productively able to create a feature in a Typescript/React app seeing that I haven’t done front end work since 2015 and even then it was server side rendering with ASP.Net MVC and bootstrap.

I don't know what other experience you have, but probably. At my previous job, I got a bunch of silicon production test engineers, that spend most of their day writing VBA, "productive" in React within a week.

I setup the base of the application and sorted out the routing, state management and abstractions for dealing with our data. But they were writing views and features after a week pretty well. I had to point out some performance issues in code reviews but that was mainly it.


> I don't know what other experience you have, but probably. At my previous job, I got a bunch of silicon production test engineers, that spend most of their day writing VBA, "productive" in React within a week.

It depends on your definition of “production”. I got a couple of developers who had spent a decade+ supporting a PowerBuilder app and writing stored procedures.

Their C# code was a horrible mess.

My former CTO (55 years old and his idea of research was coding POCs - smart guy), said he wouldn’t hire “old people” any more to do front end work because their front end designs weren’t as good as people who started out doing front end work and have been doing it for years.

All of his back end developers/architects were older.


If your resume shows you job hop regularly, then I’m going to want you to be productive very quickly.

If your resume gives me the impression that you are likely to still be working here for enough years, then I’ll give you time to get up to speed. If you were a really great front end developer in 2015, I suspect you can figure out Typescript/React.


I sucked back then too at front end development :).

I knew enough to copy/paste/pattern match an existing page and make the necessary change. But you start me with a blank slate and give me a mock-up, I would end up using tables and frames like it’s 1999.


You could be productive in a not-so complicated Android codebase in a week.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: