Below are the bits of the 2018 StackOverflow developer survey results I find most interesting with two of my hats on: as a business development manager at Softwire, and with my interest in improving inclusivity and diversity in the industry.

I’m curious to hear others‚Äô thoughts – leave a comment.

https://insights.stackoverflow.com/survey/2018/

TECHS/SKILLS

– The popularity of JavaScript and associated frameworks (Angular, React, node.js), and the rise of Python. Certainly these are trends that we’ve seen at Softwire.

– Devops and machine learning/data science are on the rise, and commanding higher salaries than other jobs. Timely for us, since Softwire are starting to do more work in these areas ūüôā

– The more niche languages are still the ones commanding higher salaries. Not surprising but worth us remembering – given we’re a tech agnostic company and many of our developers are into functional languages ‘for fun’. Anyone need Scala developers? ūüôā

DIVERSITY/ETHICS

РThe graph of women’s years of experience is skewed towards the lower end compared to men’s. Hopefully a sign of an increasing number of women coming into tech in recent years?

– Women have the highest representation as academics, QA developers, data scientists, and designers – though still 10-15 times more men than women in those roles!

– DevOps/sysadmin is particularly male-dominated (and highly paid…).

– Women care more about company culture and career progression when looking for a job, men care more about compensation and working with specific technologies. We should remember this in our job adverts.

– The size of the trans and non-binary minority in tech is not *that* much smaller than the size of the female minority. We should remember this in our diversity and particularly inclusion approach.

–¬†Developers are still more likely than not to have a degree. And most developers’ parents have degrees (I’d argue this is a reasonable proxy for social class). BAME representation is very low. Lots more to do on attracting people from a more diverse set of social backgrounds.

– Bootcamps seem to be an important method of learning outside of degrees, which should help with the above. I’d like to see StackOverflow include apprenticeships in the options they survey for next year.

– Parents and those with caring responsibilities are more likely to code as a hobby than average. My guess is that this means parents who code are teaching their kids to code. While great – how do we reach those kids whose parents aren’t already coders? I learnt from my uncle – would I still be working in tech if I hadn’t?

– Questions about tech ethics and AI were included for the first time. This is a good thing even if the results felt rather inconclusive.

Let me know what you think. Did any of this resonate with you? Were there other aspects you found interesting?

Advertisements

Testers sans frontières

I’ve had this blog for a week and have already come up with several new ideas for posts, which is great. Turns out that even just having set up¬†a blog is making me more aware of the times when I do have interesting¬†thoughts or ideas about testing!

Thanks to¬†John Stevenson‘s inspiration¬†which I mentioned last week, I’ll explain how Carlos Ble and I¬†collaborated across international borders on our “Testing, Hacking and Debugging Javascript” workshop at London Tester Gathering Workshops a couple of weeks ago.

How I met Carlos and got involved with LTGW

Carlos is a Javascript developer based in Tenerife, the Canary Islands, Spain. I’m a tester based in London, England. I met Carlos when I attended his talk on Behaviour-Driven Rich Internet Applications with Javascript at SkillsMatter in London last year. My colleague and I went with Carlos¬†and some other attendees¬†to the pub afterwards, where I sadly failed to convince him¬†of¬†the merits of British ale :(.

I then attended his workshop at the 2013 London Tester Gathering Workshops and found myself helping a few of the other testers out with the practical exercises. This was not because I’m a Javascript expert (by any means),¬†but with my coding background I was able to pick up the workshop material fairly quickly. I also¬†asked Carlos some questions which I hoped would clarify aspects¬†of the workshop material for the others, which he told me was¬†a useful contribution.

One thing Carlos and I have in common is being keen to receive and give feedback, so we chatted after the workshop about how we thought it went.¬†We thought it went well but could be even better in 2014 :). So he asked me to team up with him to give a tester’s perspective on the content and also to lend a helping hand during¬†the workshop itself.

How we designed the Javascript for Testers workshop

About a week(!) before the workshop we chatted on Skype to try to work out what we should cover. Carlos created a Google doc where we could start sharing ideas, and included¬†a number of topics¬†from his experience of training developers. The question I wanted to answer though was¬†why a tester might want to come to a workshop about Javascript; what¬†would a tester’s-eye-view of Javascript be?

I remembered that there had been quite a range of coding experience at last year’s workshop,¬†and guessed¬†that there would be quite a few¬†people who would be interested in¬†testing Javascript (i.e. testing¬†websites which use Javascript), and a smaller number¬†who would be interested in¬†testing using Javascript (e.g. as a scripting language to automate testing tasks, or writing or reviewing automated tests for Javascript applications).

My original opinion was that we should focus mainly on the developer tools for the benefit of those testing Javascript. Carlos could then run some practical exercises and koans to introduce those who wanted to test using Javascript to the basics of the language. Meanwhile anyone who wanted to continue learning about the developer tools could split off into a separate group with me.

However, I wanted to test my assumptions that these were the main things testers would want to know about Javascript, so I set up a quick survey for attendees. The results told me that in fact most attendees had at least some coding experience, and some had some quite specific things they wanted to learn around using Javascript for browser automation. Carlos and I continued to share ideas asynchronously via our shared Google doc and came up with a better plan which took the pace of the workshop a bit faster and allowed time to cover specifically requested topics at the end.

On the day itself

Unfortunately, we didn’t quite manage to answer the question of who would run which parts of the workshop until the day itself, which left me a bit worried that I was vastly underprepared (as I said, I’m not a Javascript expert, and the survey results¬†gave me the impression¬†that the attendees had high expectations)! In the end I¬†stuck to¬†what had been useful the year before (helping people with practical examples and chipping in with a few questions to rephrase or clarify Carlos’s points). Luckily¬†it turned out that our plan of splitting into¬†different groups¬†to allow people to learn¬†more at their own pace seemed to work quite nicely. Overall I felt I was adding value both by helping to steer the content of the workshop to be more focused on testers’ needs, and by helping make the pace of learning¬†more flexible for attendees, so I’m pleased with my contribution.

Lessons I would draw from this experience:

Know thy user

I’m ashamed to admit that I underestimated the average coding knowledge¬†of the workshop attendees (or¬†perhaps¬†my survey which asked about coding experience put off people who didn’t have any – I hope not!). The survey results were¬†incredibly helpful though in designing a better workshop – one which I believe met more attendees’¬†needs – compared to the original plan¬†Carlos and I had. Similarly, reading user reviews, running¬†user surveys (e.g. via¬†surveymonkey), or finding other ways to get in touch with users will allow you to help your team create a better application – one which better meets your users’ needs.

Be a tester sans frontières

The charity Medecins Sans Frontières (Doctors Without Borders) send doctors overseas, away from the comforts of their own homes, to countries in which the need for medical care is greatest.

As testers, we can benefit from getting involved with the developer community and trying to learn more about their world. I appreciate this may be easier for me to say as an ex-developer than for some, but even if you don’t know how to code¬†there are still plenty of interesting talks being given by developers about higher level topics such as Agile, architecture, and even testing! Or consider¬†it the other way around; perhaps the developers might benefit from having someone with a testing mindset asking them questions.¬†If you’re interested then check out Test Invaders¬†from¬†the Software Testing Club, or have a browse of meetup.com.

Remote communication is useful, but face-to-face even better

Living on a relatively remote island, I think Carlos is used to working remotely with others. His idea of using a shared Google doc was really helpful; it allowed us to both continue working asynchronously on the plan and suited our busy lives as a way of communicating. However I still worried a lot about how (under)prepared I was for the workshop; yet when Carlos and I met face-to-face in London all it took was a few quick words to put my mind at rest! For me it was about getting that trust and understanding of how we would work together, and it was a lot quicker and easier to achieve this face-to-face.

That’s it – as mentioned, I like to receive feedback, so would be interested to hear your thoughts in the comments. I’m also aware this is quite a long post; is it too long?

New connections

After about two years of my friends and colleagues telling me I should start a blog, I finally have!

The two events which (finally) prompted me to Just Do It¬†both occurred at the recent London Tester Gathering Workshops. Firstly John Stevenson¬†gave me an idea for something specific he’d be interested to read¬†about (so my next blog post will be about how Carlos Ble and I collaborated on putting our¬†London Tester Gathering Workshops session on Javascript together, across two countries – thanks John!).

Secondly Emma Preston encouraged me by telling me¬†she’d been enjoying the comments I’d been making throughout the workshop, and that she’d be interested to hear more from me. Coming from a female tester this was somehow particularly inspiring!

On top of this I was listening to the Ruby Rogues podcast earlier this evening about Creativity in Technology. It discussed some similar ideas on creativity to those which John had put forward in his workshop, which were a bit of a revelation to me:

  • Firstly, that creativity doesn’t necessarily mean “artistic-ness”; just because I’m not good at drawing pictures or composing music, doesn’t mean that I’m not a creative person.
  • Secondly, that the definition of creativity can include forming new connections between existing ideas, as well as coming up with completely novel ideas. This is actually something I think I’m quite good at (spotting patterns between apparently unrelated items) and it’s definitely something that helps me in testing to try and reproduce bugs: “I was clicking around¬†this part of the page, and this weird¬†thing happened…” – then trying to come up with ideas for¬†why A might have caused B.
  • Thirdly that testing, management and the other types of work I’ve been doing all require creative as well as critical thinking.

So both John’s workshop and the Ruby Rogues have inspired me to believe that I don’t need to be coming up with totally new ideas in order to be creative – and that perhaps my take on existing ideas can be novel enough in itself to be interesting. We’ll see.

I’m also keen to get feedback from readers of this blog as to what you¬†would like me to write about – for example if I write a post and it inspires another idea that you¬†would like to hear more about, please¬†let me know.

Anyway, one other thing I want to do with these posts is to keep them relatively short, and not be a perfectionist but just get them published – so here’s to new connections, and the inspiration which¬†getting together with other members of the community at conferences can give you!