> However, after a few years, I realized that my technical skill growth was stalling, so I looked for an an internal transfer to another department, ideally in a data analysis/software engineering role.
> 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 transferred into my current job a few years ago, and this year, I interviewed two transfer candidates, one of them (not you, I'm pretty sure) a QA engineer who wanted to move into an engineering role, so I might have some thoughts on this situation from the other side:
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 was trying to transfer as an engineer to another engineering position with the possibility of growth. These were not pure research positions, but positions with a fair amount of scaffolding making internal tools or productionizing a system alongside a team of existing experts, and so I thought my good performance being an engineer was going to let me move to a place where I could do more or less what I had already been doing, while learning and having room for growth. I had no illusions about being competitive for the actual machine learning _research_, having only taken online classes and done a side project. But there is a lot of schlep in managing data and then getting a model into production I knew I could do because I had done very very similar things successfully.
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
The thing about machine learning is that, unlike with robotics RPA, new graduates in the field are so much better than anyone else.
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.
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.
My point, which I think you validated, is that if you want to retrain people, you need to put serious effort into it. A graduate will have at least 1 full year focusing on the topic and the large part of the remaining time was spend on fundamentals and related topics.
It variates, and it's in the earl stages. 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.
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?
You're correct, it was mainly OCR, but we categorize this as machine learning. Partly because we use public machine learning algorithms to do it, but also because we're planning to do a lot with OCR coupled with other data sets and a range of IOT initiatives. Things like predicting where we'll need to water trees, prioritize areas for snow shoveling or schools for renovation, how to control traffic flows and a range of other things.
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.
As for Scandinavia and Denmark in particular, I can highly recommend looking in to people coming out of DTU Compute. There is also a yearly fair (DSE) where companies can meet with students looking for work/internship. I went as a student this year and had great time talking about practical ML with SKAT, the Danish Customs and Tax Administration.
Identical story for me : left Apple after >6 yrs in hardware, parallelizing optimizing compiler history, excellent reviews, impossible to find transfers internally to leverage grad experience, and internal rules were forcing stagnation, so I left, and don't regret it, though believe in Apple long term too.
I really want Apple to succeed. My experience was they genuinely had their hearts in the right place and I want to be able to buy high-quality, privacy-conscious hardware and software, something of a rarity these days.
That perception means they risk to lose real market share if they get caught doing something shady. Which means they don't do shady things in my experience.
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).
Anecdotal counterpoint (from a throwaway account for obvious reasons)...
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.
> 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.
At least under Bertrand, Apple prioritized hiring QA people with Comp Sci degrees. So it meant a lot of QA people wanted to move into engineering and the process would take years.
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.
That makes sense though right? You'd want Apple to select the best candidate for the job. Ideally that someone has a PhD in CS with a focus on ML. I don't see the issue here.
See my comment above, wish I could edit to clarify that I didn't think I was competitive for the _research_, just all the software engineering that comes with it.
It's not Apple, very few employees get the career growth they want internally. Almost always raises and advancements happen by leaving and coming back (or not). Good luck! Enjoy your time off.
And, to be fair, only exceptional organizations let you keep pace with your experience both in responsibility and in salary. It's much more typical for advancement to come through political moves and/or attrition (your boss quits, you're the backup, so now you're the boss).
> It's much more typical for advancement to come through political moves and/or attrition (your boss quits, you're the backup, so now you're the boss).
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.
That's because "we only hire the best." Also "we have not invested in our own hiring process so it's a total crap shoot but we aren't even cognizant of this fact."
Actually no. The industry has changed a great deal in just the last 5 years. I think the days of just having Google or Apple on your resume and getting another gig are over. The only thing having a high profile company on your resume says is that you likely need a high salary. It's just cheaper to higher the new CS grad for $80k year.
I recently changed jobs, and most I realized companies are atrocious at hiring.
I came from a bigger company that invests heavily in hiring.
They spend tons of cash and employee time in activities to spur hiring, and it's the only place I've worked full time.
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.
I don't know anything about what it is like to get a job in the tech industry in the bay area but I am surprised that working at Apple for a few years doesn't make it much easier to get a job.
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.
I have been pretty vocal about how retarded their hiring processes are, including on hacker news. You should see how many downvotes and comments I get from people supporting current hiring processes.
I sometimes wonder if people working in these companies are genuinely deluded about how stupid their processes are.
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.
Why not? It depends on your agreement with employer. In my previous work I had a colleague who used to vanish to Himalayas for at least a month every year.
As you said, it depends on your agreement with the employer.
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.
>After years of building up my portfolio, it became apparent that most outside recruiters I talked with never looked at my blog/GitHub, despite a strong emphasis of both on my résumé.
Interesting. Could someone with HR experience elaborate, what recruiters are actually looking at?
I'm not a recruiter but I always ask the person interviewing me if they've looked at my personal projects and/or GitHub. The answer is usually (9 out of 10 times) no.
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.
- 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 ...)
> At the end of my senior year, I received an e-mail from a Software QA Manager at Apple (who followed my comments at the bottom of TechCrunch articles) inviting me for an on-site interview.
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.
An engineer with all those things will get the same salary as a new grad or someone else with a few years of experience (or even a coding school grad), in the bay area.
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.
This guy was prolific on TechCrunch though. He was probably in the top 1% of commenters if not the top. If you went to TechCrunch at all, you were bound to run into his name.
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.
Anecdotal: though I'm far from a top contributor, the CTO at my first job out of school eventually confessed that it was my Stack Overflow profile that convinced him to make the call.
Not in the Bay, because I like being able to afford living, but in Boston--and probably a solid 10-15% of my business as a consultant comes from Hacker News posts. Not just devops stuff, either; not too long ago I consulted on something much more general software-dev after being noticed with a one-off post about something or other.
Not in the Bay, because I like being able to afford living
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.
Yes, I avoid living in the Bay Area because I literally couldn't afford to live there without having my rent payments or the commute suck my life away. I've run the numbers. I couldn't. I don't feel bad about not being able to for all sorts of reasons, but whether I felt bad or not doesn't change that the math doesn't work.
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.
not in the bay area, but a US startup where i once worked found quite a few candidates by scouring stackoverflow and contacting people who consistently gave valuable responses.
I am now actively looking for a data analyst/software engineering job within San Francisco. If you are interested or if you know of companies who are looking for qualified people, please send me an email
He's probably worth more to a company if he works in marketing. What a brilliant way to market himself.
I haven't ever read his blog or followed him online, but the moment I landed on the site, saw his name and picture, I recognized him immediately - "Hey, that's the Max Woolf from TechCrunch comments!"
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
Curious if you considered getting a Masters in data science or a related technical field, when you found that an impediment to your preferred career path.
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)
This is obviously just some guy's mostly throwaway code, but FWIW it's got the type of comments I don't find useful at all when reading code. I.e. comments that purely duplicate what can be trivially inferred from code:
# 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.
I think there's a place for the "# retrieve data" sort of comment. Suppose you're skimming rather than reading the code, either trying to get a high-level overview of what it does or looking for the particular bit of it where a particular thing happens. Then, sure, you could just read all the code; but most of us can skim-read a small quantity of text faster than a larger quantity of code. In a syntax-colouring editor it's easy to ignore everything but the comments, and if the top-level structure of what's happening is sketched in the comments that's helpful.
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)
Everyone is obsessed with being a software engineer who writes code but I love QA and all it represents. I started off as a QA and now write code but the experience made me a better engineer than virtually everyone who did not start off with QA. Trying to get a code writing job from a QA background is really hard. The developers who interview you tend to have this air of arrogance like people who started off in QA must be there because they could not write code. Actually, since I was not writing code all day I never grew tired of it and was more inspired to write programs on my own free time than them. I feel like this poor little QA with his feelings of inadequacy let the other elitist developers get to him.
If you're going to criticise, at least provide him with more substantial feedback. A "no thank you" doesn't help him, but explaining why livestreaming isn't your cup of tea would be better.
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.
Tell him what you really think! I'd hope that anyone putting themselves out there in a manner such as the OP did and in a forum of some of their most respected peers would be treated with grace.
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.
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.)
A training video, full-screen of the program, with voice-over, might be more useful. For something like that, the user needs to be able to read the text on screen.
> 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.