Internal Technical Sharing Sessions
A few months back, we started a group in our team called Auto Testing Sharing. The objective was to provide a safe environment where we could learn new methodologies, improve our concepts, learn more patterns in software and present what we learned along with a demo once every two weeks. Also, a few of the folks in the group are QAs which meant our learnings should be as practical as possible so that we can apply it immediately to our testing platform.
We kicked it off with our tech lead, Bakti providing an introductory overview of Java design patterns. I led the second meeting discussing Strategy Pattern which is essentially a great way to have inheritable classes structured so that you allow other developers have the ability to customize by implementing interfaces.
After that, Ahmad presented the builder pattern along with a preview of the factory pattern. This is was great because in many of our test suites, we already use the builder pattern. Unfortunately, there isn’t much existing code to refactor since they are already using the builder pattern but it’s great to identify and acknowledge it. Also, we can start applying that pattern in the future on upcoming new classes.
Lastly and most recently, Gembong gave a great presentation on Dependency Injection which is to pass in what will be dynamic to a class. Such benefits from this would be similar to the Strategy Pattern which is essentially a way to keep the unchanging static and pass in what will dynamically change. Since QAs write automation tests; dependency injection would allow mocking to be much more accessible and easier to implement.
Overall, it’s been a great learning process and there are many things we could’ve done differently or better. However; we all learned a lot and look forward to more sessions coming soon.
I hope other teams do sharing sessions similar to this and the main reason we haven’t expanded to more people is because the lesser the people; the less intimidating it can be and it’ll hold us more accountable.