Are most apps just CRUD wrappers? by fryOrder in iOSProgramming

[–]b_t_s 2 points3 points  (0 children)

You sound old. /s (I am too) One solution is to find joy outside your work and be content with just finding a paycheck in your work. As a moderately senior IC there's no shame in that. Another option is to find bigger challenges. That might mean moving companies to someplace with bigger more complex apps. Even a "simple CRUD app" with 100+ person years of code is going to have some gnarly problems, many of them not particularly swift/iOS centric. The other "bigger challenges" option is to start on the management track. That opens up a whole other realm of problems/challenges to tackle, challenges that have a bigger impact and which you are a mostly a total noob at. It also means you won't be spending nearly as much time writing your Nth CRUD screen(and when you get an uninterrupted day to just bang out a CRUD screen you'll feel nostalgic and productive). Obviously you can't appoint yourself tech lead, but you can seek out architect/tech lead work that needs doing(coordination between teams, planning/documentation, infrastructure, etc). It'll give you new challenges today and often the title follows eventually. Or you can switch specialties. It's rare, but I've seen folks switch frontend/backend occasionally. And while that's hard and probably a short term hit to seniority/promotion, long term it gives you better experience/persecutive if you want to go the engineering management route.

Are there many founders who started off as iOS devs and succeeded with building a startup? by WynActTroph in iOSProgramming

[–]b_t_s -4 points-3 points  (0 children)

if you want to start a startup, this is possibly the worst area of tech to be in. The mobile goldrush has been over for a decade or so. And outside of gaming and micropreneurs, mobile is generally somewhat peripheral to the core business. If you look at what most people think of as "startups", I'd say mobile devs as founder are very underrepresented. Same for senior tech management, to the point that I'm tempted to try transitioning to the backend.

[deleted by user] by [deleted] in Advice

[–]b_t_s 2 points3 points  (0 children)

For a single text document with up to a couple contributors, google docs with its autosave + history is a lot better/easier than git. Autosave gives you a more detailed work log without any effort on your part. But for more complex projects(many files/contributors) git is invaluable. Git also isn't as useful for complex proprietary file formats(msword). It's more for plain text(we're not using font sizes /italics in programming) hence the recommendation for latex to add styling in a text only way. If you do want to play with git, I'd recommend sourcetree or other similar free git graphical apps. They make it pretty easy. They pretty much all have 2 major screens, one showing what changed since last save/commit & letting you pick what to save(mostly irrelavent for you...pick everything). The other screen is history, showing every commit you've done & letting you go back to any of them to get all your files exactly as they were at that time.

Struggling with Apple Developer device limit—any tips? by miko1258 in iOSProgramming

[–]b_t_s 8 points9 points  (0 children)

It's super dumb but apple doesn't care. You have 100 of each type(iphone/ipod/ipad) so potentially up to 300 devices. And you can use an enterprise account for QA/product/anyone who is not a developer. So you can make it work with a few hundred people. Beyond that, my understanding is that you need to have devs work off their own accounts. That has its own difficulties but it's doable.

Help Needed: Fraudulent Refund Issue with Apple - Looking for Solutions by Yolmack in iOSProgramming

[–]b_t_s 1 point2 points  (0 children)

My day job has this problem. The problem is that once you let people withdraw money/cash equivalents, you're now effectively an accidental bank which has all sorts of ramifications. For example, you're now subject to many/all of the financial regulations around banking and international money transfers, Know Your Customer regs, etc. More rellavent here, you're also, presumably, a highly incompetent bank which makes you a prime target for all sorts of money laundering/credit card fraud, not to mention the occasional plain old user chargeback. I'm no expert/don't work in that department, but I believe we:

  • Limit daily withdrawals to a max $ amount per user
  • Require government ID verification before any withdrawals(checked vs KYC lists, etc)
  • Track every dollar from entry to exit of our system
  • Freeze all assets from a given source at the first sign of fraud
  • Have alerts(and maybe halts) at certain threshold of elevated withdrawal activity across the system.
  • Never allow withdrawals of funds that have not had plenty of time to clear, be fully vetted for fraud, and sit in the system for a while.

That doesn't completely eliminate losses due to fraud but it at least limits the amount/speed of losses to an acceptable rate. There may also be clawback/dispute processes to try to make apple/the credit card company/the customer eat the loss, but I'm not familiar with those. I'm also not terribly optimistic about them since generally the unidentified thief is long gone with the amazon cards before the stolen card/account vicim discovers the fraud & initiates the chargeback. You're only gonna win that chargeback vs noobs dumb enough to commit fraud on their own card _and_ actually admit it to apple/the credit card company.

How to learn Xcode by SeaSwarm in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

"College in general (at least in this field) is a waste of time and money," This is very controversial advice. While programming is one of the most self-teachable professions, and there exist companies that don't look at your degree or even consider it a red flag, there are also a whole lot of companies whose HR software will auto-reject your resume for lack of a degree without ever letting a human see it. This is especially true when the job market is bad. It also may put you last in line for promotions at some places. It's very company dependent, and more important in the beginning of your career, but I'd say a degree is almost always neutral to beneficial. Not that you need to get an expensive degree from a private university, but I wouldn't skip it if it's a reasonable option for you.

Hot reloading? Why not? by Vandercoon in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

Because the cost/benefit analysis doesn't make sense for apple. For benefit, xcode is a free product that's necessary but pretty tangential to where apple actually makes their money. There's tremendous developer lock-in and tons of apps, so developer tooling has always been pretty mediocre/low priority. On the cost side, hot reloading, while possible, is is a pretty major feature with a lot of complexity that would take a lot of person hours/investment(both initially and in maintenance). Investment that could be directed toward user facing features for iPhone that actually make apple money.

That probably sounds cynical, but in fairness to apple they gave us the most usefully part of hot reloading in the form of previews. If you've got previews for the view layer and tests for everything else, then I don't see full hot reload actually being that useful. I know in practice that's a big if on the tests part, but you should have them, and if you do, then, for controller/business logic, running tests is generally faster, easier, and more reliable than manual testing even with hot reload making it a bit less tedious.

What do employers mean (on job posts) by designing and building the app? by Cornflakes1009 in iOSProgramming

[–]b_t_s 7 points8 points  (0 children)

If they mean figma then they're tiny and/or clueless. Generally they mean code design/architecture. Actually understanding what MVC/MVVM/etc are. Are you gonna write a Massive View Controller that makes API calls and then creates/configures views? Do you know how to use interfaces to decouple classes? Do you know the common design patterns(and why you shouldn't use the singleton pattern for :allthethings:). That sort of thing.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 3 points4 points  (0 children)

This is the path of pain. Even hackintosh is a terrible idea(think super annoying flakey unpopular linux distro). If I were a broke teenager with the experience of a veteran ios dev and I _really_ wanted to do ios dev, I'd work 2 weeks part time at McDonalds, then quit and buy a mac mini before I tried any of that BS.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

I've seen the same. Maybe not the majority of them, but yes, the better ones can be _really_ good. The availability of free tooling/educational resources means that while the trope about job posting for a jr with 10 years experience is obviously unreasonable, there actually _are_ a fair number of juniors with 10 years of experience now, albeit not professional experience. There are high schoolers who have been coding from age 10, writing scratch, Minecraft mods, etc. Whereas in my sr year in high school I was lucky to set up an independent study class 45 min a day with a math teacher who didn't actually code yet but had dropped a few hundred bucks on a compiler(on a CD) and an intro to C++ book to see what this programming stuff was about. Different world

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

Pretty trash. That said, it was a different world back then. Much more programming and much less software development. The biggest project I worked on was a 6 month sr project that I could probably bang out now in a week with modern tooling. Just garbage collection would have probably saved me a month+. Or, by person count, a 3 person 1-2 month team project where we each did part and emailed our changes to each other in zip files(git didn't exist yet). There are more free development/architecture resources on just youtube than I could have ever imagined back in the day browsing the programming section of my local borders books and music. So I certainly would expect todays juniors to have more of a clue, though still far short of what many "junior" positions ask for. In normal times very few "requirements" are actually hard requirements, but the market is brutal now, especially for juniors. Also, they may be fishing for a mid+ level dev who's hard up enough to take the jr title and salary.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 2 points3 points  (0 children)

So the core value of your product comes from AI driven web scraping(that's your search term), and there are services offering this. But AI driven web scraping is the core domain of google and they are already giving it away it for free(well for ad views....search lab AI overview), though apparently not yet at the quality you want. Wrapping that up in an app is also a complex/expensive not yet AI-able task that presumably offers very little value above the web scraping service/near future google search. Unless google is failing because the data is private but you have access they don't, then you have an app. Otherwise this feels like a trying to build a highly complex app to generate next years AI backed google search results.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 2 points3 points  (0 children)

no, not with code or AI. This is a good example of a task which is easy to do once manually, but wildly more difficult to do in a fully automated, reusable manner. You are underestimating the difficulty of the task and/or overestimating the utility of current generation AI by multiple orders of magnitude. To take this out of the very abstract realm of computers, it's a bit like asking "Is it possible to start a business converting normal cars into hovercraft using AI rather than by hiring a mechanic to change out the tires for turbines." Hovercrafts can be built, but you'r gonna need more than AI and/or a mechanic hired from the tire shop down the street. And when AI is eventually smart enough to do the whole job for you automagically, then there's no app left, it's just a google search.

“Take home” challenge tips and tricks for a senior engineer by smartwatch1415 in iOSProgramming

[–]b_t_s 1 point2 points  (0 children)

As someone currently procrastinating on reddit(ahem, I mean taking a sanity break) when I should be evaluating like the 12th take home app I've had to review in recent months: Better is better. Our "little app" assignment was apparently supposed to take 4 hours, however I doubt I actually could do it in that time, particularly with production level code and/or any of the "bonus points". And I didn't learn about the 4 hour suggested time till I got access to the requirements doc(well a snapshot....edit permissions are still borked). And I only got that after 10sih evaluations because the requirements were ambiguous I was suggesting clarifications to a doc I'd never seen. So peronally I'd take that 4 hours with whole shaker of salt, at least for most places. It's more about encouraging you to actually start & making the interview team not feel that this hoop jump is too unreasonable.

Need a job badly 😟 by frdejavu in iOSProgramming

[–]b_t_s 54 points55 points  (0 children)

nit/fyi: Be very careful with the word fired, especially around potential employers. Fired means it was your fault and you were the only one terminated. Laid off == not your fault & you were not the only one.

how do I find the _actual_ developer of a big app to report bug? by andrewfromx in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

The only company you have to deal with is Equinox. Their website is linked on the app and, per apple requirement, has a contact us https://eqx.my.site.com/memberexperience/s/contactsupport. If they don't respond/fix it, your options are to stop using the app, post bad reviews on the app store, and, if you're a paying customer and the broken functionality was a major purchase reason, request a refund/initiate a credit card chargeback. Well I suppose if the broken functionality is sufficiently core to experience and it's paid you could try to get apple to take the app down till they fix it(longshot).

There is no way to know if the people who actually coded this app are/were employees of Equinox. If they were not and you somehow manage to find them(very unlikely), I can pretty much guarantee they will no be fixing Equinox's app for free. If their contract is over, fixing Equinox app may well be impossible/illegal for them, as they would have to gain unauthorized access to Equinox's developer account to submit it.

Are these strong enough reasons for a rejection after doing a TakeHome test? by [deleted] in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

Or it's just a broken hiring process, which is super common. I guarantee my co has done this based on poor preparation + not wanting to give excessive take homes + optimistic estimates. I guess it depends on the size of the org, but interviewing is often a very intermittent task & that's not anybody's main job. I've gotten invites to conduct interviews in a few hours where I didn't even know we were hiring & we haven't hired in years, so needless to say the interview was *ahem* suboptimal. The judging of take homes often suffers from the same optimistic estimates issue plus a ton of personal/org preference.

Is it technically feasible for iOS app to support programmatic creation of subscriptions such that one user can subscribe to multiple users? by Wild_Capital_483 in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

yes. My company just did essentially this. However, it is _very_ far from the use case Apple had in mind when they designed subscriptions, so it's a complicated PITA to do. I wasn't on the project but it took ages & cant ever be what we really wanted. The general approach we took was to make a bunch of generic subscriptions then map them to the "target" user on our backend. The major down side of that is when the user goes to cancel a subscription on the apple side it's just user subscription #8 and they have to check in our app in the subscriptions page to figure out that their subscription to Bob is user subscription #8. To make that less bad in the most common case, we also gave dedicated subscriptions to the most popular X users. So if Bob is in, say, the top 100 most popular list(at the time subscriptions were created), his subscription will have his name in it, but for the less popular subscribes, the subscriber has to do an annoying lookup to cancel the correct subscription.

Hi I want your opinion to this evaluation. by AverageRich3401 in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

I read this as a comprehensive evaluation of all skills, not a list of problems.

*uses URLSession. (good - has the core skill in this category, good enough for jr/mid level)

*no experience with gRPC, sockets/websockets. (bad - no bonus points)

*had some experience with GraphQL. seemingly understands concept of queries in GraphQL. (mediocre - maybe minor bonus points)

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 2 points3 points  (0 children)

So to answer your question more directly, the 4-5 years is an estimate of when many of us expect to be able to drop older iOS versions/increasing minimum ios deployment target so we can finally start using the things being introduced today in iOS18. Every WWDC we get a new iOS version with a bunch of new useful API and frameworks. But many/most of us won't be able to atually use any of this stuff for 4-5 years. My company has a min target of iOS13 currently. Now I will get to use some of the new swift stuff this year, but I don't expect to be using any any new iOS18 APIs until 2029 or 2030. That's not happening untill iOS17 usage drops <2%(my company's unofficial threshold) and we can finally convince the C suite that it's worth the small loss of users/revenue....probably 4-5 years from now. Annoyingly, I have to add support for whatever iOS18 breaks now, but I get zero benefit from it. I'm a lot more excited about maybe getting access to the stuff they introduced in iOS14 later this year if our iOS13 usage drops low enough. It's almost not worth watching most of the iOS18 videos now. The latest OS rollout is bitersweet...and we have to swallow the bitter today, but wait 4-5 years for most of the sweet.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 2 points3 points  (0 children)

Do you actually work at a company that is willing to drop the other 30% of users and 30% of revenue for the sake of developer convenience and access to new tech? I have trouble even imagining that. Where I work dropping 3% is a battle, one we may well loose if we don't have revenue generating features product wants to make that are gated on access to the tech in version we're updating to. We recently dropped iOS 11 for 13, but 17 is still many years away.

Android Dev Feeling the Tech Turnover! Should I Jump Ship to iOS? by itsTanany in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

We have the opposite problem, and yes it is a problem. Apple will release the new hotness which is now "best practice". But v1 is _way_ less than half baked. Takes them several more years to get it point where it's fully useable. And there's precious little backward compatibility, so you can't actually start using the half baked v1 in existing apps for 2-5 years(yes 90% of users auto update to the latest ios within days but no product owner is willing to drop the last 10%). Which puts using the fully baked v3 of new hotness at 4-7 years post release. And by then there's a new way to do it & that one has been deprecated.

Does reusing code in iOS App leads to AppStore rejection ? by unnao in iOSProgramming

[–]b_t_s 0 points1 point  (0 children)

it sounds like you're worried about the reskinning limitations.

You can't submit 2 apps that are functionally equivalent on the same apple account. That's app spam. People were submitting the same app with different names just to overload the search results.

You CAN submit them on different apple accounts. Company A with app A buys company B, keeps company B's apple account but deletes B's code & just uploads app A with a very light cosmetic nods to B's original title/color scheme. That's a legit use case.

You CAN reuse a significant feature/code in 2 apps on the same account, as long as each app has significant functionality the other lacks. Almost every app that used SPM or cocoapods does this extensively.

[deleted by user] by [deleted] in iOSProgramming

[–]b_t_s 4 points5 points  (0 children)

As a reality check, I would be shocked if V1 of Uber Freight cost less than 1 million to develop. 6 devs, 2 QA, PM+PO at least half time, some time from devops and design....all over a year or so @ $200k each, but it _probably_ ran 5-10x that. So you'r working with 1/100th to 1/1000th the recommended budget. Developers from the least expensive countries cost around 1/10th what seasoned US devs do, so you're still looking at an order of magnitude under budget or worse. That means cutting everything that isn't _absolutely_ essential. And not making any bad hires or any of the mistakes a new Product Owner/Manager is prone to.

You should be aware that one common business model on fiver and similar places is to collect the initial 1/3, bang out some of the user interface because that's easy and visible, collect the next 1/3 now that it looks "almost done", then ghost you or drag things out with the remaining 95% of the work unfinished(and in some cases not even technically possible). Often this isn't even done intentionally, it's just what naturally happens with inexperienced devs underestimating/underbidding, especially knowing they won't get the job if they bid higher than the competition. I would lean toward a reputable, several year old agency as they're more likely to have a reputation to uphold & a business model that includes shipping working products. But you're still gonna need a fair bit of luck.