Hello, World! Should Attorneys Learn to Code?


4-Step Computer Security Upgrade

Learn to encrypt your files, secure your computer when using public Wi-Fi, enable two-factor authentication, and use good passwords.

Having authored a computer language for attorneys, you might think my answer to the question of whether attorneys should learn to code is an unqualified “Yes.” In truth, my answer is “It depends.” It depends on what you mean by code. It depends on who you mean by attorneys, and it certainly depends on what’s behind that should.

This is the first in a three-part series. The second part is here. If you make it all the way through, you will be a coder.

Disruptors, Liberal Arts Majors, and Pragmatists

Champions of the idea that attorneys should learn to code fall along a spectrum. On one end you have the Disruptors. They see the disruption that software and coding has inflicted on other industries and adhere to the mantra “disrupt or be disrupted.” If you push, they might admit that attorneys need not include all attorneys. However, they’ll be quick to point out that those who learn to code will find themselves with a competitive advantage. For the Disruptors, coding is a force multiplier, allowing one to become faster, better, stronger. For the Disruptors coding means doing what the professionals do: building production-ready scalable products that might just be the next big thing.

On the other end of the pro-coding spectrum stand the Liberal Arts Majors. For the Liberal Arts Majors, coding is logical thinking made concrete. They see the structure of coding as an analog to the law and legal argument. It sharpens the mind and so improves one’s lawyering. For them, asking if attorneys should learn to code is like asking if attorneys should read fiction. Although they may use their skills to automate repetitive tasks and streamline workflows, the impetus behind learning to code is one of self-improvement. They’re not rolling their own CMS.

It’s easy to dismiss arguments at the ends of a spectrum; after all, that’s where we find straw men. There are may ways for Liberal Arts Majors to sharpen their minds that do not require learning to code, and there is something to be said for leaving the construction of tools to the experts instead of Lawyer-Disruptors.1

It’s not often framed this way, but attorneys are information workers. Consequently, information technology is not some unrelated field. IT tools are quite literally the tools of our trade. We should strive for an ideal articulated by Tim Hwang, the “philosophy that the specialist should control their tools and not the other way around.”

This brings us to a point somewhere in the middle—that of the Pragmatists. For them, it’s important to know enough about how things work to call BS and separate the snake oil salesmen from the true miracle workers. Just as important, however, is that they have an understanding of what’s possible. This allows them to become faster, better, and stronger by seeking out the best of what already exists and helping the “experts” to build better tools. For the Pragmatists, learning to code is about literacy, not mastery. It’s about understanding the lay of the land, and this framing is harder to argue against than the extreme view embodied by Disruptors. After all, when we say everyone should learn to write, rarely are we arguing that everyone should write novels.2

Luckily for us, Disruptors, Liberal Arts Majors, and Pragmatists interested in learning more all start their journeys in roughly the same spot, even if their paths quickly diverge. So all are welcome here.

Learning to Code

We’ll set you up with a sandbox to play in. Then you’ll learn by doing. We’ll marry Google Form data with MS Word (think document automation), and you’ll get a chance to build your own Twitter bot (think @LOLSCOTUS).

Along the way, you’ll be introduced to Python, Jupyter Notebooks, APIs, and regular expressions, which, if you ask your coding friends, are all pretty big deals. To be clear, doing the homework accompanying these posts will make you a coder in the same way that jotting down a shopping list makes you a writer. Mostly, you’ll be learning nomenclature and following recipes. Small steps? Yes, but steps nonetheless. Where you go from there, and which camp you eventually join, is up to you.3

The next post will be coming out in two weeks, so you better get on top of your homework. It’s a simple “Hello, World!” That is, it’s a program with the sole task of printing the words “Hello, World!” Mostly it’s a way to make sure you have everything you need for the next post when we start to get “fancy.” If you have any issues following along, please let me know in the comments or on Twitter @Colarusso.

Homework: Install and Test Drive Project Jupyter

We’re going to be doing most of our coding in notebooks. Basically, a notebook is a programming interface that lives in your web browser. To run your notebook, you’ll need to install some software because although the interface lives in your browser, the code doesn’t run on the web. It runs on your computer. This will give us a good amount of freedom. Among other things, it will allow software on your computer, like Word, access to your work. So let’s get started.

  1. Download Anaconda. We’ll be using Python 3.5. Pick the version of the visual installer that corresponds to your computer’s operating system (i.e., Windows or OS X). If you have an older PC and aren’t sure whether your OS is 32 or 64 bit, you can check by following these instructions. Chances are, if you have a newer computer it’s probably 64 bit. Note: when you click to download the installer, you’ll probably see a prompt asking for your email. This is optional.
  2. Anaconda Download Image

  3. Start the installation of Anaconda by double clicking on the file you just downloaded, .exe in Windows or .pkg in OS X. This will launch an installation wizard. The default selections should work for our purposes though you may want to opt out of creating desktop shortcuts as we won’t be using them.
  4. After installing Anaconda, open your terminal (Mac) or command prompt (Windows) and type jupyter notebook. Hit the enter/return key. If you don’t know how to open terminal/command prompt, here are some instructions for Mac and some for Windows.4 This will open Project Jupyter in your default web browser.
  5. Terminal Prompt with 'jupyter notebook' command

  6. In your Jupyter window, navigate to the file folder where you want to save your work. In the top right of your window, you’ll see a drop-down menu labeled “New.” Click on it and choose “Python 3.” Note: this will create a .ipynb file in the currently selected folder and open an Untitled notebook.
  7. Python 3 Dropdown

  8. You should see something like the image below. The cell preceded by In [ ]: is where you will type your code.
  9. Blank Jupyter Cell

  10. As you know, today’s program is simple. All we want to do is print the output “Hello World!” In Python 3, this is done by typing print () with your desired output inside the parentheses. So go ahead and type print ("Hello World!") into the cell. Text has to go inside quotation marks.
  11. 'Hello, World!' Jupyter Cell

  12. To run your code, make sure that your cursor is in the cell. Hit the run code button, the one that looks like the ‘next track button’ on CD player (right arrow with bar). This will run your code, and directly below your cell, you’ll see your output.
  13. Jupyter Cell with Output

Congratulations! You have successfully run your first program. To exit, choose File and then click Close and Halt. Then close your terminal/command line.

If you want to play some more, see what happens when you type and run the following.

output = 1 + 2
print (output)

Wait for it …

See you in two weeks.

Featured image: The Great Red Spot from NASA’s Voyager space probe, public domain.

  1. I fear, however, those who argue against the Disruptors by equating information technology with other areas of expertise are missing something important. Eddie Hartman wonders why lawyers have the sense to hire carpenters but want to “build” virtual structures in code. Yet software is different. The analogy isn’t really that of homeowners and carpenters, but carpenters and tools. To be fair, Hartman did also point out that all humans should learn to code.

    Hartman’s concern, I think, is that coding for lawyers, as pitched by the Disruptors, is a distraction and that it’s more likely to result in bad code than major breakthroughs. He worries that lawyers hear “learning to code” as implying that we won’t need or interact with coders. 

  2. Zvenyach expanded on this point in a post that came to my attention after I submitted this post to my editor. 

  3. FYI, the Disruptors are house Slytherin. Not that there’s anything wrong with that. 

  4. If you’re using Linux, I assume you’ve got this. 

More in this Series: Learning to Code


Get Lawyerist in Your Inbox, Daily

Current Articles
Current Lab Discussions
  • Sam, I think this is great. Would you consider fleshing out the readme file to include a quick step-by-step tutorial on installing Flask and getting your github project running with cut-and-paste commands? As it is, everyone who has done the above already has Python installed (although it’s Python 3 and I can see your project is in 2), but it’s a bit of a leap from that to running your code.

  • Bryan Scheiderer

    Looking forward to your posts. I am currently working through Udacity’s Intro to Computer Science (Python) course and find coding fascinating, having only exposure to BASIC and Fortran years ago. The comment about literacy v. mastery pretty well sums it up.

    • Thanks. How are you enjoying Udacity as a platform? Would you recommend it to others? I ask because I’m planning on ending the series with a list of additional resources and I was actively considering putting Udacity on that list.

      • Bryan Scheiderer

        I would recommend Udacity, I am only about 50% done with the course but am learning quite a bit. I have also completed several courses in the Coursera Data Science specialization and would recommend those as well. Different styles of presenting the information, folks may prefer one or the other depending on how best people learn, they are all free to try so I have recommend people just try one and then the other for a few days each to see which one or both they prefer. Udacity has shorter (but more) videos with short quizzes in between the videos, and then a few larger projects for each module. Coursera has longer lectures and operates on a weekly basis. So, the “deadlines” I find help make sure I move along and complete the work for the week. It is more of a “soft” deadline, because if you fall behind, you can roll back and join the class that started after yours. Coursera also has a Statistics (using R) specialization track taught by a Duke professor, which I am very impressed with. Either way, it is amazing to get the information, for free you chose ignore the certificates, from top notch professors and universities.

  • Christina Scalera

    Hey guys… I’m a little confused. I’ve read the articles and listened to the podcast on the topic.

    Respectfully, I still can’t figure out why anyone would learn how to code?? It seems really unnecessary given the huge freelance economy that could do it better for less money and time… Plus, with sites like Squarespace, you don’t really need to know how to code for an awesome website presence. Mine even has plugins and embedded scheduling tools, and I’ve made it to the first page of Google on all my SEO campaigns.

    I feel like a working knowledge of PSD is way more valuable than coding. In fact, I only know of one web designer that is also a developer– everyone else outsources the coding (and these are site designers, not attorneys).

    • If you just want a website that ranks well and uses some embedded widgets or plugins (like a scheduler), you should not learn to code.

      If you want to build more complex legal solutions using software, it can be really helpful.

      • Christina Scalera

        Thanks Sam. You guys are doing a smashing job with the podcast and now conference. I wish there were more attorneys willing to nerd out about this kind of stuff. (Still not sold on the coding for apps/SAAS, but, to each their own)