This is Fundbase Nerds, written by the team behind Fundbase.

Go to Fundbase  

Programming Is Hard

Be Nice with Newcomers

Posted by Giorgio Polvara on

A friend of mine says that we developers don’t know how to write programs. He claims we make a pentacle using wood grouse’s blood, put a computer in the middle and pray the gods of IT make it work.

His insight of the development process always made me laugh. Of course he’s exaggerating—any person, with a little bit of time, could learn to program with no problems. Or could he?

The Sales Standup

Meet a colleague of mine, Jan. Jan works for our sales team, speaks fluent English, and is a pretty smart guy. He also likes himself and, knowing he’s going to read this post, I’m not going to make any more positive remarks about him.

Jan cloned our main repository on his machine to run the Rails console so he can export data into CSV files. Consequently, he knows a tiny bit of Ruby and ActiveRecord—although he probably doesn’t know what they are called.

Everyday, each Fundbase team has a daily standup. The difference between sellers and we developers is that we have an automated standup. We ask our chat bot to run the meeting so it goes trough each ticket, asks the developer for an update and writes the answer as a comment in the ticket’s Jira page.

The sales team has an hour long Skype call.

After one of the people attending the call passed out because he could no longer bear the boredom, my boss asked me to help Jan create an automated sales standup just like ours.

Because I’m a great employee—and I had no other choice—I gracefully accepted.

Let’s Code

The deal was that Jan should have done as much as possible and learned in the process. My role was to help him out.

First things first, we had to have our bot running on Jan’s machine. To get the code, a simple git clone was enough, but here started the pain.

If you don’t watch HTTP 203 with Jake Archibald and Paul Lewis you should start, it’s not only funny but also has good food for thought. In one of the latest episodes, they discuss how hard it is, for newcomers, to learn to program for the web. That’s what I experienced while building the sales standup. Take a look at the video if you want.

The Long Road to Standup

“Ok Jan, it’s pretty easy, first we have to run the bot on your machine. Just type in the terminal bin/hubot -a hipcaht… No it didn’t work, see the error message? Ok, I know, we need to install the npm packages.”

Only that npm install didn’t work.

Now, imagine you’re new to programming, you’re following some tutorial that tells you to type npm install in that thing you just learned is called a terminal, you do it, and all you get back is an error you can’t understand. What would you do? I would give up. Luckily, Jan had someone to help—me.

“So, it turns out npm didn’t work because you have a newer version of Node, unfortunately you installed it with Brew, which doesn’t allow you to choose the version you want, so we’re going to install nvm, a version manager for node, select the correct version and run npm again. That’s just a couple of commands and should do the trick.”

That’s exactly what a newcomer would like to hear.

Here’s what we had to do to run the node project, and all the new concepts it required.

And finally the bot was ready to go. Jan had only to learn how to use a particular API, how to handle asynchronous requests, and how to use Git. Only.

What Is My Point?

Why am I writing all of this? Because I want to share something I realized thanks to this experience: coding is hard. By “hard” I mean it takes long hours of study even to get started with the basics.

This is not what we want. Almost every existing industry can benefit from software, and that software doesn’t necessarily need to be written by developers, mostly because we don’t have enough of them.

We should really pay attention to newcomers and give them an easy environment where they can not only experiment, but also be productive. Currently, if I look around, I only see languages that traspile and required tools on tools to do simple stuff.

Epilogue


Giorgio Polvara

Giorgio is a Fullstack developer at Fundbase. He's passionate about all things programming with an accent on UI/UX and JavaScript.