collage of Pragpub magazine covers
Take a step back in history with the archives of PragPub magazine. The Pragmatic Programmers hope you’ll find that learning about the past can help you make better decisions for the future.

FROM THE ARCHIVES OF PRAGPUB MAGAZINE MARCH 2018

Fifty-Two Stories in Fifty-Two Weeks: Two Challenges

By Bruce Tate

The Pragmatic Programmers
7 min readJun 27, 2023

--

The PragPub Soapbox is your space in our pages to sound off on an issue of importance to you. This month, Bruce Tate steps up on the PragPub Soapbox to present you with two challenges.

https://pragprog.com/newsletter/
https://pragprog.com/newsletter/

In 2010, I wrote Seven Languages in Seven Weeks not because I wanted to meet language creators, win a Jolt award, or even write a book that would sell well, though all of those things happened. Instead, the decision to write was easy because languages were changing. I was already doing the hard part anyway. I was concerned about where programming was going and my vulnerability to those changes. Hardware was changing and some folks a lot smarter than me realized programming was going to have to change with it. I just started exploring, thinking it would be fun to take PragProg readers with me.

In a word, fear.

My response to the problem was a little ridiculous. It was a little like an infomercial.

“Don’t know a functional language? Learn seven!”

Not all of the languages were actually functional ones, but the book told the story of an industry weighing alternatives. As I immersed myself deeply into the process, I found a relaxing beauty in learning a language to do something nontrivial, over and over. Each different perspective opened my mind and broadened my programming horizons. In some ways, the book helped to inspire some of the ideas in Elixir. The journey led to relationships and opportunities that changed the trajectory of my career.

Today, I still believe programming is changing. Many of you are among the elite programmers in the world. Youve already read more than once that computer chips are getting more powerful by stacking up cores instead of cramming more transistors on the same chip. You know that the same old languages dont work as well on the old stuff so the industry is waking up, scrambling to make the change. I now have internalized these things and am grateful that my job allows me to write Elixir, one of the functional languages best positioned to make this jump.

I believe this jump will break the careers of many who cant keep up and shatter companies that fail to adapt. I am slowly awakening to the possibility that we programmers have a tremendous opportunity to participate in a sweeping social change if we only open our eyes to whats before us.

In a word, hope.

But Im getting ahead of myself, so let me rein this article back in. With the technical side of this brief story complete, lets switch to the personal.

A Big Move

In June of 2017, my youngest daughter graduated from high school and we were empty nesters. We packed up and moved from the Austin suburbs, chock full of schools and families with kids and strip malls but lacking in the experiences my wife Maggie and I wanted for the next season of our lives. We moved to a medium-sized house on the river in downtown Chattanooga.

In the midst of all of this change, I started to be more concerned about how people with different ideas did too much talking and not enough listening. Around dinner tables, in fan message boards, in impassioned technical conversations, too many people took offense too quickly. Eventually, mere tolerance and grace fell out of favor. I found myself becoming more and more isolated.

In a word, fear.

From Seven to Fifty-two

As with Seven Languages, my response was a bit irrational. I decided not to have one conversation but a bunch of them. I am 52, and a year seemed like an interesting number so I made a personal commitment to having 52 face-to-face conversations, roughly one a week. I reasoned that it would be good to meet others to get to know my new city and it might even advance my career. With any luck, some of those conversations might be with people not quite like me.

At first, my list was full of middle-class, middle-aged white guys. The first eleven, actually. Then something changed. I looked for opportunities to aggressively expand that circle. Increasingly, when I looked across the table, I could see more pigment, more estrogen, more grey, more economic diversity. I met with the principal of an embattled middle school, a senior college student hoping to teach, a reformed felon, a banker, and more.

All of these conversations have given me ideas about how to use my professional skills to help make the world just a little better. Now its time to get back to that hope.

I believe that in the programming profession, we have inflection points when the business needs and available skills dont line up. We have such a point occurring right now. As the requirement for functional programmers inevitably grows to match what computer makers are doing, were not changing the skills in our universities and conferences because those entities have too much of an investment in teaching object-oriented concepts and certifying those sets of skills.

We have a singular chance to invest in a generation of underprivileged and underrepresented folks and catch them up by skipping a generation of languages. Some developing nations that were desperately behind in terms of communications infrastructure caught up overnight by going straight to cellular wireless technologies rather than wired technologies. In much the same way, new functional programmers dont need to break the bad habits of systems relying on mutable state and single points of failure.

Let me give you a couple of practical applications for moving this concept forward. Were doing both of these things in Chattanooga.

A Conference

In Chattanooga, were going to host a conference called Gig City Elixir. We hope to use this conference to open up the Elixir community to a more diverse, broad set of programmers. To accomplish this goal, we need some of the best minds in the business and were getting them. John Hughes, Dave Thomas, Chris McCord, James E. Gray II, and more will be helping us teach. Well do plenty of live coding and focus more on foundations of great programming than on individual frameworks.

Well also do what is right and fair socially. Our profession looks a lot like my initial eleven weeks of conversations: too white, too male, too rich. That needs to change. We are going to give scholarships to women and minorities making up 10 percent of the conference attendees. If we raise enough money, well give 10 percent more. Well also do some education in advance so those we invite can more completely take advantage of this opportunity.

In truth, I dont know how I am going to do it all. I do know that I wont have to do it alone.

A Meetup

52 has been deeply meaningful to me and Im barely halfway done. I want to invite others into the experience. Were changing the focus of our local meetup to write an end-to-end application. Weve only had the first meeting, but I already like the benefits:

• We can offer a wider variety of experiences to the attendees. Folks who code all day can learn how to get ideas out of their customersheads and into their code base. We will explore a number of brainstorming exercises.

• We can invite a wider range of people into the experience. A heavy JavaScript programmer whos only dabbling in functional code can be confident enough to come learn some Elixir.

• We can share the keyboard so one person doesnt have to do all of the work.

• We can accomplish a social good.

I especially like the last point. We can all be well by doing good. I have high hopes for this project, but whether or not it succeeds, its changed the way I think about my profession. Now I come to the real point of this article: my challenge to you.

Two Challenges

Two challenges, in fact. If this article resonates with you in any way, I dare you to do something. Here are a couple of ideas.

The first is to have your own conversations. If you want to do so, well give you a place to park the data until our application is up and running. You can go to 7stories.club* and well link you to a story and a form where you can record your conversation specifics: when, where (address or lat/long), the races, genders, approximate ages, and political affiliation of the conversants. If you want to follow our program, do it seven times.

The second is to use your meetups to do some social good. We all write a little code when were learning. Nothing requires us to throw it away. Invite others in, mentor those who are just getting started.

So those are my two challenges to you. I realize that you are on your own journey. Whatever you decide to do, I wish you the very best in that journey. And may you find your own stories as full of possibilities as my 52 are proving.

*Editor’s note: this article was originally published in PragPub magazine in 2018. While the GigCity Elixir conference became a reality and is still going strong, the 7stories.club site is no longer running.

About Bruce Tate

Headshot of author Bruce Tate
Author Bruce Tate

Bruce is a programmer and the CEO of Groxio, where he is helping to redefine how computer languages are taught and learned. Among Bruce Tate’s 15+ books are Seven Languages in Seven Weeks (2010) and Programming Phoenix LiveView (2023).

You can read an interview with Bruce Tate on DevTalk and post questions in the ask me anything (AMA) section that follows it.

Person with laptop sitting on roof of building overlooking a harbor
Cover of PragPub magazine, March 2018

--

--

PragPub
The Pragmatic Programmers

The Pragmatic Programmers bring you archives from PragPub, a magazine on web and mobile development (by editor Michael Swaine, of Dr. Dobb’s Journal fame).