At NONA we’re always looking for ways to get better at our craft and move towards our goal of being the best custom software development studio in the world.
Since this is an incredibly difficult thing to achieve, we know we won’t reach it if we remain at our current level, without pushing the boundaries of everything that we do.
In pursuit of this, we’ve maintained a focus on individual development and learning since inception but we recently up’d the anti and took learning to a whole new level because it turns out that we learn more when we learn together and as Benjamin Franklin once famously said
“An investment in knowledge always pays the best interest.”
Two of our core values at NONA are:
- Continuous improvement as a way of life
- Be generous with your knowledge
and we take them seriously.
This is a fast-moving industry and a commitment to constant learning is one of the critical ways to remain relevant, let alone get to the world-class position we want to be in.
On-the-job learning as we tackle projects and committing some time every day to improvement are incredibly important but there’s nothing quite like having dedicated time for the entire company to improve together.
We operate on a synchronised two-week sprint across all our project teams and we dedicate one day out of every two-week sprint to learning.
All the work for the sprint that is going to be finished is completed and demoed by this point and we’re trying to kill two birds with one stone. Our clients get a chance to take a thorough look at what’s been done and give their feedback and, in the meantime, our team takes time to invest in improving their skills.
There are five primary activities that happen on learning day:
- Leadership groups for our developers, designers and project managers meet to discuss and make decisions that make sure NONA is constantly getting better in all these fields.
- Small tutorial groups meet to work through books, online courses or other materials they’ve identified to help them improve. This is a great way to give yourself an accountability structure to help you stick to tough learning goals.
For example, I and a couple of other developers are working our way through The Structure and Interpretation of Computer Programs(one of those books on every list of books all programmers should read but one that very few make it through).
- A group workshop where every developer in the company works on the same material on a topic that we decide we want to improve on as a company. This is always relevant to the work that the teams are currently doing for our clients.
- A demo day talk where someone takes us through something new that they’ve learned or a challenging problem that they tackled recently.
- The rest of the time in the day can be used by everyone to read, watch videos, code a side project, add that bit of flare to an existing project or do whatever will take them closer to the learning goals they’ve set for themselves.
Our latest learning day
We’re focused on blockchain-based development and one of our major learning objectives is to increase the pool of people in the company who are capable of taking the lead on one of these projects.
One of our senior developers, Neil Russell, put in a herculean effort to develop a workshop of Solidity koans (check them out if you’re also looking to get better at Solidity).
Koans are a great way of being guided through learning. You’re presented with a suite of failing tests and your job is to write the code to make the tests pass, one at a time.
Richard Miles gave us an excellent demo day talk on using
git rebase to keep your commit history clean.
- The Council of The Wise (our group of the most senior developers) met to discuss standards and our learning goals.
- The Council of the Eyes (our design and UX focused group) met to discuss user testing and documenting a defined UI/UX process
- The SICP group met to tackle the latest chapter together.
What’s happening next?
We’re also looking at how we can get the designers and project managers into group learning workshops of their own.