2 ms·
APIs are documented (hopefully) and can be rote-learned or looked up. If someone has the general skill of "learning APIs" then they're going to figure out Andro
by closeparen 6y ago
APIs are documented (hopefully) and can be rote-learned or looked up. If someone has the general skill of "learning APIs" then they're going to figure out Android or QT or Rails or Spring or whatever the problem requires. Not as quickly as someone who already knows, but I wouldn't doubt their ability to ramp up.
I'd be more worried about paradigm shifts like higher order functions, manual memory management, OOP, concurrency (also between "share by communicating" and "communicate by sharing"), glue code vs. algorithm code, monolith vs. microservices, embedded vs. server side.
- scarface74 6y agoThere is a lot more that goes into learning an entire stack than “documented APIs”. Are you saying that because I know C# I could go out there and start developing games in no time since Unity is well documented? So you would really hire me to be an Android developer who has only written 20 lines of production code in Java over 15 years ago and the only mobile development I’ve done is on ruggedized Windows CE devices almost a decade ago, over an experienced Android developer? Let’s say I know AWS pretty well (which is the truth I work there as a consultant), and I do most of my AWS related scripting and development on top of AWS in Python. How useful would that combination of knowledge be if you told me to do the same type of thing on Azure or GCP? I wouldn’t even know where to start, I don’t know anything about either. On the other hand, if you told me I had to build the same sort of solution in Rust, a language I’ve never even seen, I’m sure I could pick up the language in a weekend, include the appropriate SDK and be just as efficient as someone who has been working with Rust for years building the same type of solution on top of AWS.
- closeparen 6y ago>I wouldn’t even know where to start, I don’t know anything about either. I'm willing to accept that your mind works very differently from mine, but this is extremely surprising. I take my concept-map of AWS, superimpose it on GCP, and start connecting the most similar nodes. I go looking for the VM service, the DB service, the load balancer service, the cache service, the firewall rules. I read the getting started guides for each, try to do with them the things I would do in AWS, check the reference manual when you I get stuck. Of course I may get burned if the corresponding services turn out to differ in important but subtle ways, particularly "folk wisdom" ways like quality and maturity. But I can definitely get started. >So you would really hire me to be an Android developer who has only written 20 lines of production code in Java over 15 years ago and the only mobile development I’ve done is on ruggedized Windows CE devices almost a decade ago, over an experienced Android developer? If I thought you were better at CS fundamentals and at least average at learning things, absolutely. Not to start an Android team - I'd want someone who has already learned the undocumented gotchas to be reviewing your code. But if I think you have the general muscle for learning software ecosystems, whether it's yet been applied to this exact one is a detail.
- scarface74 6y agoI take my concept-map of AWS, superimpose it on GCP, and start connecting the most similar... And then you would end up with a costly unoptimized solution that didn’t take advantage of what GCP had to offer just like the lift and shift “consultants” who first introduced me to AWS when I was a dev lead. They were a bunch of old school infrastructure guys who passed one multiple choice exam and thought they knew AWS (at the time unfortunately they knew more than I did). They set up a few VMs and load balancers, and called themselves “moving us to the cloud” when in hindsight our product could have been much easier to maintain if they had any clue about how to leverage any of the native services that AWS had to offer. (I’m talking way out of my league in the paragraph below). If you didn’t have any GCP experience how would you know whether setting up VMs was the right answer or just use Google Cloud Functions? How would you know whether Firebase would meet their needs better? Would you know whether a certain pattern service met HIPAA compliance? Would you be sure that you set up your permissions securely? You went right to setting up VMs because that’s all you know about GCP. That’s all I know. Do you even know what you don’t know? Can you be sure that your decisions won’t cause a security breach? Cause the company to spend more money than necessary? Of course as I said before when it comes to GCP/Azure, I don’t know what any of the services do. I’m sure someone who knows GCP/Azure could look at a problem and tell them a better solution than “set up a few VMs”. Just like I could with AWS. Of course I may get burned if the corresponding services turn out to differ in important but subtle ways, particularly "folk wisdom" ways like quality and maturity. But I can definitely get started. Knowing “where to get started” is not good enough when you have to worry about all sorts of compliance issues..,and your (theoretical you, I have no idea what you know or don’t know) solution would end up costing more just like every “lift and shift” solution with no optimizations seem to. If I thought you were better at CS fundamentals and at least average at learning things, absolutely... So instead of hiring an experienced Android developer - there are plenty - you’re going to trot someone in front of a whiteboard and have them reverse a binary tree? When I was either responsible for hiring or could give the thumbs up or down in the real world at small companies where each IC was expected to hit the ground running, we weren’t going to spend six months letting them ramp up when we were growing fast and introducing new features (microservices) that could bring in revenue.