Mountain view

About Robot2

I'm Simon Nonnis, a frontend developer and
Robot2 is my website where I talk about me and display my most relevant work.

I've been building websites from 2009, freelancing until 2013 when I felt the need to work in a company environment and joined the Ignite Team. I've worked there for 2 years, learning to build mobile first, responsive websites with wordpress in the back-end. I was never a fan of frameworks and premium themes so I've built from scratch my own WP theme, ZeroWPTheme, that was quickly adopted as a foundation for every new project among the dev team.

I gained an extensive experience on all phases of the development lifecycle, simplifying the collaboration process between developers, UI designers and project managers to implement a collective vision for a project and deliver stable, fast and high quality websites.
Below you can see a short list of languages, tools, software that I love to work with:

Skill Set

  • Html
  • Css, Scss, Bem
  • Css-modules
  • Javascript
  • Webpack, Gulp
  • React
  • Redux
  • GraphQL
  • Node
  • Wordpress

Javascript

In mid 2015 I felt the need to take a break and dedicate myself to learn Javascript in deep. My goal is to be able to join a team where Javascript is at the forefront on a daily basis.

"You don’t know JS" book series by Kyle Simpson are a fundamental resource into my learning process. All the books are free to read on Github! I’ve bought the books hardcopies, because frequently I need to go back to some chapter and concept, so I have them for offline reading.

I am a big fan of OLOO (objects linking to other objects) so I agree with Eric Elliot when he advocates against the use of class pattern in js.

React & Frameworks

During this time, I had a look at js frameworks like Angular, Ember or Meteor, and I’ve come to realise that frameworks increase your project's complexity, dependencies and limit your scope of creativity. I prefer core-language solutions, small libraries and micro frameworks, with small API surface, that are close as possible to vanilla Js. For these reasons I really do like React.

For the most part best practices of React, for example, are just JavaScript best practices.

Functional Programming

These days I took a shine to functional programming that opens up a different style of programming. Key concept in FP is split the logic from side effects like: network calls, files read or written, database queries, modified DOM elements or global variables. The trouble with this is that the whole point of writing computer programs is the side effects. Making a network call and rendering DOM elements is at the core of what a web application does. It’s what JavaScript was invented for.

So how to solve this problem? Well, the key is that we don’t avoid functions that have side effects entirely, we just put-off dealing with them until we absolutely have to.

If you try to perform effects and logic at the same time, you may create hidden side effects which cause bugs in the logic. Keep functions small. Do one thing at a time, and do it well.

I pursuit the idea of simpler programming, FP helps me to go in the right direction.

Figuring Things Out

At the end though Web development is not all that much about coding, but often is about of figuring things out, getting in a mood to solving a small problem after the other. Sometimes is coded related, sometimes is just doing research about tooling, sometimes you get stucked and your brain doesn't process information, sometimes is fiddling around with configuration files.

So to get better you need to cultivate your creative process to solve problems one piece at the time.