Coding as a career?

Hi

So I have tried Scratch, abit, on my raspberry pi and liked it.  Took a lot of concentration but was wondering with the rise of AI, if it was worth pursuing as a career.

I tried a legal career and couldn’t even get my foot in the door.  So taking later risk of upgrading my computer to do this is, worrying. 

Anyone got any advice?

  • I always strived to learn how they made chiptune scores for crack software.  They were often completely written in asm, but had full tunes that would run for minutes long, all in an executable that was often only 20-30k.  That was how i first got interested in it.  Well before University.  i did manage to make it play something after much faffing, but I was in awe at people who could write a chiptune symphony completely in asm.

  • It certainly doesn't have to be all about being a coder by trade. I've used my coding skills in several jobs outside of software development. It can be very handy to be able to write scripts, or plugins for other software, to automate otherwise tedious computing tasks. For example, when I was a CNC machine operator, I often wrote little Python or Ruby scripts to tidy up the data used to encode the machine's movements ("G-code") so that jobs would run a little faster or more safely.

  • I still do a bit of ASM coding now and then, though only for small time-critical routines within a wider framework using higher-level languages. There certainly are niches for it where microcontrollers with limited resources are used, or in the design of compilers/interpreters for higher-level languages. In my teens, I was much better at it, as it was the only efficient alternative to very slow BASIC interpreters on the old 8-bit machines that I started out with.

    The biggest problem is the lack of portability - moving from one chip architecture to another can be really hard as you often have to learn a whole new instruction set. I think that getting a little taste of it can be useful even if you don't use it in earnest, just to get a picture of what really goes on within the hardware and gain some understanding of why some algorithms might work more efficiently than others; though certainly not essential.

  • I'm going to be less optimistic than most.

    If you try programming on the pi and find it fun and engaging and interesting, then it's worth building that skillset and turning it into a vocation. It will still be difficult to find your first job though, as most employers want fresh faced new graduates in a "relevant" degree.

    That means enticing someone to employ you through other means. This could be using your programming to help you do a different job better, contributing in a substantial way (i.e. a few hundred hours of unpaid work) to open source software or relying on nepotism/cronyism.

    If you're just looking for a new career and that's the only reason you're learning to code, I'd suggest looking elsewhere. Even in the same industry, something like software testing is far less glamorous (and only a little less well paid) and is also suitable for people with a degree of autism, so explore things like that. People that don't enjoy programming have short unhappy careers because they're amongst others that absolutely love it.

    Don't worry about AI, or even about jobs being offshored. Both of those will happen but almost every company still needs UK based people, and someone still needs to program and configure the AI, to test its output, to fix and supplement it.

    Bear in mind though that programming is (counter-intuitively) a very social activity. You almost always program within a team, and good communication is essential. Luckily most programmers are good at clear unambiguous communication, as that's what computers need, so good interpersonal skills aren't as important as in many roles.

  • The old probes sent out long ago all ran on chipsets that used it, mainly due to the lack of ram and storage.  I think the one last year was a probe that was leaving our solar system and needed some final updates, so it was time sensitive on top, plus the chipset used was very specialised.  Apparently the people who built and configured had all since passed, so no one was left who could do it.  They published the requirements and software online in the hope someone would look at it, maybe learn it enough to get them out of the problem.  no idea if anyone did, but they were offering a decent sum for about 6 months work.

    As for difficulty, asm is difficult.  Not for the faint hearted.  Its not something I do anymore.  i never was any good at the higher level languages, but managed to pass that module and vb.  I can still debug code in python and php, but I dont write it.

  • Hey :) Coding is a really important skill that not enough people know relative to industry requirements! But it's not just about coding, but being able to apply it somewhere (building websites, software design). It's hard work, but can be very lucrative :D 

  • Assembly code was part of my Master's in Electrical and Electronic Engineering and I found it very difficult, a lot harder than the high level languages. But because the degree with so wide with programming, maths, physics, business etc I didnt really have the time to properly have a go and focus on it. That is interesting to hear that NASA has an application for it

  • I bought a Raspberry Pi at my last company to play with - interesting - but I couldn't think of anything to actually do with it that I couldn't already just go and buy off the shelf.

    What applications are you thinking of?

  • u have such a good attitude  :)

  • If you can code, you can learn to programme PLCs (Programmable Logic Controllers).    They are used absolutely everywhere in industry in production environments controlling everything from conveyor lines to environment controls to vacuum systems to lighting systems - they are simply a box with some inputs and outputs with a little programme running to look at the input, make decisions and drive the appropriate outputs.

    There are only a few major manufacturers (like Siemens or ABB) and their training is all on-line so you can train yourself at home - and you can get an old unit from ebay to practice with.    There is a whole range from little 4-input, 4 output modules all the way up to complex expandable systems to run whole factories with graphical MMI.!

    There are always jobs in this niche industry - on BIG money.

  • If you do then learn something niche, like assembly.  Everyone and their mother can code in python, java, c++, but not many can code in assembly and even less can do it well.  It was one of the few things i enjoyed on a degree I I did in Wales some years back.  I think it was last year NASA was looking for someone that could write assembly for one of the probes they sent out long ago.  they wanted someone who was able to write code for a chipset that had quite limited ram, i think only a few kilobytes, so you had to be a bit of a guru, but they were offering good money for the job.

    If you learn python, java or php, well I would say dont bother.  The market is already saturated with programmers.  Also to get to the level at which a company would hire you is hard and takes a while.

  • Unfortunately, the sad truth is that autism, despite is high profile, is still widely misunderstood by employers and particularly interviewers. Coding is a very useful skill to have but just getting through the door is hard enough and once through the door is just the start of more issues. I've programmed in over 20 languages and I have a PhD in engineering but that hasn't made me any more noticeable to an employer. I think the application is more important, i.e. what you use those coding skills to do, e.g. web development, IoT development, machine learning, graphics, databases, etc. Pick something and create a portfolio of the things you have done.

    If you are just starting out then the best way in may be to volunteer at a company to get a feel for the conditions. You won't get paid but you should still qualify for ESA (and perhaps PIP). See how you get on. You may get lucky and invited to become a full employee but at the very least you will gain valuable experience.

    One thing you should be prepared for is that you will very quickly become normalised. That is, colleagues and managers will see your disability less and less, which may sound ideal, but it is exactly the opposite. Try to build some form of network of people that you trust and use them to sound out issues. Secretaries and other clerical staff are very useful for this because they can escalate any issues you may be having to the people that could do something about it and they often don't get much credit for what they do so they are usually up for a supportive chat every now and then. Sadly, some managers try to bottleneck any support you get by forcing you to go through them and it becomes a mechanism for control and abuse. Even companies with a progressive attitude towards autism fail a lot because the internal culture is so poorly developed.

    Good luck.

  • I seem to have wrongfooted myself as I have 21 years support experience - or more accurately 10 in support, 10 in capacity planning.  All of this was offshored and I became redundant...

    Am currently recovering my health...

    I tried going through Auticon - they didn't want me as they want devs not sysadmins..

  • This is a similar story for me and two of my friends. All of us graduated with technical degrees (engineering and computer science) but have struggled to find employment in these fields. We excelled academically but the sad reality is that it is a very competitive job market and employers tend to favour social skills and extracurricular over technical skills nowadays. What's worse is that people from my class who failed to understand basic concepts easily got into engineering roles because of their ability to talk the talk. A very sad reality of the current climate that the job market is not catered for great minds with some social difficulties 

  • Both of the fields you have described are very competitive to get into nowadays. I done a Master's degree in electrical engineering and struggled to maintain employment after uni mainly due to struggling with the social side of things. My friend done a computer science degree and is also struggling to find employment in coding or other similar fields after almost 1 year. Basically if you want to succeed as a programmer you will need to not only put your soul into getting a qualification and lots of experience outside of uni, you will also need to be able to cope with the social side of passing an interview and demonstrating yourself to an employer

  • Hi, I think this is a great pursuit to follow if you enjoy it and coding is a great mixture of logic and creativity, that can solve real-world problems. Some technology companies are actively recruiting those on the spectrum for technical roles via interview processes that don't require speech and sensory processing of verbal communication but use a series of practical tests to assess candidates. One such company is Auticon which was created specifically for those on the spectrum to become IT consultants in varying roles and with projects being assigned matching skills and requirements. They look for those with an interest in and some experience of programming languages and provide on the job support. I believe Microsoft also have an autism-specific programme for recruitment, along with an increasing number of companies. Wishing you all the best

  • As a means of preventative Covid 19 self-isolation, i have started working on electronics, micro-controllers and their coding. Arduino, Basic Stamp and others. There's an Arduino Starter Kit on the way.. I tend to think of it as comparatively cheap edutainment, as I really do like fixing things; despite some obvious dyspraxia. It's my way of persisting in trying to solve my  life issues. It might also lead to some sort of informal employment arrangement. Or I can just do it to look after my own life. I love working with wood really, but even more traditional skills can come with a digital (and analogue) makeover these days.

    I am basically retired and well over 60, but I look on this as a means to supplement my handicraft skills, rather than a career move. I'm very interested in the IOE, but I'm much more interested in environmental monitoring than in robotics. And I'm constantly thinking about energy conservation and the whole idea of reuse/recycle/repurpose. I am very much in favour of having a second life/career. I like the idea of dying while still doing. ;-)  Raspberry Pi also appeals, and i have also been doing an online course on Python for data analysis. I'm not sure I really want the badge that goes with that course, but at least I'm getting some sort of practice in before i actually purchase a Raspberry Pi.

  • I was good at coding in school/uni. But I couldn't get a job after graduation in that field and lost all interest. (seeing source-code now frightens me)

    The problem was me; not doing anything extracurricular. I just studied the notes and expected success. Plus, others misled me back then, and still can.

  • For context; I've been coding for well over 30 years now, since I was in my teens. Coding has only ever been a small part of the jobs that I've done, but a few have involved working very closely with coding teams (mostly I did GUI and hardware design officially).

    Firstly; you can get a long way learning coding without needing a top-spec' computer. Until you reach the point of doing very advanced coding for games or AI, even a really basic off-the-shelf PC is perfectly capable of being used as a platform for learning to code. For most of the commonly used coding languages you can get all the tools you need absolutely free, and the internet is absolutely full of great tutorials and examples to learn from. It really doesn't have to be expensive to become a capable programmer - in fact, learning how to get the most out of limited hardware can be a very valuable experience.

    Those advanced  areas are also only a very small part of the range of software that coders work on - for example; everything from cars to washing-machines use "micro-controller" chips, which are even more basic than your Raspberry Pi, but still work by writing code for them. Other coders might specialise in the "back-end" (behind the scenes code) of internet sites, or become administrators for corporate computer networks. So, if you become good at coding, there's quite a range of alternative career options, and in some areas, the option of being a free-lancer who works from home most of the time.

    The most important thing by far is to get plenty of experience at writing code, and to make that experience as broad as you can. For example; you'd be best to learn several different coding languages, and once you're up to speed, to get experience of team-work by working on open-source projects. One of the advantages of coding compared to many careers is that you are much more likely to be judged by what you can actually do in practice rather than formal qualifications (there's an in-joke amongst coders that university graduates with a computer-science degree are usually hopless at coding!)

    It's only fair to say that there are downsides, too. Working as a coder can mean working under a lot of pressure to hit deadlines; and the deadlines are often set by managers who don't really understand coding, so can often be very unrealistic. The companies who make games are particularly notorious in this respect (I haven't done it myself, but I've worked with coders who have); they often expect huge amounts of overtime when a deadline is coming up, for example, and can be very quick to replace staff who won't do it.

    And of course, there are aspects of being a coder which are just the same as any other job - expectations of socialising with colleagues, psychological nonsense at employee reviews, and all that kind of stuff. However, I have found that working alongside coders can be better in this respect, as there definitely seems to be a higher proportion of people with Aspie-like traits, even if they might not be diagnosable as autistic.

    The most important thing I'd say, is that you have to have a passion for writing code - all of the best coders I've ever known have been mostly self-taught rather than having studied formally, and many code as a hobby as well as for their jobs. So I'd recommend doing a bit of on-line research, pick a coding language or two (it doesn't really matter which ones at first - a "scripting" language like Python or Ruby is a good place to start), and just get stuck into it to see how addicted you get! Even if you decide against a career in coding, you may discover that it's a very rewarding hobby.