2019 Concept3D Developer Summit Recap
Every year we host a summit where the development team comes together for three days of topics and events that get us to know each other better, as well as work on ways that we can improve as a team to create a better platform for our clients and end users. This year we've added many new people to our team and it was great to see such a level of commitment and pride in our company and the products we produce.
On the first day of the conference we started by having our CEO, Gordon Boyes, give us the keynote with a great overview of our company's vision, core values, sales, and business development direction. Next, our Director of Marketing, Sam Slater helped us understand what tools we use to reach our current customers, and find new markets that our platform can work supports. We then spent several hours talking about the Roles and Responsibilities of a development team required to make great software. We discussed the roles of product management, user experience, continuous integration, standardization, testing automation, accessibility, client support, security and technical leadership. From that discussion, we developed the "pillars" of our development team, which includes quality, ADA compliance, and responsive design.
On the second day, we reviewed our development processes, from how we write JIRA tickets, our workflows, pull requests, testing, and how these relate to the metrics we report on, such as the impact of our code reviews, churn and timelines. Jill led a discussion of our accessibility roadmap, discussing the addition of ARIA tagging in Tour Builder, gave an overview of the importance of our VPAT, and how we can improve our platform as it relates to accessibility. We then reviewed our current roadmap, as well as our 2020 roadmap. After a day and a half of these discussions, it was time to take a break and we spent the afternoon at the go-cart track, letting everyone take their differences on the track with some intense racing that left myself bruised. In the end, Chandler took first place, followed closely by Tat, and Josh took third place thanks to a strategic bump from behind (by myself) to push him in front of Gordon.
The third day our development team led talks about the conferences they have attended, with the intention of modifying our processes and development standards with any takeaways we could introduce as best practices. We had Murad, who attending a conference on Lucene Search, give us a great demonstration of how our SOLR platform works, and how we can take advantage of it to give our users better, more relevant search results. He then moved into a discussion of Open Authorization (oauth), helping everyone on our team understand the key topics as we migrate our authentication and authorization platform to Keycloak. He gave a great demonstration where Jill, Tat, Chandler and Justin acted out the roles of oauth, and then described the JSON web Token, and how we can will use that for our application roles and authorization. This made it easy to for us all to understand the roles of the user, client application, authorization server, and protected resources.
Tat led a discussion of the benefits and challenges of automated testing from his sessions at denver startup week. He gave us an overview of topics such as test speed, where to run our tests, maintainability, and which tests to run in the different areas of our continuous deployment process. He and Jill took great initiative and led our migration onto the JIRA platform, so we discussed how we can better use the tool, using initatives, epics, stories, subtasks and workfows to give us better understanding of our process, as well as the integrations into our other tools to make it easier for our client success team to better understand where issues are in the development process.
Josh then gave a presentation on how to use Visual Studio Code to actively debug backend code without using console.log statements . This included how to use postman and nodemon for backend testing using the --inspect parameter. He demonstrated how to attach the debugger to a process, how to watch variables using the node console as you would in chrome, running our mocha tests within the debugger, and adding breakpoints into the code to stop execution. Being able to attach Visual Studio Code to our AWS instances as well as our serverless environments are great tools for our developers to use modern IDEs to write code efficiently. We ended the session talking about test driven development, specifically how to develop and test redux stores before creating our React frontends.
The team demonstrated their thought leadership, diversity, kindness, desire to mentor and grow, and competitiveness, throughout the three days of meetings. I am truly honored to lead this team, and, as Gordon put it, if this team can build software like they drive go carts, our future is looking bright. I can tell you, I'm already wearing my sunglasses.