27 comments

[ 10.7 ms ] story [ 689 ms ] thread
I think you rightly point out that there is a lot of value that is under appreciated. Controlled schedules, steady pay, and being around people that build your skill set. Good article.
Great insight on the pros and cons of working in different environments. Thanks for writing the article.
Great article. Programming is fun but when you're at a company and you're the most knowlegdable programmer than it becomes very lonely because your getting bombarded with work and like stated in the article if you do not know the answer to something Google and stackoverflow is your friend.

Great article, happy you got the job at Apple doing what you love.

Add IRC and friends who are way better than you working elsewhere too.
That helps but nothing like having a 1-1 face to face interaction with some developer you meet everyday.
I never realised that this was a thing, but now that its been brought up, this is a big issue that I've been facing at work for some time. I'm not a programming rockstar but I am the only programmer at work. And I can't seem to find any other programmers in similar fields in this town. I only found out recently that going to conferences for programming was also a thing, although they seem hugely expensive. I just discovered user groups too, but there isn't one within 100s of miles of me. Still, now that I know these things exist and why people go to them, I have something to work towards.
A tweet about apple job? That is interesting
Yes. This is the tweet that got me the job - https://twitter.com/ddenboer/status/314419356685705219
Oh I see, is it possible to move inside apple to diferent depts?
From what I asked, it seems like it is possible. Not sure how easy/hard it is though. The Senior Manager of the group that I interviewed for has 3 sub groups and he assured that it is totally possible to move between those groups.
Not all startups are staffed with 1 lonely developer and require 4 hour daily commute time, but I wouldn't work at those that are like that either.

In the big corporate world you may also yourself surrounded by non-technical coordinators and developers with outdated skills -- perhaps not so much at Apple, which is a great gig if you get it. Problem with big corps is they're risk averse, so less likely to adopt trendy new tools, not hip to the latest tricks of the trade, so your surrounded by experience but not working with the latest tools and practices.

I agree that not all startups are like that.

Most startups that are in their early stage don't have many developers and also don't have the funding to hire an army of developers. So they only have one expert per field.

The team that I interviewed with at Apple has 4 experienced iOS developers and this team specifically uses libraries very extensively. Mostly they have libraries that they have developer in house, but when there is something better out there they try to adapt quickly.

"In the big corporate world you may also yourself surrounded by non-technical coordinators and developers with outdated skills -- perhaps not so much at Apple..."

...all I will say is that with a company that large you're working more for a department than you are a company on a whole. I think there is no "perhaps not so much at [insert any company of 10k+ employees here]". Choose the department you work for wisely.

My takeaway from this was "don't take a job with a 4 hour commute".
"don't take a job where you're the smartest person in the room" is probably more important.

a four hour commute can be mitigated (eg: work from home 3 days a week, or a mobile hotspot and pre-tax public transport commute programs, or if they want you enough a driver/moving bonus).

not having a peer to bounce ideas off of or review your code can't be mitigated.

You are absolutely right. Having a peer wih whom you can talk about what you are working on getting your code reviewed is very important and helps you improve your knowledge. This was exactly my issue.

Also I do have a hotspot, I travel by train and work during those commute hours. But because I work long hours (4+7) this leads to the second issue that I mentioned - not having enough energy to work on side projects and not being able to learn new things apart from the normal work.

Man, 4+7 is rough. If I were in your situation, I probably wouldn't have taken the job unless A) I knew I could do my own work on the commute (ie drag another laptop along, or get them to amend my employment contract so that all work done during my commute, regardless of whether it uses company equipment belongs to me), B) I negotiated to count some amount of commute time as productive hours and do some amount of work for them during the commute (eg 4+3, or if you both know that the commute time isn't as productive 4+range(3,6)), or C) I worked form home an average of at least 2.5 days/week.

btw, try Rio Adobe on de anza for lunch if you like mexican food.

There is a huge difference between "smartest person in the room" and "best in the room at platform X". I'd be curious to see if the author is making the former claim or the latter.

The reality is that any "lead" role at a startup requires you to be the best in the room at your specialty.

To be clear I meant "Smartest person in the room at platform X". Didn't mean to leave out that detail.

> The reality is that any "lead" role at a startup requires you to be the best in the room at your specialty.

Yes, it requires you to be the best in the room, but before joining I didn't honestly know what it would be like to be a lead (and only) developer for that platform x. After working for a few months I realized that being a lead so early in my career is not what I want. I still have to learn a lot things before I cab be an effective lead and lead a team of developers.

(comment deleted)
> before joining I didn't honestly know what it would be like to be a lead (and only) developer for that platform x. After working for a few months I realized that being a lead so early in my career is not what I want.

Yes, it's not unusual to have that kind of realization and having had that realization, it is logical to pursue the course of action you did.

So... you stopped working at a startup because you had a four hour commute. Cool story.
Am I missing something, or was the authors lack of free time due entirely to the fact that he was commuting 4 hours, and not at all related to working at a startup like the title suggests?
(comment deleted)
Yes 4 hours contributed significantly to the fact that I didn't have time to work on side projects. But I would have been equally happy if I had peers with whom I could discuss stuff and learn new things. The source or learning is not important. It can be side projects, it can be your peers. Learning is what matters. And working at an early stage startup meant I was the only one working on iOS stuff. Hence the title.
This should be called "Why I quit working at a startup to work for Apple"