Hi all,
Wrote a report a while back on the the skills gap, and the tech scene in Birmingham. Recently posted a blog summary here that you can check out. Let me know what you think.
Cheers,
Chris
Hi all,
Wrote a report a while back on the the skills gap, and the tech scene in Birmingham. Recently posted a blog summary here that you can check out. Let me know what you think.
Cheers,
Chris
This is a strange article.
Stating Birmingham is young is wrong. It isnât young. Itâs been around for quite a long time. At least since Anglo-Saxon times.
Tech is not an immediate answer to NEET (not in education, employment, or training). Working in tech is hard. You need to do that education piece first. Then youâve got a chance. Tech is not equal to typing. Even more than two-finger typing does not equal tech. Itâs not about fingers. Itâs about learning tech. Actually, itâs not about that either. Itâs about people, and understanding complex problems, and abstraction, and modelling, and lots of other things. And then learning tech stuff. Thatâs what tech is. Itâs not typing, though. Although we do type quite a lot, which might be confusing.
âTools and frameworks are outdated every couple of months.â No theyâre not.
âUniversities are probably better off teaching skills that are not tied to frameworks or even languages.â Zoing!
âThe argument is that graduates just havenât got the experience of real-world coding projects that they need.â Thatâs okay. There are thousands of âprofessionalâ developers who havenât a clue either. P.S. You donât go to school for work experience.
âOne word kept popping up again and again when speaking to companies about what they are looking for in the workforce â aptitude.â By aptitude, they mean compliance. Or, perhaps, aptitude for compliance. Donât fall for it.
âSo anyone can learn to code, right?â You know that monkeys and typewriter thing? Yeah, that.
âI think collaborative, project-based learning environments solve both of these problems.â You lost me at âbothâ, but the rest is solid. Your final paragraph may have saved you.
âJust by adding another person, a task can become infinitely more engaging and people can support each other.â This is true.
This is the argument I used to have with one of my old bosses. (Itâs possible Iâve spoke about this on the forum before, but if I have, Iâm far too lazy to go find it).
We would take in work experience design students from university, and the first thing he would ask was âdo you know photoshop?â, to which the reply was often no - he would then go off on one about how university is a waste of time because of this lack of photoshop trainingâŚ
âŚof course, what he didnât seem to understand is that University isnât about teaching software, but rather itâs about teaching concepts - which in the case of design (Iâm guessing, seeing as Iâm no designer myself) that would be things like colour theory, page layout, whitespace, etc⌠Can you teach these things without photoshop? Of course you can - just grab a pen and some paper.
Technology and/or programming is a different kettle of fish, however.
Sure, itâs possible to teach coding concepts (variables, conditionals, etc) without the use of a computer - something weâve discussed here - but until you can do it yourself for real, itâs hard for the concept to properly materialise in your head - and so you end up with the awkward problem of having to teach a programming language as a vechicle to teach the concepts.
Couldnât you just use pseudo-code? I havenât been to university to study CS, but it strikes me that using any language purely for demo purposes is arbitrary, and therefore may as well be pseudo-code.
Again: didnât study CS, so you can probably discount the above.
To teach the concept at a theoretical level, sure, but thatâs not the same as actually being able to employ said concept and actually use it.
For example, (using the design analogy again - apologies if Iâm way off here), you can teach the theory of, say, whitespace, to someone, and they might understand it, but until they get to actually put the concept into action, theyâll never really know it. Thankfully, with something like whitespace (and a lot of other design things) you donât need Photoshop to use it, as this can be done using nothing but paper and pens, and theyâd have still exercised the concept, and used it in practice, thus gaining experience.
Compare this to scripting, however, and itâs a whole different story. Pseudo-code only takes you so far, and doesnât let someone explore a concept or put it into practice - to do that, you have to use a real programming language.
To take an example from my own university career, I remember one of the modules I did used ASP (the professorâs language of choice) as a vehicle for teaching the concepts at hand (I think it was e-commerce). But because I was more familiar with PHP at the time, when it came to submitting my assignments, I did so using PHP.
Birmingham is well known as being a âyoungâ city in the sense that it has a very youthful population compared to other cities.
@drewstiff (cc @auxbuss)
Show me the data: http://www.cityam.com/212221/uks-ageing-population-use-interactive-map-see-countrys-average-age-getting-older (provenance TBC) indicates Brumâs median age is <34.5, which is comparable with London, Bristol, Cardiff, etc. The dataâs not got enough detail do go deeper, though.
And, of course, âyoungâ is in the eye of the beholder.
"Birmingham is a youthful city
We have more people in the younger age groups, while England has a greater proportion of older people.
The âbulgeâ around the 20-24 age group is mainly due to students coming to study at the Cityâs Universities.
45.7% of Birmingham residents are estimated to be under 30, compared with estimates of 39.4% for England. In contrast 13.1% of our residents are over 65, compared with 17.6% nationally"
This is the oft-repeated stat that I was referring to, take it as you will.
Ah ha - thatâs much better detail than I found. Nice
Theyâre not, but the cheerleaders will have moved on (xref: magpie developers) and as theyâre the most vocal, they give the impression that the âfast movingâ world of technology has moved on. Anyone using last yearâs tech is waaay behind the times, and not fully exploiting new developments (although thereâs a reason itâs called âthe bleeding edgeâ)
I recently took on a new project/job, with a tight budget and tighter deadlines. Iâve built something that has not only met, but exceeded the clientâs expectations, in a timescale that has totally shocked them (and this isnât the first project theyâve outsourced). I used Perl (because the Catalyst framework is mature, efficient, delivers everything the client needs, and is quick to work with once youâre familiar with it), MySQL (because the data is, by its nature, relational and totally fits the use-case for it), and DBIC (as a DBA, I tend to dislike ORMs due to the way they can algorithmically generate queries that can bring a server to its knees, and itâs always the databaseâs fault and never the codeâs - but in this particular case, itâs a useful tool to shift the âcomplexityâ out of the app).
Possibly the most âmodernâ thing Iâm doing is using SASS for the CSS, but Iâm sure thatâs probably already been replaced by something else. Oh, and exactly zero lines of JavaScript right now - it simply doesnât need it (although I do need to add better feedback on a large file upload feature, which obviously is going to need a sprinkle of JS magick)
If the cheerleaders are to be believed, this new project is already horribly outdated and needs rewriting in a more âmodernâ language and needs to include a laundry list of the latest JavaScript libraries. Never mind the fact that it actually works, services all of the clientâs needs, and (in their words) âcompared to the previous {application} yours is a michaelangelo masterpieceâ. Iâm not using sexy new technology, so itâs no good.
Tools and frameworks are not outdated, just because the blog/podcast of a âcelebrity developerâ shows theyâve moved on to something new. They (and the industry as a whole) always needs new content. Your client just wants something that works. Once you figure out whoâs actually paying you, you know who to listen to.
Several times Iâve considered putting forward a presentation on how (in my opinion) computer technology has lost its way at some point, and now seems to focus more on always using the latest shiny development in favour of more mature/stable technologies. However, I donât particularly fancy getting tarred-and-feathered for my refusal to bow down before the Church of Shiny Sexy New TechnologyâŚ
I agree with this, tech is a very specialised field, you need to know a lot before anyone will hire you and many companies wonât hire people without experience. âLoving techâ is not enough, people need to be good a logic, puzzles, maths etc. I donât know what the make up of the NEETs are or why they are not working. The idea that everyone can code is misleading, in the same way that everyone can understand a bit about medicene but that doesnât make them a doctor. Everyone can learn a musical instrument, but itâs a long hard slog before you can get paid enough to support yourself doing so.
I think the barrier to tech is that you need to spend 1000s hours either in education, training or teaching yourself before you can get paid to do it.
Counterpoint: in a couple of years when your client decides they want a rewrite/rebrand and you arenât able to do it, are they going to be able to find local(ish) Perl devs to update your code?
I donât disagree about JavaScript frameworks being flavour-of-the-month and all that, but an app written in JavaScript is an app written in JavaScript. If someone has never seen Perl before (raises hand) they canât do anything with your code and thus your clientâs tied either to you, or an increasingly smaller group of possible devs, right?
That said, Iâm not really sure what a viable alternative would have been. Java, maybe?
âThe argument is that graduates just havenât got the experience of real-world coding projects that they need.â
Itâs probably true to a degree - but many of the local universities are encouraging students to take placement years now - so many graduates are leaving Uni with a years industrial experience under their belts. Aside from schemes like the student company ran by Aston, Iâm not too sure what more academia can do on this frontâŚ
I think itâs because the tech industry is still quite young and fast moving. Though itâs worth remembering, some of these new technologies are not that new, Perl is from 1987 and PHP, Python, Ruby and JavaScript are all from the 90s. Frameworks are evolving more quickly, though the idea of trusting a framework is pretty new (wasnât common in 80s, 90s, or early 2000s), I think we are still working out good ways to do these things.
There are places using âmatureâ languages such as bank which have Cobol and Fortran, though Iâm not sure Iâd want to work on such a thing.
Wow⌠thanks for reading it people. If you are interested (rather than going around in circles on here) Iâm happy to meet up and chat about the post/report. The blog post is brief, and a loose summary, but most of the questions here might be answered in the report - http://www.schoolofcode.co.uk/Coder-Supply-and-Demand_School-of-Code.pdf (although Iâve probably just opened another can of worms thereâŚ).
Iâll just pick a few comments for now - [quote=âSteve_Pitchford, post:14, topic:2531â]
Itâs probably true to a degree - but many of the local universities are encouraging students to take placement years now - so many graduates are leaving Uni with a years industrial experience under their belts. Aside from schemes like the student company ran by Aston, Iâm not too sure what more academia can do on this frontâŚ
[/quote]
I agree. Placement years are good! Thatâs basically the conclusion of the report. This isnât a âdonât go to uniâ thing, itâs a âhow do we open up the route into programming, and whatâs the current state of thingsâ thing.
The truth is, I think, that technologyâs influence and reach will only grow. And although we have great academic institutions, I donât think we have mastered how to teach it - in the scheme of things its a pretty young subject!
The comments about Birmingham being young⌠I think people got that (in the end), right?
I donât think tech is âjust typingâ, and not really sure what to do with that whole slightly patronising passage - many more people than are currently in tech are capable of learning to problem solve, abstract, and research. Tech is great for instilling ambition; become the next Zuckerberg with just an idea and computer, or just enjoy the ability to create your ideas out of nothing. There is no immediate answer to the NEET problem, or many other problems, but all sorts of people are capable of some pretty great things - Iâm interesting in finding the best way of giving people the tools and ambition to realise their potential.
The other point to make here is now, and especially in the future, tech will encompass much more than just development. People of all job roles will have to interface with technical people/problems and will need a certain amount of understanding to communicate with each other. So the end goal of learning to code can be varied.
Iâm going to have so much fun with that tomorrow. Thanks
No, no! It wasnât patronising. Lots of folk believe that development is just typing. It was just a little joke. A bit of levity. Being playful.
Youâre a sensitive millennial, right? Thatâs patronising;
Proudly sponsored by Bytemark