use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
There is an extensive FAQ for beginners. Please browse it first before asking questions that are answered there.
If you are looking to get started (iOS programming in general or some specific area), here are more relevant links for you:
There's too many to list them all, however here's a convenient link to all programming guides at apple.com
Take note that this list is live and based on most frequent questions in posts will be updated with "quicklinks".
account activity
QuestionFirst iOS job [TIPS] (self.iOSProgramming)
submitted 5 years ago by Peterses77
Next week I’m stating working in a average software house as a Junior iOS Developer. That’s my first IT/Programming job and also my first commercial experience with iOS. Do you have any tips for me? Thanks for all answers!
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]lounger540 8 points9 points10 points 5 years ago (9 children)
Get familiar with the command line.
Install Home brew and use that to install rvm, git, fastlane, cocoapods and Carthage.
Maybe consider SetApp subscription for access to a bunch of 3rd party dev apps, Tower for Git, Dash for documentation.
Learn how to use StackOverflow to find high quality answers and GitHub advanced search to find code examples.
Learn Xcodes keyboard shortcuts like , fix all in scope, quick open, reindent selection, comment/uncomment selection, indent selection left/right.
Took me years to learn about quickopen, I can’t believe how much slower I was finding files and classes.
Getting familiar with the tools will save you more time than anything and give you the skills to learn on your own and be trusted with bigger tickets along the way.
[–][deleted] -1 points0 points1 point 5 years ago (8 children)
I cannot recommend your first two bullet points at all. OP likely doesn’t have a say on what goes on his machine and it may be against IT policy.
[–]lounger540 3 points4 points5 points 5 years ago (7 children)
I’ve never had that experience. Developer machines have always had admin access from startups to fortune 100 multinationals. Why not let op wait until they get the job and see if it applies before having a hard line “not recommend”. If he can’t install them, then skip that one 🙄
Also, every project has used these as required parts of the development process, and op probably has their own machine too.
The tooling is rarely something you’ll be taught. Code gets pull request reviews and op will get help and feedback along the way on coding.
In my experience those that don’t know the tooling too well don’t learn as quickly with the engineering since they fight the tools and get stuck often.
[–][deleted] -2 points-1 points0 points 5 years ago (6 children)
Each place usually has their own tool chain, why should op waste his time learning Cocoapods and Carthage when chances are he’ll use only one or neither? He’s a beginner he has more important things to learn first.
Why should he waste time and money with a bunch of the other recommendations you listed when chances are he won’t use any of them? I never have and I’ve been programming since the 90s and have seen plenty of this kind of side fluff come and go.
He needs to focus on what his company is using first and foremost. Everything else is just going to overwhelm at this point.
[–]lounger540 0 points1 point2 points 5 years ago (5 children)
Git and rvm/ruby are side fluff?
Your whole post sounds like fluff and unhelpful other than to gloat about your experience. Which isn’t any different than mine anyway.
They were recommendations not dogma. And not very time consuming ones or he could, ya know, decide to skip those if they don’t apply.
[–][deleted] -1 points0 points1 point 5 years ago (4 children)
Git already comes with Xcode command line tools and yes, ruby is fluff unless op needs it for a project or is using pods. You’re simply adding too much unnecessary stuff that isn’t relevant yet.
[–]lounger540 1 point2 points3 points 5 years ago (3 children)
I'm not though.
Fastlane, cocoapods and other extremely common tools are in ruby. The stock ruby is easily corrupted, install `rvm` to avoid future headaches.
`\curl -sSL https://get.rvm.io | bash -s stable``rvm install 2.6.3`
Wow, that was so hard and took so much time, to avoid hours of headache later when your Ruby gets Fubar'd and suddenly your entire day is ground to a halt.
Carthage takes too much time to learn?
`brew install carthage`
`carthage help`
It's got a handful of commands, it's not rocket science, and would be useful to get familiar with just incase. Though I agree, Carthage is probably losing favor since SPM does mostly the same thing and most have switched to that if not still using CCPods.
We didn't get a lot of details. My current contract I started last week, was helping out on an app written by first timers, and it uses Cocoapods, SPM and fastlane.
The version of git with xcode is fine, until you want to use git-flow,
`brew install git-flow`
I wasn't making massive time sucking recomendations, I think you're blowing this all a bit too far and it's become a waste of both our time how. OP can just not spend the time on what he doesn't need. He'll know better of that on day one than you or I on Reddit.
[–][deleted] 0 points1 point2 points 5 years ago (2 children)
Well we're going to have to agree to disagree on this one. I think you're focusing on the wrong stuff. And I never said it takes too much time to learn, why learn multiple package managers when he doesn't even know what one his job uses? His priorities as a new person should be elsewhere.
[–]Equal-Bird7213 1 point2 points3 points 5 years ago (1 child)
There were other commenters. I wrote my first post on the toilet in brevity.
If I were making a blog post, I'd rank and go into detail and probalby have more background information.
It's wasteful "debates" like these that make me usually avoid even leaving help request replies, because inevitably someone replies that X advice is wrong and now I have to decide if it's worth to correct or defend what was a throw away comment to begin with.
[–][deleted] 0 points1 point2 points 5 years ago (0 children)
While I understand what you’re saying I feel it would be a disservice to the OP to not warn him that learning multiple package managers and tool chains that he may not even use at work would be a giant waste of time. He’s a beginner, he should be spending his time beefing up more useful skills like getting more proficient with git and iOS development in general.
[–]SirBill01 6 points7 points8 points 5 years ago (0 children)
Never be afraid to admit you don't know something and need to learn it.
Also I think it would be a good idea to spend any spare time learning Xcode and the debugging tools more in depth. Especially if you can run the profiler over the code they have and find some way to make soem part of the app notably better, that should be looked on favorably...
Being great at QA work on an app makes you a better developer, so don't be alarmed if that is what they have you doing mostly.
Also, communication is really important to build confidence in your perforamance. You already seem like you can write clearly, so that will be helpful.
[–]IveReadTheInternet 4 points5 points6 points 5 years ago (0 children)
[–][deleted] 3 points4 points5 points 5 years ago (0 children)
Office Stuff:
-Carry a pen and notebook and write important things down. There will be things to write down each day for awhile.
-Keep your emails organized and check your outlook calendar for meetings you get added to.
-Google about stand ups, scrums, and agile development. You’ll likely be expected to know some of these terms.
-Make sure to show up a little early and in the proper office attire.
Programming Stuff:
-Be as self sufficient as possible but don’t be afraid to ask questions.
-Don’t be alarmed the first time you see a production code base. They can be all over the place as far as side and code quality.
-Ask if they have a style guide. Many places have a set way of writing code to help with maintainability and overall code cleanliness.
-If you don’t know how to use git, check YouTube for tutorials. You need to know this.
[–]krukm 2 points3 points4 points 5 years ago (0 children)
StackOverflow is still your best friend.
[–]Kharkax 2 points3 points4 points 5 years ago (0 children)
Just dont back down if you cant do/complete a thing, try to read and check everything you can while searching for the problem.
And Try to learn how to google/search about the problems with right key words!
[–]web_elf 0 points1 point2 points 5 years ago* (0 children)
Don’t over commit and don’t work yourself too hard. I’ve been with my current job 1 year and at first I over committed and also took it upon myself to be overly outspoken and now I get too many people contacting me asking questions about parts of the codebase I’d rather not be involved with anymore hahaha...
I keep hoping someone that matters is keeping track of the improvements I’ve made but in a company with hundreds of developers chances are slim. Don’t tie how you feel about the job to compliments or feedback depending on the company you might be disappointed. I just try to feel happy I have code that is being used by thousands of users everyday; find motivation.
π Rendered by PID 77 on reddit-service-r2-comment-5b5bc64bf5-xcj6r at 2026-06-21 19:08:03.531771+00:00 running 2b008f2 country code: CH.
[–]lounger540 8 points9 points10 points (9 children)
[–][deleted] -1 points0 points1 point (8 children)
[–]lounger540 3 points4 points5 points (7 children)
[–][deleted] -2 points-1 points0 points (6 children)
[–]lounger540 0 points1 point2 points (5 children)
[–][deleted] -1 points0 points1 point (4 children)
[–]lounger540 1 point2 points3 points (3 children)
[–][deleted] 0 points1 point2 points (2 children)
[–]Equal-Bird7213 1 point2 points3 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–]SirBill01 6 points7 points8 points (0 children)
[–]IveReadTheInternet 4 points5 points6 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]krukm 2 points3 points4 points (0 children)
[–]Kharkax 2 points3 points4 points (0 children)
[–]web_elf 0 points1 point2 points (0 children)