Tech in Birmingham - Quick View

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.



1 Like

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.

1 Like

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: (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. :slight_smile:

"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.

FWIW, COBOL has a framework:

Goes back to cave.

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 - (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…
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.

Now that’s an idea - a CS course where all the programming is done using Whitespace!

I’m going to have so much fun with that tomorrow. Thanks :wink:

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; :wink:

Proudly sponsored by Bytemark