Coding is not about Code:
Carving Your Thoughts in Code


- STATIC COMMUNICATION: When the author is not present to interact with the audience. These are situations like this blog post where I do my best to clearly explain myself in writing, but you’re ultimately reading it without me over your shoulder to answer your questions or explain why I wrote what I wrote. Your understanding of my post comes from your independent experience of the words I published.
- ON-GOING COMMUNICATION: When the author is present to interact with the audience. The comments section at the bottom of this post is an example on-going communication. You get the chance to deal with me personally to clarify any confusing points in the blog post, creating a space where our understandings of this blog post can grow and evolve together. You’ll get the benefit of having your questions answered, but I’ll also benefit by being told about mistakes I made or by being shown new ways to think about what I’ve written.
FIRST, and maybe most importantly, your code needs to make sense to end users. After your code has been compiled and executed the resulting application must be intuitive, focused, and meaningful to the end user. This can be achieved with design thinking and a little empathy for the user. SECOND, your code needs to be clearly understandable to other developers. Whether they’re fixing your bugs, contributing to your project, or integrating your code into their own projects, other developers will need to read and understand your code base. You need to have other developers in mind every step of the way. From the lines of code themselves, through the directory structure, dev environment, and all the way up to documentation and the repository that hosts your code. I like to think of this as “source code UX”. THIRD, your code needs to fit it’s ultimate deployment environment. One trait of a great developer is an intimate knowledge of their tech stack and deployment environment. Details like which pre-compilers to use, what data model is best suited to your deployment, and how to write applications that scale with traffic are all key to successful launches.
So there you are, one more thing to think about as you stare blankly at your editor wondering if your code is good enough to push.
I Hope this helps!
(Check out our open curriculum to learn more.)
Setting Your Goals
Learning to code is not an easy thing! The biggest favor you can do for yourself is to start your journey with purpose. This post will help you set out on the right path.
Studying Like a Pro
Learn how to turn your favorite open-source project into a personal tutor.
Thinking Computer Thoughts
“Any sufficiently advanced technology is indistinguishable from magic.” Why can some people learn to program over night, while others can’t seem to learn no matter what?