Learning to program in five weeks, the fun way

I embarked on my maiden programming voyage with Valaa Technologies. Things got interesting. This is part one.

Jason Rakes
valaa.log
8 min readSep 5, 2018

--

Hi. I’m Jason.

I just spent five weeks embedded as a professional idiot with Valaa Technologies.

Q: What would happen if you kidnapped someone with zero coding experience, gave them access to a custom-built development environment, and made them code for hours each day?

A: Victim’s first useful web app, valuable job skills, a long-lasting sense of accomplishment…and pain. Lots of pain.

me_irl

My life is defined by two directives: subvert all covert plots to pull me onto a soccer field, and avoid networking events at all costs.

So there I was one evening, leaning against a pillar at Tribe Tampere, surrounded by networkers and feeling all cornered-dog like. There had been a revolving door of speakers introducing cool, awesome new events and projects that I knew I should probably, definitely participate in. I started to relax a little bit. Maybe this wasn’t so bad after all. I could stand here listening, wander around like a lost puppy for about ten minutes, then slip quietly out the do…

“Okay! Everyone find a partner, and introduce yourselves!” Words from the stage.

Oh. Oh.

Outside, Finnish winter pressed down on the city. Inside, my face had broken with fresh sweat.

I performed the slow half-revolution of a man facing a firing squad. Instead, I made eye contact with a broad-shouldered, black-shirted Finn, his face framed with an electrified shock of brown hair and glasses. He didn’t look super thrilled to be there, either.

I started rambling about being technically unemployed (read: unemployed). He listened in cool silence that could have been respectful or judgmental. I faltered to a stop after about 45 seconds, and waited.

“I’m Ville Ilkkala, director of Valaa Technologies,” he said.

Now I was dumping saltwater like sailors on a sinking vessel: my forehead, the slippery upper deck. My underarms, the breached Titanic.

“Oh, great!”

I arrived at Valaa Technologies five minutes early and was stopped at the door — it was locked, I was keyless. I ground my toe on the asphalt, running through the options list, and decided to take a walk around the block to kill time. I’d call Ville at five past.

That evening at Tribe, he’d told me a bit about Valaa: a new software development environment that brings together HTML5 and CSS, then deepens the pool with ValaaScript — Valaa’s own iteration of JavaScript — which packs a collection of unique features and syntax. He told me Valaa removes much of the hardship from modern web development, breaking down the obstacles that make new programmers give up. Its most transformative use-cases: teaching programming in schools, and driving the digitalization of small, non-tech businesses.

My interest had been piqued, so I’d sent Ville an email and somehow convinced him to let me intern at his company. Luckily, sending stupid emails is a skill that I have.

Despite spending most of my waking hours in front of a computer from age 10, I’d never really been bitten by the tech bug. Sure, I could dual-boot Ubuntu and preferred to do my gaming with a mouse and keyboard. But, I’d never developed my tech ability past Googling instructions and impressing my grandma. In the back of my mind I’d always regretted that.

At Valaa, I’d have a reason to study programming and Valaa intensively for five weeks, code my first app(s), and write a fun story about what happened along the way. Sounds like a great idea, right?

Right?

I spotted Ville marching up the sidewalk and waved. We headed upstairs.

“Is there coffee?” he muttered as we rocked up.

“Sure,” I said stupidly, mishearing.

I met the rest of the team: Ilari, Iridian, and Ismo. They were soft-spoken, highly skilled Finnish guys, and programmers to the core. Catching a glimpse of Iridian’s monitor, I noticed it blazed black and green.

I assumed he was hacking the Matrix.

Valaa’s Vision

“We want to make learning to code as straightforward as possible, and break down the barriers to getting your app into the user’s hands. Every change is immediately stored in the cloud, and ready to deploy at any time,” Ville said.

“It’s all very cloudy,” Ilari said.

That morning, I’d sat down with Ville as he walked me through building a basic chat application. Within 10 minutes, we were tapping messages back and forth.

“We don’t need WhatsApp,” he sent, chortling — a hint maniacally, I felt like.

Then he stood up and took his post next to a rolling whiteboard. He wrote: “Jason, day 1.”

I craned my neck to see around him, squinting as he began to fill the board with squiggly red lines. After a few minutes, I felt an expression of almost violent perplexity descend over my face. It gathered momentum down my neck and chest, made it through the arid plateau of leg, and settled thickly in the bottom of my feet. I would become very familiar with this position.

Eventually, seeing the look frozen on my face, he drew a telescope. Luckily, I already knew what telescopes are. The clouds parted.

“This is the most important metaphor for Valaa,” he said.

I’d seen this telescope splashed across Valaa’s homepage and presentation materials. It represents the ValaaScope — a sort of digital telescope — that Valaa uses to display content to users. Every time a user opens an app in Valaa, they’re peering through one end of the ValaaScope and seeing the app through its Lens. Users can be thought of like amateur astronomers studying the surface of the moon.

Think of the chat app:

There’s only one thing for our astronomer (or user) to view, so there needs to be only one Lens, pointing straight ahead at our moon, the app. Depending on the complexity of the application and the things the user has done inside it, she could be looking through one (or more) of any number of Lenses at any given time, and at any number of different moons.

As Valaa programmers, we’re sculpting the craters and shading the lava plains on the moon’s surface to delight and amaze our astronomer.

Unfortunately, my own Lenses were useful as broken bottles.

The first real task, on day two, was to code a BMI calculator. It involved a couple of input fields, a button, a few if statements, and a simple Algebra equation. Ville suggested I start with a few hours of basic JavaScript, then try to hammer out the BMI calculator by the end of the day.

Should be cake.

I read about variables, data types, and operators. My pace was glacial, my stomach tight with new-place nerves. I tried to follow along with the examples in Valaa, but there were too many slight differences and a complete lack of basic understanding on my part. Every time I made a mistake, Valaa’s custom-built code editor, Zero, threw a list of cryptic red error messages in my face, washed in sunshine yellow. I had no way of knowing if the cause was a typo, or if I’d written the code right but put it in the wrong place, or if I’d misunderstood the concept. I carried on for a few painful hours, but it wasn’t happening.

Anxiety mounted, minute by minute.

I took a break and tried to gather myself. There were a little less than three hours left in the day. I decided to jump into the BMI calculator and hope for the best. After lunch I grabbed my laptop, went across the office to get a bit of distance, and tried to chill out.

Two hours later, I still had no idea how to begin. Huddled over my screen in defense posture, tense and sweating, I was paralyzed. On his way downstairs, Ville turned to me. “I’d rather you ask too many questions than too few.”

I nodded, my Achilles heel as exposed as a worm on hot concrete.

“Got it.”

In the evening, I sat down to read through some of the Valaa documentation. The pages slid across my brain like verses from Revelation: incomprehensible, unnerving.

Liisa, my partner, walked up behind me and laid her hand on my shoulder.

“I don’t know if I can do this,” I said miserably.

“Just do your best. One day at a time.”

I sat at our kitchen table as the sky darkened, marking up my apocalypse in red ink.

The rest of the week passed in a blur. After cooling my head and getting a nudge in the right direction, I got the BMI calculator working — only a few hours late, in the end — then tried to focus on the basics: JavaScript tutorials in the tutorial’s editor, Valaa tinkering in Zero.

Small victories.

Ville, extremely generous with his time, spent at least an hour each day guiding me along. I did a lot of tentative nodding, and gave a lot of stupid answers when he prodded me for input.

By Friday, I had a shiny new JavaScript badge in Codecademy, the inscrutable leftovers from teaching sessions with Ville, and a few small snippets of code I’d eked out myself. I felt scattered and exhausted.

On Sunday evening, I loaded Valaa. I’d gotten a tenuous grasp on some programming fundamentals, but still felt lost inside Zero. To review for Monday, I started with the simplest programmatic task possible: displaying a button that showed “Hello, world!” on click. It worked as expected. I tinkered around a bit, getting the workspace ready for more testing, then clicked the button again.

Error.

Big, fat, yellow error.

I spent the next five minutes retyping, clicking, squinting at my pathetic two lines of code. Error. Seven days and dozens of hours trying to wrap my head around Valaa, JavaScript, and the concepts Ville was trying so patiently to teach me — and I couldn’t write Hello, world.

I felt my chest start to tighten, felt my stomach clamp down and pick a fight with dinner.

What was I doing here?

--

--