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 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.
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.
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.
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.
"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.
> 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.
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?
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.
27 comments
[ 10.7 ms ] story [ 689 ms ] threadGreat article, happy you got the job at Apple doing what you love.
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.
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.
...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.
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.
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.
btw, try Rio Adobe on de anza for lunch if you like mexican food.
The reality is that any "lead" role at a startup requires you to be the best in the room at your specialty.
> 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.
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.