Building websites is programming. Writing HTML and CSS is programming. I am a programmer, and if you're here, reading CSS-Tricks, chances are you're a programmer, too.
The thing is, the details in programming layout with CSS are different, for example, than the details in programming API endpoints with Ruby. Or machine learning with Python. Or programming a browser engine with C++.
But those differences are details! A lot of details, but still... details. It's all programming.
I see programmers like this:
Where do HTML and CSS fit into this weird and cute universe? What is it to program user interface on the web?
Programming boxes, I like to say. Everything is a box, and as HTML/CSS programmers, we program boxes within the domain of the browser. Like this:
So...I believe that we, both as individual programmers and together, as the web slice of the tech industry, need to arrive at a more holistic and inclusive understanding of what it means to be a programmer. This outlook not only makes tech a more welcoming place, but it makes us programmers more powerful and more adaptable.
To me – well, me in 2019 – programming is writing1 instructions for computers that other programmers, such as your future self, are able to read and maintain. As a programmer, I am confident that, once I know one language well, I can learn another one2. At the end of the day, it's all made of the same stuff.
I have been a programmer in this sense for around eight years, but up until about two years ago, I didn't see myself as one. In fact, I was actively opposed to calling myself a programmer, and in recent times I've heard the same sentiment from others. Why, exactly? Is this a reaction to the "not real programming" phenomenon? Is that still happening? What are the impacts? What were the impacts, for me and for others?
Yes, I know 'gatekeeping' – that is, the self-inflating exclusion of others from a community or identity – is a thing, and that some people are just jerks, but I think there is more to this story.
- I highly recommend reading Programming is writing is programming, a post and research paper by Felienne. ↩
- Box programmers: Do they know things? What do they know? Let's find out!! In 2020, my goal is to learn learn Rust, a low-level programming language similar to C++. Correction: my goal is to start learning Rust – that is more than a one year undertaking. Why Rust? Keep an eye on my blog, I'll write more about this soon enough. ↩
- It was hard to choose what to write about for this post! I'm interested in a lot of things, specifically unit testing CSS, my job as a Design Engineer, and exploring/sharing more about CSS algorithms.
- What do you think, CSS-Tricks reader? Do you call yourself a programmer? Why, or why not? Have you experienced this "not real programming" phenomenon? How did it impact you? Feel free to write me a Twitter message or send me an email.