From Front-end to Full Stack

Stuart Richardson is a Developer who made the leap from focusing only on the front-end to working with the full stack (front-end and back-end). He now has the skills to build anything he can imagine. In this post, we'll delve into his journey through development and the strategies he used to make the transition.

Falling in Love With Code

Stuart created his first website when he was 12, a fansite for the game Krush, Kill 'n' Destroy, hosted on the now-defunct GeoCities. The first version of the website didn't work, and Stuart had to ask the game's Community Manager for help. "That was my first experience with writing a page and getting a little bit of help a long the way. It was a step in the right direction."

Like most first websites, it included a few elements that make Stuart cringe today. "It had frames and everything. Then I discovered Java applets and had headings up the top of the website with a little Tommy Gun shooting out the letters. That was the first time I learned the limits of a web browser, and how to make it crash. I had about fifty web applets on there."

"It's a shame that they took GeoCities down because it would still be up, and getting heaps of hits of course." He laughs.

When he first started getting into computers, Stuart mostly had to go it alone. "There was so much stuff going on at that time, and none of my friends were into it, school definitely wasn't teaching it. It was all just self-taught. I can still remember my father one day saying 'What are you spending all your time on the computer for? It's not going to amount to anything.' We have a bit of a laugh about that now."

I can still remember my father one day going 'What are you spending all your time on the computer for? It's not going to amount to anything.' We have a bit of a laugh about that now.

"I was just taken away with it, it was really exciting, the things that I could write in this abstract way," he says.

It wasn't until University that Stuart realized he could make websites for a living. "I was studying a Bachelor of Multimedia, majoring in Software Development. I was learning a lot of Java and even Assembly language at one point, which is pretty hardcore for a multimedia course. You'd go from that spectrum to doing Flash, 3D, video, enterprise Java stuff. It was all over the place."

His groupmates in class were happy to focus solely on the backend while Stuart made the front-end look great. "Whenever we'd do a group assignment and it involved a visual aspect, that was the side that I shone to. With front-end I felt like I knew exactly what I had to do, and how to do it, though if I looked back on my work now I would scream."

After University, Stuart freelanced for friends he'd made during his Bachelor's degree, working with WordPress, Joomla and Django. At one point, he moved from Melbourne to Adelaide on contract with the Australian Defense Force, doing front-end for a logistics UI. Afterward, he returned to Melbourne and applied for a job as a Front-end Developer at Envato.

Welcome to Envato

"Out of all of the job ads, Envato's really stood out because it asked you to code your resume in HTML and send it in with a really funky subject line, probably to check that you were paying attention."

Stuart admits that when he first heard that he got the job, he wasn't yet convinced that the company was real and that he was going to get paid. At that point, Envato was based out of a small co-working space called the OpenHub, there was no branding in the office, he hadn't been given a phone number for the company, and Stuart had played a round of hacky sack in his job interview. His parents asked him if he was sure Envato was a real company.

"I told them I'd let them know in two weeks if I got paid," he says, laughing. (He did!)

Beyond Front-end

"I was brought on as the first Front-end Developer to work on Envato Market. At that point it was FlashDen (now ActiveDen) and AudioJungle, and ThemeForest had been launched a couple months earlier. My first tasks were going around and fixing bugs and aligning things properly. I did that for about six months. I think I was probably just earning my stripes. It was my manager's way of easing me into a big codebase, making sure I knew Git, getting me used to working on a team. I think they took a bit of a gamble hiring me actually, because of my previous work experience."

Stuart worked on Envato Market for several years and continued to build his skills. Eventually, it felt like time for a new challenge. Stuart moved to the Envato Studio team and began to dig deeper into the Rails codebase he had worked with but never mastered. Meanwhile, the pace of change in the front-end community had started to become tiring.

"The front-end world moves so quickly," he says. "There's a lot of experimentation going on, with all these cool frameworks coming out, new browsers, HTML 5, CSS3. To get your head around all these things constantly and be up to date is pretty hard."

"In terms of the work that I was doing day-to-day, I felt like I was on autopilot. I'd mastered the foundations of everything and had become quite experienced in it. I just felt like I needed a bit more of a challenge. That's why I started heading in the direction of the backend."

Despite seeking a new challenge, Stuart speaks fondly of his time spent focusing on the front-end. "For me, it's about having something that you've created that you can look at and interact with. It's like being a builder; at the end of the day there's this house that you can walk around in, and you can feel it and everyone else can see it. It's a finished thing. You're directly impacting the experience of how people interact with the product."

For me, it's about having something that you've created that you can look at and interact with. It's like being a builder; at the end of the day there's this house that you can walk around in, and you can feel it and everyone else can see it. It's a finished thing.

You're directly impacting the experience of how people interact with the product.

In the early days of Envato, the dev team was small and would have group learning and refactoring afternoons. Stuart wasn't a Ruby Developer then, but as part of the Development team, he would go along to these talks and discussions. "I'd sit there in the corner, listening and picking up little pieces, and the general gist of how things should be. A lot of it went over my head. I'd leave the room either totally bored because I wasn't paying attention, or with my head exploding because of what I'd learned."

"Being the only Front-end Developer for a long time, the devs would get me to a point where they could put data in the controller and I'd be expected to get it out. It just naturally progressed over time and I started to think, if the object I need isn't in the controller, where do I go now?"

Stuart says that, at every turn, his efforts to learn more about the backend were encouraged. "The devs here have been excellent. I wouldn't always do it the best way, but when I would get it done, they'd say 'OK, cool, it's working but maybe you should try it this way.' They'd sit down and help me clean it up, and then that was something else that I'd learn. And on to the next thing. It just kind of developed like that over time."

Becoming Full Stack

In Envato Studio's pre-launch phase, Stuart found room to experiment. "We were a much smaller team and we were moving really quick. In the beginning we hadn't even launched yet, so there was time to learn along that path without affecting real customers."

"A little feature would need to built, like sorting, for example. I'd think 'I'm pretty sure I can do that, I'm going to give it a go.' Of course I couldn't, but then I'd wonder why I couldn't. I was pretty sure that conceptually it should be easy. I'd go and read up on different ways that you could approach it and then I eventually found myself listening to podcasts and watching screencasts and subscribing to all these things and learning. I started really enjoying it. In some ways it's similar to how I picked up front-end."

Stuart didn't make a big deal about his transition. Instead, he'd put up his hand-up for small pieces of work that were outside his usual comfort zone. "I'd say 'this is pretty small, it's easier if I do it, it'll be quicker'. A lot of times not asking for permission, just doing it."

Rather than being an even split, Stuart says the line between front-end and backend in his daily work now resembles a wave. Sometimes he'll be pulled into a large backend feature, other times he'll be focused on the UI for a couple of weeks at a time. "At the moment, I'm doing lots of front-end stuff, and I'm really loving it. There are new toys to play with. But in my spare time I probably do more backend than front-end. I'm still teaching myself a lot."

Stuart says the most rewarding thing about working with the entire stack is being able to do everything himself. "I'm a pretty independent person and a stubborn person at the best of times," he says. "It's nice to be able to pick up something and run with it, and not be bottlenecked by anything."

A Balancing Act

This broad skillset does, however, come with its challenges. "Because I'm spending a lot of time on learning the backend, there will be these new things out in the front-end world that I know about, but that I'm not confident in using because I don't have the time to learn them fully. Constantly upskilling in either the front or backend is a challenge."

Part of making the transition has been accepting that it's virtually impossible to be on the cutting edge of two industries at once. "My social life and my relationship would probably be shot if I tried. But it's kind of nice to be constantly challenged, it's a little bit nerdy. On a Saturday night I'll open up an RSS or Twitter feed and catch up on what's happening, check out all the little apps and tools that people are making, and try them for myself. That's pretty fun."

Stuart acknowledges that trying to learn a new skill while working full-time can be difficult. "I was really lucky that Envato was so accepting of it, because a lot of the learning I did was on the job. If I thought that I could do something, I'd be given the chance to attempt it. That took out a lot of the stress of having to balance work, learning, and life."

I was really lucky that Envato was so accepting of it, because of a lot of the learning I did was on the job. If I thought that I could do something, I'd be given the chance to attempt it. That took out a lot of the stress of having to balance work, learning, and life.

The transition was a rewarding but taxing mental challenge. "Just making sure that I was confident in the backend, and that I could really call myself a developer. I would go home from work absolutely exhausted after pairing with another developer for the day."

Stuart says that side projects were a fun and effective way to cement what he was learning. "Not that I ever showed anyone," he says. "They were just proof of concepts for me. Which was good in a way, if I was done with it, or frustrated, or realized it didn't work, I could just throw it away."

"Talking to other developers about things that I had learned helped as well," he says. "Someone would be talking about modeling and I'd jokingly throw in the word 'low coupling' and 'high cohesion', and they'd say 'OK...' and have a bit of a laugh about it. And I'd ask them 'Is that right?' and they'd say 'Yeah, yeah, totally.' So just having a bit of fun with it as well.

"You have to be a little bit cheeky about it," he says. "Don't ask permission, just give it a go if you think your team will be accepting of it. It also makes your work day a lot more exciting, and that's the whole point of it, to enjoy what you do."

P.S. Envato is hiring!

Written by Natasha Postolovski. Illustration by mausventura.

comments powered by Disqus