Another year had passed for the initiatives across UK to influence industries, schools and each person that it is worth to invest their careers in science, technology, engineering and mathematics. In my previous article on software engineering apprenticeships, I was discussing how important this refocus is for the IT industry. Today, I’d like to deep dive on what else is being done across UK in STEM area.
The report can be found here.
STEM is like the alchemy and magic, just moved forward to 21st century. Being a Star Trek fan myself, I can’t stress enough how important it is for us to learn more from these basic sciences. Especially in the world swarmed by fake news and diluted information, where we are rarely presented with facts. Being STEM-strong is not only a way to find a better career. It is also the best way to understand the world that surround us better.
I believe the strongest points in the STEM achievements / impact in 2020 was the focus to re-educate or upskill teachers, also to help them stay motivated in the teaching business. I would like to see more here, where we would finally understand that underpaying our teachers means no luck with professional development, but also huge problems to businesses. No teachers / low awareness means less and less children selecting STEM as their education and further career path. This will then translate to less innovation and less understanding. For businesses this will eventually mean one thing – fewer profits (due to competition for skilled workforce). For consumers – access to certain goods being too expensive and eventually favouring elitism in access to them (businesses driving prices up).
It would also be great to see organizations like STEM lobbying the government to increase the spend on education and increasing the salaries of teachers. As I know this environment a bit, it is slightly demotivating that by taking up a career in teaching, often means killing any long-life plans like owning your own house.
I will also be watching closely project ENTHUSE, especially with its excellent results despite COVID-19 in 2020, where 90% of girls and 77% of boys, out of 9500, who participated in the program, exceeded expectations in their science exams. The 15000 students now wanting a career in STEM, after being exposed to the project, I am calling JOB WELL DONE! Keep it up!
My placement at Network Rail gave me the opportunity to interact with STEM professionals and see solid application of engineering principles. This enabled me to share real-world experiences in the classroom and build awareness of career prospects and apprenticeship opportunities.ISAIAH OGA, Lecturer, Blackburn College (source)
To add to the report provided by STEM Learning, I have a few words on how to make the curriculum more accessible and more reasonable for technology and specifically software engineers. Zoopla, my current employer is supporting the Tech She Can Charter. This is through providing software engineering apprenticeships (learn more here). It does not come with some bumps, driven by external factors.
One of the biggest blockers in my opinion are the ages-old and mis-concepted views on what a successful software engineer should be. And what they actually do. The requirements or curriculum I have read sounds like written by people who were either never software engineers, or were one 20 years ago. For one, it concentrates on the apprentice to learn that they should be jack-of-all-trades from early on in their career. It rarely happens for an engineer. We often start in one area of specialization. On the other extreme they completely miss out things like user-centric value-based focus and DevOps thinking. Just following the official guideline then, might actually be an impediment in the future career of the apprentice. And pass their exam they need, else the companies which helped them to get to the market will not get a refund from the government grant.
I am wondering who forces the apprentices to show their acumen in writing functional and technical specifications. The futility of documenting software like that was already known in early 2000’s, after the big web-driven bubbles shown that software changes too rapidly. You can describe the behaviours of the system, but how it’s implemented is left to infra-as-code and tests today. System-wide visualisations of data flow can be achieved through tools like app-dynamics or grafana. Functional and technical specifications are long dead.
The next thing, which stands out as a little crazy is absolutely unclear focus on data structures and SQL! Yes, SQL is in use up until today. Yes it is still common, but many places stopped using SQL engines completely. The lack of s3 / kinesis / kafka / dynamo in the learning scope makes the curriculum sound like it was last reviewed in late 1990’s and very much focusing a lot of effort on the wrong thing.
Then comes the crazy focus on the development lifecycle. Most, even the biggest companies, move away more and more from change control. No change control means, that besides following SRE/DevOps-guided patterns, it’s a specific team responsibility to tell how they manage their software. Large, centralized SDLC-based models started dying back in 2008. With more and more focus on DevOps and tooling, this will soon be official that SDLC’s were a complete waste of time. Guide and plan – yes, prescribed processes – no!
Last but not least, I wanted to point out complete lack of DevOps/SRE practices and some common key skills for developers. DevOps and SRE, which focus on culture of building the systems right. Right being – so that they scale, respond to user concern and in most cases will spare the teams wake-up calls in the middle of the night. Huge focus is also put on rationalizing cost and re-usability of the solutions. In terms of missing skills, that skill is communication and proficiency in attending engineering discussions. Ability to show and prove their theories are right by discussing them on wider forums. Be it team or company. Based on facts and insights from real users, not gibber-jabber from business analysts or worse architects.
There is more, but I would call requirements like this, to change immediately. If the wont change, we will keep on educating the apprentices on what they should actually know, along of that stuff you can learn and forget, but you need it for that stupid exam.
A software engineer applies mathematical analysis and the principles of computer science in order to design and develop computer software.
There are many types of software that a software engineer can develop, such as operating systems, computer games, middleware, business applications and network control systems. Changes in technology and new areas of specialization keeps this profession evolving at a rapid pace.
When working with a client, a software engineer will typically analyze the client’s needs, then design, test, and develop the computer software in order to meet those needs. They are experts in computing systems, software structure, and recognizing the limitations of the existing hardware. The process is complicated and intricate, therefore the use of diagrams, flowcharts, and the creation of algorithms to tell the computer what to do are created. Converting these instructions into a computer language (coding/programming) is usually the responsibility of a computer programmer.
Software engineers must also possess interpersonal skills, and be able to effectively communicate with users in order to train, test, and debug software all the way to the end product. They are often involved from the early stages of software planning right through to the testing, development, training, and support stages.A better definition of what software engineers do. Source: https://www.careerexplorer.com/careers/software-engineer/
To summarize. Excellent progress presented by STEM org, despite the tough COVID-19 times. Hear, hear! and WELL DONE! It encourages to look a bit more brightly at the future and hopefully will start addressing some of the UK’s STEM career shortages.
In terms of technology and computing, a change needs to be made to amend the outdated curriculum. Make it meet more what actually software engineers are. And they are people who primarily solve technical problems for end users, applying software skills. They are not some backend clerks, spending time on useless documentation or being told what to do. True engineers are closer to artists, just a little bit more pragmatic. The curriculum should emphasize more these technical problem solving skills, rather than tick-box skillset, which is in most cases outdated anyway.