Guy Gershoni is the type of mentor most Computer Science graduates can only dream of working with. His disposition is hugely positive and when you meet him, it doesn’t take long to realise that he not only has a very firm grasp on technology but also keeps his own mind wide open.
After his own graduation, Guy worked at Slangsoft, a baptism of fire which exposed him to the Extreme Programming (XP) methodology. This consisted of Test Driven Development, Continuous Integration (with daily automated builds that measured unit test coverage) and formal code reviews. Pair programming was sneaked in when management weren’t looking.. and this was in the late ’90s.
It was at Slangsoft that he met his mentor, Ted Kandell, “Ted taught me to do my research and think big picture before I started writing a line of code. The idea is never reinvent the wheel i.e. find frameworks and libraries that get you most of the way there and focus your energy on the last 20%. Ted said ‘If you have 6 weeks to do a project better to spend 4 weeks researching and 2 weeks coding than the other way round’.”
Guy loves to talk about the need to constantly learn and adapt when working with technology, “Experience allows one to recognise what is really new and how it may fit in to the grand scheme of things. I was lucky that when I left University, I found a mentor to connect what I had learnt to the years ahead of me. I also had a great mentor outside of technology, Barrington Vincent Sherman (RIP), who taught me how to think and find patterns in the apparent chaos.”
Having experienced the journey of newbie to slightly less newbie, Guy is committed to helping others on great work, “it is so important that with every team and project that I work on, the best is brought out of the people that I work with.. it may not necessarily be easy to achieve but it is always the most rewarding part of the job.”
Nowadays, Guy is at Melbourne IT, enjoying a lead role which straddles the full stack of web development technologies from backend Microservices written in a range of languages, all living in their own containers on an AWS ecosystem, to rich one page apps on client browser. The work is not all about the technology either, Guy works with various stakeholders to improve quality and team dynamics by trying to find root causes and applying appropriate Lean/Agile techniques and processes.
Book recommendations –
‘Software Testing Techniques’ by Boris Beizer, a book that was way ahead of it’s time when first published in 1982 promotes the notion that design for testing is as important as testing.
‘Peopleware: Productive Projects and Teams’ by Tom DiMarco and Timothy Lister explaining how human factors not technical issues are the biggest challenges in software development.
‘Mind & Nature: A Necessary Unity’ by Gregory Bateson looks at the patterns that connect living beings with their environment.
Twitter: @ihadyoujohnny (https://twitter.com/ihadyoujohnny)