Safari support (and even chrome, FF on macs) is horrible. They've become the new IE in terms of typical web programming that works everywhere except that platform. In the past year, every browser-based support issue we've had to deal with across multiple projects is due to Safari not handling things the way the rest of the browsers do.
Worse, there's issues that are specific to Apple devices (iPad rendering of certain CSS, works everywhere else, including Mac's own emulators, but renders fubar on the actual iPad), leaving the debugging/fixing process a trial and error issue. It's horrible.
And even worse, this can't be debugged on anything but a Mac anymore, so if you don't use Mac as your primary dev platform, you're near-screwed when it comes to trying to resolve web app issues that only arise on their platform.
Then there's mobile app management, which is just as bad in it's own way. We had an app on the App Store for three years, then all of a sudden during one minor maintenance update they decided it wasn't allowed on the store any more and immediately pulled it. Thousands of business users affected, and two months to get the app propped back up on a custom business distribution channel, thousands of dollars worth of process re-development, etc.
Apple is the absolute worst platform for business-productivity programming. They screw the developers with a far stiffer rod than any other company has ever done.
I got fed up with Win10 last year and finally switched to a Mint distro. I run a software development company that works on the MS stack. I stuck with Mint for six months and finally switched back to Windows.
I didn't find it particularly difficult to set up. Some things are much easier (TAP drivers for connecting to multiple VPNs and running side by side remote sessions to difficult workstations across different networks, for instance). Even setting up a Windows virtual box was no biggie.
There's two reasons I switched back: 1) lack of consistency across applications is hampering to productivity, and 2) lack of stability in the application/tooling is hampering to productivity.
I gave myself 6 months to let myself get used to it, and there's a great many things I loved about it, but in the end it was less of a hurdle to deal with Win10's oddities than it was do deal with various inconsistencies and "usage maintenance" of getting having a suitable, productive workspace across Linux (and yes, I realize a large part of this was due to the fact I essentially run an MS-development shop and therefore have to work with MS tooling, but on the other hand, everyone working in any end-user business scenario has to work with Office documents, etc.)
It comes from many different places and is cross-correlated at many levels. From credit card purchase history to social media to phone location data, across multiple agents and brokers throughout the data market. See: Data Breaches, Crisis and Opportunity (ISBN 978-0-13-450678-4)
Part of the problem is that this type of data collection and market environment evolves much more quickly than legislation can ever keep up. They're trying, but..
The data is all over. It goes through brokers and agents and multiple companies that perform various aggregations and shapings... Data Breaches, Crisis and Opportunity (ISBN 978-0-13-450678-4)
Data Breaches, Crisis and Opportunity (ISBN 978-0-13-450678-4)
I always "knew" that mass data is evaluated for many things, but I had no idea how much I didn't know. That book - besides being an excellent reference for anyone responsible for protecting data - is unsettling in showing the depth of the market and how it works. The topic headline doesn't even scratch the surface.
I completely disagree. A good full-stack dev knows SQL pretty well: at least well enough to be able to work through the general questions in the document. Good SQL skills are essential, and the lack of good SQL developers I would attribute mostly to ORMs that abstract it away so mediocre developers can mostly ignore it (which makes the job a whole lot harder for people that actually DO know how a relational database works, and give it the respect it deserves)
This isn't rote memorization at all. They're typical real-world problems to solve, and the point is to ensure the candidate can "think their way through" the problem to come up with a solution: not to come up with a solution using a specific function or keyword.
Uncle Bob is overrated. He's the personal embodiment of the "for dummies" series of the industry. Quick to say what everything should look like, he's given many people a false sense of direction by making no mention of all the reasons why something shouldn't look like that. If you're reading Uncle Bob material and not scratching your head a bit thinking "are you sure that's right?", do yourself a favor and go find some Fowler material instead.
Last year I got an iPad, my first Apple device (I needed ForeFlight for flying, and it's only available for iPad). I downloaded a few manuals for ForeFlight, which apparently went to Books. I pulled one up in Books, spent a few minutes glancing and things, and spent the next 15 minutes trying to figure out how to get out of the current book back to my list of books. Finally took it to my wife (a long-time Apple fan), and it took her about 3 minutes of tapping and dragging various places. In the end, neither of us knew how we did it.
Worse, there's issues that are specific to Apple devices (iPad rendering of certain CSS, works everywhere else, including Mac's own emulators, but renders fubar on the actual iPad), leaving the debugging/fixing process a trial and error issue. It's horrible.
And even worse, this can't be debugged on anything but a Mac anymore, so if you don't use Mac as your primary dev platform, you're near-screwed when it comes to trying to resolve web app issues that only arise on their platform.
Then there's mobile app management, which is just as bad in it's own way. We had an app on the App Store for three years, then all of a sudden during one minor maintenance update they decided it wasn't allowed on the store any more and immediately pulled it. Thousands of business users affected, and two months to get the app propped back up on a custom business distribution channel, thousands of dollars worth of process re-development, etc.
Apple is the absolute worst platform for business-productivity programming. They screw the developers with a far stiffer rod than any other company has ever done.