Leaving Apple Inc
minimaxir.com
minimaxir.com
> Having received no responses internally, I realized I would have to expand my search to outside of Apple.
I literally just went through this exact same process, coming from Apple, and looking for Machine Learning/ Data scientist roles. Only people hiring internally wanted graduate degree credentials in the field. I hope you find what you are looking for! Some time off to work on side projects to skill up and get a portfolio was my plan A before I accepted an offer.
It worries me as a shareholder though.. These are just anecdotes and I don't know if they actually represent a trend, but in my case I wish Apple was better about internal transfers.
Edit: you are living the dream and I am definitely going to follow this blog to vicariously learn. Congrats on having the balls to just do it.
I didn't even know that Apple collected information until I saw an article detailing how to secure mac OS. Which, I think is worse.
I don't want to turn this into a tired apple-vs-windows thread, so if you can't see why Apple's lack of ads on their desktop is indicative of a fundamentally different view of their users, and a selling point for me, you are free to do so. I see a difference worth paying for (and you are free to call me a sucker I guess).
For emphasis, I have absolutely nothing against Apple, and I wish I could have stayed.
Although similar circumstances with internal transfers is certainly an unexpected coincidence :P
I'm in the public sector in a Scandinavian country mind you, so it's not like AI experts are lining up. We tried retraining, didn't work. Then we tried retraining some more, this time with outside consultants, didn't really work out either. So we hired a new graduate who had specialized in tensorflow during his degree, who (obviously?) blew our small progress away.
Now this is anecdotal, but being the public sector we share experience openly with each other, and I'm hearing the exact same story from every other muniplicity in our network.
Would be interesting to hear about what you do machine learning for in the public sector. Could you share a bit?
Once machine learning has OKed a case we used a software robot to archive it automatically.
Because it was an experiment and also a job that had to be done. We did it simultaneously with as a competition of man vs machine.
The man power was a team of expienced case workers working on it 37 hours a week. The machine was two new teams, one in RPA and one in machine learning.
Both proceses ended up taking roughly 3 months, but the "tech" team spent a lot of the time learning how to use the technology and quite a bit training the algorithm.
Once the tech team and algorithms were ready, the actual processing time took 5 hours in the Azure cloud.
Now we have a process for finding specific documents, however, and I'm told it'll take 1-2 weeks to retrain it, meaning it'll be 1-2 weeks + 5 hours vs 3 months next time.
> One example we've done is sort through 500.000 personal cases, containing multiple documents, some documents containing up to 50 scanned pages to find cases missing a specific law required form.
Forgive my ignorance, but how is this not a case for OCR + indexing? I assume that the form would have some specific texts that can be found once it's processed with OCR, what is there to machine learn?We are doing some more traditional stuff in BI, but a lot of it is relatively secret, in the very early stages or even getting shut down because legislation in the area is changing rapidly.
We tracked citizen movement in our inner city based on wifi from smartphones for instance. Then we compared the data with various attempts at directing crowd flows. With a decent success rate, much higher than before we started using machine learning to score the results. We've killed the project though, because the new EU privacy protection acts makes that sort of wifi tracking illegal.
It's hard to get the specialization that a degree provides you, working on the side with normal work.
They go through a hardcore selection and intensive training for 3-5 years in the field. It's jackpot if he has an internship related to the job.
Picking a random people who wants to reconvert is unlikely to yield any result. Certainly missing the years of training on maths/statistics. Probably missing any experience in any related area.
This very much varies depending on the team you're on. I had no issues transferring from QA to engineering, but it's very much about who you know. From what I see my experience was the exception, and most people looking for internal transfers fared much like the OP. If you don't have a prior relationship with anyone on the teams you want to move to you're in for a rough ride. This is easier said than done because Apple is far more silo'd than other tech companies.
Apple was ridiculously siloed at least when I was there. There was such a culture of fear around leaks that teams shut themselves away from everyone else unless there was a reason to work together. This made the idea of internal transfers a remote possibility.
The only way to get to know people was WWDC and meeting colleagues at bar.
My advice to anyone interviewing for a QA position at Apple is that if you're not really excited about QA or think you can move out later, don't bother with them. They say a lot of lies to get you in the door concerning career progression.
What advantages does the candidate expect from being an internal transfer, and what can we fairly offer them? To me, an internal transfer has a sizable advantage in that they are a known quantity in many aspects: You can ask them in much more detail about previous work at the company, you can talk to their co-workers, you have a clearer sense of the projects you were involved in, and in some cases you may already have personally worked with them.
Where we DON'T cut the candidates any slack is the technical side of the job, and QA is usually different work from engineering. So the candidates still stand or fall based on the technical interview.
The controversial aspect of Machine Learning jobs in particular, and the situation you described, is credentialism. In many areas of software engineering, credentials are indeed overrated, but Machine Learning IS a very technical field, requiring rather advanced math to truly understand it (rather than just blindly plug together pieces from an ML toolkit), and right now the field is undergoing revolutionary changes, so this is one area where a recent graduate degree really DOES convey a concrete advantage.
It should not be an INSURMOUNTABLE advantage, but you'd have to be a very impressive non-academic candidate. What ML papers have you recently read? How would you plan to apply them in the job you're aspiring to? What contributions have you made to the field?
I'm not saying the people they picked over me are worse though, I'm just sad they couldn't have picked us both :D
Therefore, making your boss want to quit is an effective career strategy. The more ruthless you are, the more likely you are to advance. Over time, the upper echelons get filled with sociopaths. That's not theory, BTW. I've seen it play out too many times.
I sometimes wonder if people working in these companies are genuinely deluded about how stupid their processes are.
- It might say that you have some experience that could save the new company a lot of money.
"It's just cheaper to higher the new CS grad for $80k year."
- $80k is only the debit side of the balance sheet so so "cheaper" is correct. But "more economical" might not be.
I found it a bit surprising that many other companies only do a few interviews, use only external recruiters and have never tried to do any form of publicity nor recruiting event.
Many of them had not even looked at my Github profile.
It always blows my mind to see QA or DBA or Sysadmins with great degrees. Maybe that's the job they want OR they got siloed because of their first job.
Time off is a genuine plus (I haven't taken a real vacation in the past 5 years), but I do legitimately need more time to focus on interviewing/networking.
This assumes demand for engineers is still high. It's been awhile since I've done this.
Using "EU" as a blanket term is misleading, as always.
It's not given by the law. By the same token, you can have 4 or more weeks of vacation in the US - if the employer agrees.
In practice, most of the employees do not even ask for 4 weeks at one. Most of them want a week during Christmas, a week during winter for skying, a week in the summer, etc. In some cases, the company can make you to take mandatory vacation at the time when they need it, and of course it is taken out of your four weeks. Car makers, for example, often shut down the entire plant in the summer and everyone gets their vacation then.
So the vacation time is not that clear-cut, not even in EU.
Interesting. Could someone with HR experience elaborate, what recruiters are actually looking at?
- HR people usually won't have the technical skills needed to evaluate blog articles, let alone code on GitHub
- a certain % of the recruiters is interested in a more superficial hiring process. It's about getting candidates with resumes to interviews, not about evaluating just how much machine learning expertise someone really has and how this matches with the exact problem set the client company may have.
(If you now think that this means there is an opportunity for real technical recruiting, then please, go for it! Identify which programming(-related) tasks are suitable for beginners. Find exiting and rewarding work for top candidates ...)
I put a good amount of time into my personal projects and while I didn't make them only to get an interview it seems like such a huge oversight on behalf of the potential employer to not even look at what I might be able to build. It's also disappointing that they don't look.
Can anyone tell me how common is it in the Bay Area to get opportunities based on your online presence? In India, I have seen that being well connected on LinkedIn is the most significant factor in getting contacted by technical recruiters. Although, blogs and projects are nice to have, but doesn't necessarily mean you'll have more offers on hand.
Nice.
There are times, when things are in one of their gross phases here, that that is literally the only reason I stick around.
Nice.
Arg, I was going to engage, but just... whatever. Ok yeah, it's impossible to live in the bay, HN is gross and only valuable for money, the world sucks.
Sorry, it's not even you. It's just this running joke of dissing on HN in passing (not even a solid critique or actionable complaint) that's getting a bit old. It seems like a common sentiment, but I know this is just randomness/selection bias doing its thing.
But it's slightly frustrating when the disses are sandwiched around the substance, so there's no way to even respond to them without by definition being off-topic. So you end up getting a free, cheap shot.
Anecdotally, the mods work their butts off, so if there's something specific that you're hoping will change, they're more than willing to listen. Especially if the community starts collectively nodding in agreement. Though usually it's better to express this in a tangentially-related topic.
As for the latter, I edited it before your reply because I didn't really feel like getting into it because it's late--but I will be straight with you, if there's a "running joke" out there I certainly wasn't participating in its spread. Those critiques--and I'm happy to shoot the shit about them, my email is in my profile and you're welcome to say hey--don't belong in this thread.
Many people do those things simply to get a phone call or email back, and have no leverage at all in the actual technical interview process. And there is no shortage of technical interviews in programming, very common for a job seeker to do 12 - 15 interviews at different companies during their interview cycle.
So again, standing out to recruiters is not really worthwhile. Although recruiters that do look for those things will swear by finding candidates with public github contributions, but thats how they avoid living in tents, but its not an objective reality.
The quality of his content, I can't attest to, but he certainly put himself out there and someone was bound to notice - especially with TC's viewership.
He's probably worth more to a company if he works in marketing. What a brilliant way to market himself.
I remember about 4-5 years ago when you couldn't read a single TechCrunch article without a witty comment from Max.
He even mentions how he got interviews after someone found his comments on TechCrunch.
Max is a very smart marketer with strong communication skills. IMO, he would be more of an asset in a role that leveraged these skills along with his technical knowledge
https://github.com/minimaxir/facebook-page-post-scraper/blob...
Curious, what is there that you especially like? I only noticed a couple things that is different from what I usually see (and write):
- newline after function declarations
- assigments with `= x if pred else y` style and trailing \ formatting
# retrieve data
data = json.loads(request_until_succeed(url))
Not ambiguous, but better done by just naming the function in such a way that it's obvious that it's the thing retrieving the data. And: num_processed = 0 # keep a count on how many we've processed
Is another example of a comment that doesn't compliment the code, but just distracts the reader from information they could equally, more accurately & more briefly have gotten from reading the corresponding code.How helpful depends, of course, on the style of the code; in particular, it gets less helpful as the length of functions/methods goes down, and in the limit of "ravioli code" where everything is decomposed into 3-line methods whose main task is calling other 3-line methods, it doesn't help at all and the sort of comment you need to help with skimming is an overview of how the pieces fit together. At the other extreme, if you have the sort of 1000-line function that's quite common in e.g. numerical code, these structure-sketching comments can be invaluable.
Agreed; the original code was a part of a tutorial (http://minimaxir.com/2015/07/facebook-scraper/), hence the more liberal comments for clarity. (after my refactor, I'll remove a few)
See another one of my recent Python scripts for an example of more conservative commenting: https://github.com/minimaxir/tritonize/blob/master/tritonize...
Full disclosure, I've been working on that code today (unrelated to this blog post), and the formatting is mostly done through linters. (e.g. autopep8, and abusing the Format Document button in VS Code)
There are still a few PEP8 violations which the linter doesn't fix (e.g. the 79 character width) and there are still a few things that need fixing. (after I commit my 4x speedup refactor, anyways)
Relevant VS Code settings:
"editor.rulers": [80],
"python.linting.pep8Enabled": true,
"python.formatting.provider": "autopep8",
"python.linting.pylintEnabled": false,> ...
> Data analysis live-streaming with augmented functionality on Twitch.
No thank you.
If you think that no, you don't have the time to type out a full sentence like "sorry, I prefer screencasts that have fluff edited out" or "I prefer text because the information density is much higher", then maybe you should say nothing at all.
What did you have in mind? I myself am not a fan of the layouts typically popular for games (see: https://twitter.com/badlayouts), which is why I have a few different things in mind.
We don't need to see a talking head.
You're right. My response was not helpful and I should not have responded. This sort of thing is simply "not my cup of tea", and I was not adding to the conversation. May this be a reminder to myself and others that this place is not Reddit. (That's a good thing.)