Service diagram for Assessments platform clients
Making the LinkedIn Learning CMS work with our Assessments platform was no small feat—we had to connect two separate systems that were being independently developed. This was eventually accomplished by using a “publishing” component that takes data from a source system, transforms it to be compliant with the destination system, and then stores it at the destination. An inevitable downside to this type of component is that forces the two systems to be coupled. That said, we decided that access to sophisticated content management features outweighed the cons.
Since completing the integrations, we have experienced some of the pains we anticipated in coupling the systems. Small changes such as simple data schema updates required more effort to coordinate and execute between the systems and teams than we would have liked. That being said, we have also reaped the benefits of having a CMS that helps our partners’ content editors scale their products beyond what they would be able to otherwise.
In summary, there are a couple of important lessons that we’ve learned over the past year of building our Assessments platform:
It’s hard to build a software solution to be “perfect.” While building the Assessments platform, we occasionally found ourselves in dilemmas between designs that had minor faults or risks that we refused to accept. This would inevitably drag out decision-making longer than we wanted, only to end up near where we started. Looking back, we could have saved ourselves some time and hair pulling by better time-boxing our decisions and moving forward with the best available solution.
Sometimes less is more
Requirements and priorities constantly change. As a platform team, this is true not only for your own requirements, but also for those of your clients. As such, we’ve learned that it’s generally best to solve for immediate and concrete requirements, and be wary of getting too far ahead ourselves by over-engineering for future or hypothetical use cases. As obvious as it sounds now, we frequently caught ourselves following the rabbit hole of “What would be cool is if…” Over time, we’ve come to trust an iterative approach of implementing short-term solutions that optimize for future extension to guide the platform in the right direction.
This is a long-standing core value at LinkedIn that we came to appreciate the longer we worked on this platform. As mentioned, there were several incumbent use cases for Assessments before the idea of a central platform was even conceived. Convincing partner teams that there was sufficient long-term benefit of our platform to justify the short-term costs (and, at times, pain) of working with us required a common culture of trust and collaboration from all sides. We found this in abundance with our partners and is not something we ever take for granted.
In conclusion, we view these lessons learned as pillars of a framework for approaching important project or design decisions, and considering the tradeoff between investment and ROI. We carry these experiences and points forward as we continue to scale our platform and develop new and exciting features that can be used not only within the Interview Prep experience, but also for all of our clients.
And of course we wouldn’t be where we are without the hard work put in by the Platform Engineering team. Thanks to Himanshu Khurana, Xixi Xiao, Xingyu Chen, Kevin Lai, Ke Jin, Joey Addona, Karthik Naidu DJ, David Ding, Eduardo Monroy Martinez, Marcos Santanna, Eric Chan, Richard Cook, April Dong, Yikang Gu, Quynh Nguyen, and Akshay Mehta, as well as our partners, Bef Ayenew, Joey Bai, Jie Zhang, Shiqi Wu, Christian Mathiesen, Joel Young, Alp Artar, Richard Meng, Smitha George, Chris Fong, Jeremy Owen, Amy Slawson, Kevin Bevis, and David Dong.