Coding · IOS Development

Is coding obsolete?

Travis Wentworth

February 23rd, 2015

I have a couple of semi-serious side project ideas that would take the form of iOS apps. And I even started a course on Treehouse to learn Swift. However, I'm starting to wonder whether I could actually get much further by sticking with the likes of Tethr or Adobe Muse instead of building the apps from scratch.

If I want to design, build and publish a functioning iOS app, do I really need to learn the nuts and bolts of the programming language?

Thanks!

Ben Junya Android/iOS and Front End Web Developer

February 23rd, 2015

Tldr: NO. Learn to code. You will never get far using those tools like Muse or Tethr.


Both of those platforms have some huge limitations on top of them. Muse writes seriously sloppy code that I've had to fix (and charged said client a ton of money for it because it suckssss), and frankly, I've never had to work with Tethr before.

While these editors and programs are a great way to get your feet wet and prototype something out extremely fast, it comes at a very hefty price with serious limitations. Even frameworks like Meteor.js and phonegap that wrap your webapp into a native app have some huge limitations that companies may be really happy starting out with them, but within less than a year, they're jumping ship and hiring native developers. You're much better off learning Swift and taking on iOS natively.

Just to be clear, if you need to bootstrap your operation, you can easily get a job as an iOS developer. I have been coding for only a year (Android), and I get calls to take on Android and front end web dev roles. You are learning an extremely valuable skill that can make if thousands, if not millions of dollars over your lifetime.

To solidify your path - I learned from Treehouse too, and I took their Android course. I've worked at a ton of dev chop shops making some cool stuff in android and front end web stuff. You're on the right track.

Hit me up if you need help!

Ben

Anonymous

February 23rd, 2015

Of course you can build a prototype with those kind of tools.
But anything close to production ready, you need to get to learn to code.

Tom Maiaroto Full Stack Consultant

February 23rd, 2015

If you want it to be any good. Yes.

In all seriousness, you might get a few effective things on a small scale...But if you have more complex needs (which likely aren't that complex), you'll need something coded. For years we've been trying to remove the code from the coding process, but it just doesn't work. At least not all of the time.

Ben Junya Android/iOS and Front End Web Developer

February 23rd, 2015

@Nic and @Liam

I have to disagree with these wholeheartedly. From an entrepreneur standpoint of outsourcing development, that's great and all to offload it to someone else, but frankly, you're accepting a TON of risk doing so. Outsourcing is great for the short term, but do you really want to put all the control of our company's star application overseas in a black box you can't control? I'm not saying outsourcing is bad, as I'm sure there are many fantastic freelance devs out there that can do the job. But the bottom line is, "Do you really want to shell out money for something that could potentially be total crap?"

It's going to be easier to work with developers if you know some code because you'll be able to ask them the right questions technically. You'll know if they're actually good or not because you know the language of programming and computing. If they're mixing up their java and javascript, or calling structs and classes the same thing, then you are going to have some serious problems with those outsourced devs.

Am I telling you to be an iOS and swift superstar? NO! Am I telling you that you should know how to build something simple? Yes. Get familiar with the language and terminology of programming so that you'll save yourself headaches in the future.

Understand that lots of those guys on elance or freelancer will say/do anything to get your business. Even here in the states, ad agencies like the one I have previously worked at have spend millions of dollars outsourcing projects to dev shops overseas, only to have returned an inferior product of poor quality.

Of course, you can create your own mockups in Photoshop, and that's excellent and frankly all you need, but if you really want to find a great developer who's got your back, then don't outsource overseas, find a local developer, and ask them the right technical questions (The Joel test is great, but definitely not enough).

In addition, if you know how to code, you're in control of technology, not vice versa. Make the IoT work for you, not against you.

Ian Maddox

February 23rd, 2015

In a word: no.

Languages have become increasingly high level--to the point where relatively sophisticated app development can be performed entirely in a drag and drop UI.  However, you'll have a hard time avoiding the creation of custom business logic for anything but the most generic apps and sites.

The underlying question is "I don't code. Can I still create my own apps?"
The answer there is certainly yes.  There are limitations to what you can pull off, but several frameworks and services exist for folks in that exact situation.  Even 2D/3D games can be created with minimal logic these days.

If you're good at writing advanced formulas in Excel, you shouldn't have any problems producing a simple app using a framework or service.

Ben Gamble Lead Developer at ViewRanger (Augmentra Ltd)

February 24th, 2015

There is no substitute to being about to coding it yourself, unless you have a HUGE pile money to spend on outsourcing. 
Outsourcing is a mine field of ineptitude, poorly worded contracts, dishonesty, and most of all expense. This is not to say there are not good outsourcing companies. But there is a reason why they get a bad rep. 

You get what you pay for, cheap means bad, from either a contract perspective (they own the code/IP) or from a quality perspective (terrible codebase, and poorly done features). Either way it can often eat as much of your time whether you do it your self or not. 

There is nothing wrong with the tools you suggest as long as you accept their limitations. if your task lives within them, USE THEM. they will make everything quicker. If the apps take off, you will have the time and money to rebuild if needed, with the added benefit of the skills and knowledge you picked up along the way. 


Bill Snapper Owner Principal at SammyCO, LLC

February 24th, 2015

The best advice I've seen in this chain is this.  If you're not a coder / engineer already that just needs to learn a new environment you should hire someone that is to build it for you.  There are a lot of very good contractors out there that are worth hiring.  Spend your time with the business if that's your area of expertise but trying to learn to code in a native environment for a mobile app and succeed at your first app out of the gate is not what I'd recommend unless your goal is to become a coder and you have lots of time to spend learning, recoding, etc.

If one of the "framework tools" tools lets you create something you feel could be your MVP then it's definitely worth trying.  If it's a success then clearly you know you're on the right track and need to have a "real app" built.

I don't want to sound negative but taking a course in SWIFT and expecting to go from zero to application via a single course is a bit unrealistic.  Especially if you've got back end requirements too.

Neil Gehani Sr. Product Manager - Building products that people love

March 3rd, 2015

As a PM, I used to code and still like to code and learn, but time and priority does not permit me. I use tools like Flinto to prototype but definitely like to play with code particularly on the front end side. You can hire someone if you have the resources to pay and make sure your scope is well defined. If you have the time and no money, then learn to prototype and then to build it yourself or if you have an idea, then you have to get someone to buy into your idea to have them join you as a co-founder (this is much harder than you think). Software Engineering is in great demand so if they don't already have their own ideas they want to work on, your idea has to be so unique and good to get someone to join you and give up their paid gig or their own idea. There are lots of tools now that allow you to build a working prototype. Investing money into your own skills may be worthwhile. 

Martin Miller VP of Engineering, Infrastructure, DevOps

March 3rd, 2015

Learn 'coding' as you desire enough knowledge to understand...what you don't understand.

In consideration of time and results. I would like to say NO, no you don't need to learn to code, when you have access to so many that can code for you. Focus on the end results,

Once again, Focus on the end results :-)

Look-and-Feel, User-Experience. Create drawings, storyboards, mock-up, or notes describing the intent.

Work with those, skilled in the trade of software development to deliver results.  'Coders' can miss the mark on something useful, as they are buried in debugging. It's challenging to consider end results from the perspective of an end user, while building the nuts-and-bolts.




Todd Blanchard Co-Founder at Rewind Inc

February 23rd, 2015

You (or somebody) needs to code. Users don't like klunky experiences. Smooth simple to use apps are hard - if it was easy everybody would do it. The important thing about the app game is execution is key. If you are not a professional developer, hire one. You sound like you are out of your depth. So go partner or contract with a good developer. Sent from the road