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:

An illustration of three scenes, each with a monsters doing a different looking puzzle. In each scene, the moster is labeled as a programmer, and the puzzle is labeled as the programming language. The first scene is C++, the second JavaScript, and the third, Python.

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:

Another illustration with a scene where a monster is working on a puzzle, but this puzzle is clearly made of layers of boxes. It is inside a blue square that is labeled 'Browser', and the monster doing the puzzle is very cute with three eyes. It is labeled Box Programmer.

Cute. So?

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

And yet…

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.

So, what’s interesting to me3 about building websites this year? Talking to others who build websites4 and beginning the process of answering these burning questions.

  1. I highly recommend reading Programming is writing is programming, a post and research paper by Felienne
  2. 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. 
  3. 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.
  4. 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.

The post We are Programmers appeared first on CSS-Tricks.