I started Outlandish just over a month ago after reaching the end of a graduate scheme where I learned (almost) all my programming skills. I spent 4 months learning OOP, with Java as my language of choice, as well as SQL, UNIX, and the basics of web development, before embarking on 2 years of work experience as a consultant to a number of different companies. In general, I would be brought in to a company to work on a single project that would span many months, with a single end product that would encompass a wide range of functionality.
I was hugely excited to start work at Outlandish, partly because I was aware of what a departure it would be from what I was used to. I am currently working on my 3rd project in an environment that is extremely agile, allowing its workers to take on a wide range of different projects utilising many different technologies, both collaboratively and as individuals. All very exciting stuff, although it can seem like a lot to take in if you’re used to larger deliverables over a longer period of time. Because of this work approach, it has become clear to me that having a centralised platform for consolidating all of these different projects and managing workers is imperative: enter the Outlandish Dashboard.
Originally, the Dashboard was written for accounting purposes, to pull in information from Freeagent (invoicing) and YouTrack (sprint planning), as well as to more easily keep track of who was working on what. Its job at the time of my arrival was to act as a net to gather in all the fragments of project that exist disparately and unite them into something more easily maintainable. Since its inception, however, more technologies have been introduced into daily life at Outlandish, such as Toggl for time management, Float for displaying availability and designating projects, Loomio for new project proposals, and various other suggestions for improving the way we work. Of course, with all these different technologies being used on the projects we take on, the requirement for a central platform becomes ever more evident. What’s more, some of the people who have been working at Outlandish for a while may not have migrated to the new standards, and so having a single unified platform will make the transition to these technologies far simpler for everyone.
When I was approached to work on the Dashboard for my second project (my first solo project), I was asked to create a means of setting up projects from a centralised location. While this task may seem fairly simple on the surface, the implications for the role of the Dashboard within Outlandish are fairly extensive. My first task was to create an HTML form to send the minimum required data to Freeagent and YouTrack via cURL to set up a new project – after all, why fill out two forms when you could fill in just one? On top of that, I was told to write an API for the Dashboard to accept form data from an external source, as there is currently another project in the works that will be used by PMs to gather requirements on new projects and eventually render my new form deprecated – again, why fill out two forms when one will do? Eventually, this will take the Dashboard from a simple view to the core of a single streamlined process used for all projects.
During the development of this project I have realised the importance of a good, well-documented API, and while people will continue to discover new and potentially useful technologies to make our work easier to manage, maintain, produce and collaborate on, having purpose-built a system for harmonising all of these platforms should not only make it easier to identify the value of a new technology, but also urge people to think more seriously about what could work for the company and how our existing system could be improved.
Phase 1 has been released and is now exposed to the elements. I await feedback from the PMs, but I’m confident it will be warmly welcomed and hope that others will get as excited about the Dashboard’s potential as I am.