Year round learning for product, design and engineering professionals

Monday Profile: Rachel Andrew

Rachel AndrewMonday Profile today again shares an interview we conducted with a Code conference speaker.

You’ll find all these interviews (and a lot more!) in the second issue of our Scroll Magazine.

This week, it’s with Rachel Andrew, whose talk and workshop on CSS Grid Layouts should be a conference highlight.

Rachel Andrew: In Person

Q What made you decide you could do this for a living?

A Despite being the daughter of a programmer, I had no intention of working with computers. I trained in dance and music theatre and I was convinced that my future lay in the theatre somewhere. Life had different ideas and I began building websites when pregnant with my daughter in late 1996. By the time she was three years old I was proficient enough to be offered a job in a dot com company. I’m curious about how things work and not afraid to play, experiment and get things wrong. That, coupled with an ability for unpicking complex problems, has made up for my lack of formal training in computer science – though I sometimes find myself searching for the definition of something that everyone else seems to know already!

The web is a great place to work for the polymath. Most of us aren’t sitting in cubicles working on small parts of systems – we get to build large chunks, sometimes even entire experiences. I love that there is always something new to learn and it might be in a completely different area to the last thing I studied.

Q Have you ever coded live on stage, or in front of an audience? How did it go?

A I’m not a fan of live coding in presentations, unless the presenter is truly exceptional at it. There are a few people who really have this skill, however much live coding results in fumbling through examples – often with the audience yelling out corrections to the presenter’s typos! In presentations of an hour or less I prefer to have my code on slides, that I can then talk about. I often link to fully worked examples for the audience to take a look at later. This approach lets me craft a talk of the right length that hits the things I want to share with the audience.

In my day-long workshops I do live code, however I begin with a set of starting point files on CodePen, and we work together to build out the examples. I try to keep the typing to the minimum required to show the techniques – partly to focus on what we are learning but partly for self-preservation. Three years ago I shattered my elbow and have about 30% use of my dominant hand. Typing all day is pretty difficult for me, so I try and keep the examples streamlined.

Q How do you further develop and extend your skills? Books, courses? Noodling by yourself?

A I attend a lot of conferences, I enjoy seeing talks that are on areas I don’t do so much myself. I’m a developer, so it is interesting to sit in on a design talk; I’m not someone who uses JavaScript frameworks such as React, so it is interesting to sit in on a React or Angular talk. I find different approaches make me think about the things I do in a different way.

In terms of CSS, I mostly learn by reading the specifications and building examples. Even where no browser implementation exists, I’ll usually build examples just to clarify how it is supposed to work in my own mind. That is where a lot of my work on CSS Grid started – I was building examples of something that didn’t yet exist in any browser and then as implementations appeared I could see if what I thought was the case, actually worked!

Q Is it better to learn HTML then CSS then JavaScript, or JavaScript then HTML then CSS, or all three at once, or something else?

A HTML and CSS, then JavaScript. You need to understand the DOM and the presentation layer that is CSS before you start using JavaScript to manipulate it. In addition, there is so much now that is part of CSS that traditionally we would have had to use JavaScript for – it is worth making sure that you aren’t using JavaScript for something we have a perfectly useful CSS property for.

Q What’s the best way to get more women coding?

A I’m not sure I have a good answer to that, however I mentioned that my father is a programmer. He was a programmer all through my childhood and worked at Newcastle University in the UK. We would sometimes go visit him at the computing lab, and there I took away the impression that programmers were mostly women. It was women I spoke to, sat amongst the giant whirring computers. It never occurred to me that this wasn’t a job for someone like me.

I think having role models who represent the different reasons why people get into this field has to be a positive thing. Some people are genuinely interested in code, in and of itself. Others are perhaps more interested in running a business, creating products – and writing code is just the route to being able to do that. For young people to see that is I think important, and as important for young men as well as young women.

Q Frameworks. What’s your take? Are they good, bad or does it depend on how you use them?

A It absolutely depends on how you use them, that is the same for any tool. I would encourage anyone who wants to work as a professional in this business to learn HTML and CSS, understand the basics of Accessibility, and also learn a solid amount of vanilla JavaScript. The reason being that these languages and principles are pretty timeless. They will outlast your understanding of the framework of the moment, and they will enable you to make good decisions about frameworks rather than being swayed by what everyone on Twitter is saying.

From that point, you need to look at the business requirements for the thing you are building. How much time have you available? What are the upsides of using a framework, what are the downsides? Does one outweigh the other? You can usually fairly easily make those decisions, and then be in a good position to address any potential downsides with your choice.

My real concern with frameworks is that a complete reliance on tools and frameworks is creating abstractions to the extent that people are unable to engage with the underlying languages. This means they struggle to debug issues, as they don’t understand how to create a reduced test case without the involvement of the tool. It also means that they don’t butt up against places where our core specifications are lacking. I’d love for more people to be looking at the CSS specs for example and asking “why can’t we do x?” If folk are always working with an abstraction they are less likely to do that, instead just working with what their favourite tool gives them.

Q Tabs or spaces?

A I really don’t care. Be consistent with the rest of your team. There are better things to worry about.

Q What’s on your horizon?

A A lot of travel! I’m speaking at several conferences about Grid Layout and related CSS specifications. We’ve also got a bunch of exciting things planned for my CMS product Perch and Perch Runway. Lots to do – but I like it that way!

Like to watch and read more like this? Be the first to score invitations to our events? Then jump on our once a week mailing list where we round up the week’s best reading and watching on all things Web. And you’ll get a complimentary digital copy of our Scroll magazine.

delivering year round learning for front end and full stack professionals

Learn more about us

[Web Directions] is a delicious mix of things educational, social and mind-blowing. It’s time out from the hurly-burly to step back, get some perspective, and develop new ways forward, fortified with a whole lot of new stuff in your head.

Chris Stephens Technology Director, Mozo