Posted by Chris Palmer on September 19, 2022 | design-system, react, typescript
Posted by Jason Kottler on September 12, 2022 | scheduler
Posted by Wako Anindo on August 25, 2022 | internship, learning
Posted by Alexandra Goffova on August 22, 2022 | internship, learning
Posted by Vlad Ionescu on August 08, 2022 | AWS, EC2
Amazon’s Elastic Compute Cloud (or EC2, for short) allows you to deploy and run any application you can build in the cloud. Here at Administrate, we make extensive use of it for a number of our applications, with one of the the most exciting ones being our Cloudboot development environment.
Posted by Gavin Bannerman on August 02, 2022 | performance, observability
As an engineer early in my career, I haven’t had a lot of experience with optimising systems for performance. Most of my work has been focused on individual user stories or journeys. In these cases, the consideration of performance has largely been scoped to pieces of code - is a function efficient? Is a React component rendering too often?
That’s not to say that I haven’t cared about the overall performance or the experience of the end user, but I had been prioritising code that worked and was readable. I would describe it as being pragmatic about performance. You can always be chasing better performance, but it’s important to know when that will deliver value and when it won’t.
This blog post is about how my recent experience of focusing on performance has changed how I’ll work for the rest of my career.
Posted by Erika McVey on July 18, 2022 | react, graphql
Unit tests are commonly a core component of a company’s product testing strategy. The fast feedback cycle and focused tests help to identify potential defects quickly, which in turn helps ensure the quality and reliability of the product.
Posted by Craig Houston on June 02, 2022 | tdd
Are you looking for a programming technique that eliminates bugs, increases test coverage, helps with designing solutions, and provides documentation for your API? Look no further than Test-Driven Development (TDD)!
Posted by Emilia Jiao on April 21, 2022 | working, remote
Due to a certain global situation that’s been going on for the past three years, many of us had to retreat into the safety of our homes. While the world is starting its slow but steady transition back into pre-covid life, we have to face the fact that certain changes are here to stay, one of them is working from home.
Posted by Jad Khater on April 04, 2022 | WordPress
WordPress is a free and open-source content management system (CMS) written in PHP and paired with a MySQL or MariaDB database. Features include a plugin architecture and a template system, referred to within WordPress as Themes. WordPress was originally created as a blog-publishing system but has evolved to support other web content types including more traditional mailing lists and forums, media galleries, membership sites, learning management systems (LMS), and online stores.
Posted by Jad Khater on April 04, 2022 | developer-environments
Postman is an API platform for building and using APIs. Postman simplifies each step of the API lifecycle and streamlines collaboration so you can create better APIs—faster.
Posted by Sean Newell on March 07, 2022 | react
Have you ever wanted to use a component, form, modal, or relatively small piece of your modern UI React codebase in one or more of your older UI codebases? At Administrate, we needed to do just that. So we developed a way to leverage and reuse our react components across codebases. This helped create consistency for new features that touched multiple UI codebases and helped our customers have the best possible experience no matter where they were.
Posted by Paul Bell on March 07, 2022 | developer-environments
We at Administrate are transitioning our dev environment from running locally on our laptops to running on an EC2 instance in our development AWS environment.
Posted by Daniel Tariq Metcalfe on February 07, 2022 | containers
How many times have you heard the phrase “but it works on my machine”? Container technologies like Docker have done a lot to ensure our applications can run reliably in different environments but what about the reliability of the tools we use to actually build these applications?
Posted by George Walter on February 07, 2022 | graphql
Caching is a common computing technique that stores copies of data in a cache, or temporary storage, so that when the same data is next requested it can be delivered much faster than retrieving the data from the original location it was stored.
Posted by Rachel Normand on March 04, 2021 | browsers
We recently spent some time investigating the best way to make an XHR request when a user closes their browser window. We had received reports that some learning content in our LMS was not being saved when the user closed the window. We wondered if we could trigger a save just before the browser was closed. In the end this was not the right solution for us due to the size of data we wanted to send. APIs for making XHR requests on page close are designed for sending analytics data and have a limit of 64KB. We wanted to send more than this, which led us to realise we were approaching the problem in the wrong way!
Posted by Steve Shanks on December 05, 2020 | python
Pipenv is a tool for managing your Python project’s dependencies, which aims to solve one of the problems with
requirements.txt files. This post will get you started using Pipenv for dependency management, as well as show you how to use Pyenv to work with multiple versions of Python.
Posted by Stelios Kotanidis & David Gentles on July 15, 2020 | databases
Administrate’s users, the Administrators usually manage a large number of learners which all belong to a specific Organization. The Organizations feature a hierarchy to represent subsidiary Organizations. This relationship is essentially a tree, which helps us represent real world organizations that are usually made up of various teams.
Posted by Paul Bell on May 07, 2020 | working, patterns
Remote working has become a necessity at the moment for employers and employees due to the COVID-19 pandemic so they are able to keep running in these uncertain times.
Posted by Gavin Bannerman on April 15, 2020 | browsers
This blog post will expire on 9th January 2029. You may not recognise that date, but it’s a day that will be celebrated by many web developers across the world. It’s the date that Windows 10, and therefore Internet Explorer 11, will no longer be supported by Microsoft. It may be changed in the future depending on how Windows 10 support continues, but at the moment that date marks the death of IE11. As software engineers, we all know we’re not meant to like IE11. But why is that? And what are some practical solutions for its problems?
Posted by Craig Houston on March 16, 2020 | agile
Estimating product backlog items is one of the most contentious tasks in Agile software development and Scrum teams often misunderstand how they should apply Story Points when estimating. This article explains how we deal with these misunderstandings at Administrate and outlines our iterative approach to estimating backlog items.
Posted by Jonathan Wilkins on February 27, 2020 | typescript
It can be tempting when using TypeScript to use
any when you are unsure what type a variable is. This article explains why this could be a bad idea and presents some ways to avoid using it.
Posted by Graham Savage on February 25, 2020 | interviewing
One of Administrate’s company values is Transparency, and with that in mind, here is a look at how we interview software engineers. Not only that, here is a guide to what you need to do to be successful at each stage.