Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Python is a good language to start with as it has simple syntax and contains almost everything you'll ever use in programming. Up until Swift came out it was the preferred language for this very reason.

Writing print "Some line of text" in python 2 or print("Some line of text") in python 3 was pretty easy to remember and it was straightforward.

Since the emergence of Swift, the tides have changed a bit as Swift is provided as the language for one of the largest, if not largest, App ecosystem out there. It has simple syntax just like Python and in some cases it's easier to read. It is missing some arithmetic functions such as GCD and LCM along with support for BigIntegers, but outside of that there really isn't much to complain about.

The main advantage of Swift is that you only have to learn Swift and you can start production work on an App that is distributed to millions of devices. With python you have to learn a few more tools to get it ready for distribution.

As for C# and Java, while they are fairly simple in syntax, they can become more difficult to work with in larger projects and sometimes the syntax doesn't make sense without further reading. (e.g. IEnumerable in C#)

I don't have a preference on which is the best programming language, I just look at it like this, whatever sinks in the concept of programming best is a good first language. (i.e. creating and initializing a variable before you use it, proper statement order of loops, functions, if and switch statements, error handling, classes , and memory management.)

As far as getting a job goes, I will say that the most common open positions have been for C, C++, Java, and Ruby developers. If you learn Swift or Python, you'll get a good idea of how programming works then I suggest you move on to Java or C++ as a second language just to widen your job opportunities.

One of my college professors once told me, "the second programming language you learn is the hardest programming language to learn." This is all because after learning one language you get these preconceived ideas of how things should be done and you assume that another language is the same.
 
Last edited:
  • Like
Reactions: OS X Dude
Is there a likelihood of being sponsored by a company to get a qualification and then perhaps sign a contract with them to not leave for 3-5 years? Kind of like how Toyota do?
Not really, these days some companies are even writing into their work contracts that if you leave before a certain period of time you have you reimburse the company for the training they've paid for you to take.

Depending on your age you may be able to do a modern apprenticeship but the pay isn't great (it's designed for school leavers living with parents).

Do you currently work? Could there be any opportunities with your employer? If not, I'd dedicate some time to learning a language, gaining some experience and then applying for as many junior development roles you can (for the language you learnt). Once you've got that first job it's much easier to move on to bigger/better things.
 
Is there a likelihood of being sponsored by a company to get a qualification and then perhaps sign a contract with them to not leave for 3-5 years? Kind of like how Toyota do?

To be honest, with the available tools out there, it may be more worthwhile to just start up your own App business, you'll need to have all the proper tax forms, business tax id (EIN in the US), and legal stuff out of the way before you submit an App.
 
I would take career advice from more-or-less random people on the internet with a grain of salt.

How many here make a living in software development without an education?
 
  • Like
Reactions: jaduff46
I do work at the moment and there *could* be the potential to persuade my manager (a company director, we're only a small place and we get on really well) that it could be good for the company to expand into app development. If that's the case, then I'm laughing.

There's also some programming positions within audio companies, which are attractive but necessitate a move to Greater London and I can't stand our capital. Manchester is a growing area for such recruitment and I feel much more at home there.

I'm really not one for starting my own company, my dad is self-employed and I've seen both ends of the success spectrum. One is amazing and the other is frightening and I'm no gambler, unfortunately.
 
Most of the bigger companies require candidates to have a qualification which, being self-taught, I won't have.

Bigger companies want a degree and/or employment experience in the field. Small companies and start-ups often just want to see that you can code and develop apps (with some already in the App store and well reviewed) that are of both the quality and feature complexity that they need.
 
Just wanted to point out - while Obj-C and Swift are the two main programming languages for iOS/Mac development, the language and standard library are open-source - along with Apple's CoreFoundation framework. Thus, given the right set of tools, you can use Swift on any platform. For that matter, you can theoretically use it for Web development.
 
Just a little warning - a lot of people seem to think that coding is merely about learning a language that the computers can understand and then talking to them in that language. Easy, right? While this may be true for Python or Ruby and recreational coding, developing a larger piece of software in a language like Java or the C derivatives is a serious business and should be taken very seriously. An overly enthusiastic newbie who thinks C++ is just like Python with a different syntax is a danger to every codebase.
When it comes to developing software, "stay humble" is the best advice you can get.
 
  • Like
Reactions: jaduff46
I would take career advice from more-or-less random people on the internet with a grain of salt.

How many here make a living in software development without an education?

I do, went to school for server administration which has nothing to do with programming, learned COBOL, C#, Swift, Java, HTML/CSS/JS on my own and do well enough with it that I'm the goto person when someone needs a program or website written. I only call on designers for help.
 
I do, went to school for server administration which has nothing to do with programming, learned COBOL, C#, Swift, Java, HTML/CSS/JS on my own and do well enough with it that I'm the goto person when someone needs a program or website written. I only call on designers for help.

Does server administration really have nothing to do with programming? Anyway, of course people exist that have no relevant education but they are few and far between - at least in my country.
 
When it comes to developing software, "stay humble" is the best advice you can get.

Agreed, start small and when you can write a quick application (30 minutes to an hour) bump up the complexity for fun until you get the hang of it then write a bigger application, rinse, repeat.

My first program other than hello, world was a simple character counter in C# where I could paste in some text and it would spit out how many characters were in the text (wrote this for figuring pic sizes for the headers in COBOL reports). I added three radio buttons to remove newline characters, remove spaces and newline characters, and another to count everything. My latest project was writing an in house SolarWinds web application. It took a long time to get there and a long time to write it considering I went with a multi-layered architecture design pattern for future maintenance.

Be patient with it and if you get stuck don't be afraid to ask for help, stack overflow is pretty good, but you'll get the answer faster if you state what you are trying to do, and how you plan to accomplish it along with a code snippet of what doesn't work and the error message you are getting. Don't expect too much, just a helpful push to get you over your current hump. i.e. If you have 5 compile errors in your code, post one at a time, if you are starting off you'll be surprised sometimes with how many errors a single bug can generate in your code.
[doublepost=1466839459][/doublepost]
Does server administration really have nothing to do with programming? Anyway, of course people exist that have no relevant education but they are few and far between - at least in my country.

Yes, server administration in college is essentially create a domain... Now get some clients on the domain... This is linux, this is the terminal, this is the ping command, these are hardware components and this is their job, etc... Here is a website on a thumb drive, today we're going to publish it first using IIS then Apache. This is SQL, which is hardly relatable to C++, Python, or Swift.
 
How many here make a living in software development without an education?

Not only have a few large famous software companies been founded by college dropouts, but I know of several small start-up software companies that were staffed by people who did not have anything like a CS/EE/IT/STEM degree. The odds are against such, but nowhere near zero.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.