Andy Crouch - Code, Technology & Obfuscation ...

Leaving Open Energy Market

Photo: Andrew Neel - Unsplash

Five years ago today I joined Open Energy Market. The plan was to create a new technology-focused commercial energy buying platform. It was an industry that managed their data in spreadsheets. There was no transparency for clients in either costs or the value in their data. There was zero competition between the suppliers. It seemed like an opportunity to build something new in an industry that could still be disrupted.

Five years on and the company is still growing from strength to strength. At one of our regular company days recently we took the time to sit back and look at what we have achieved. The market is saturated with brokers of varying sizes but we now just sit outside the top ten. We manage a significant percentage of commercial consumption in the UK and have launched products new to the market which customers are keen to buy into. None of the ten top brokers is providing access for customers to their data in the way we have. They know that in doing so it will reveal the high costs and charges they have hidden for years.

I have been very fortunate to work with some great people over the last five years. As the company has grown we have brought in some very experienced people who have added real value. From the early days in a small, mouldy office in Surbiton to our current offices in Guildford and Bromesgrove change has been a steady constant, always for the better. Some of the early team have gone, some have even left to found their own companies.

Yesterday marked my last day at Open Energy Market. Five years is a long time to lead the development of one product. Taking the prototype through the early customer lead iterations through to the investment last year. Moving beyond the excitement of investment and into the next stage of the companies growth. I am proud of the technology we have built in such a changing environment. I am also aware of the opportunity in front of the company and the longer-term company plans. Now felt like the right time to pass the reins on to the right person to lead these second phase.

Personally, my proudest achievement is the technology team I built. A small team that grew over a few years and which seems like a second family. Some I have worked with before, all I hope to again in the future. A remote team that showcased all the benefits of such teams. Finding great people regardless of location that is so productive that collectively you can achieve great things. From my early compadre Saurabh through to Clare, Andrew, Irene, Liam, Paul, Manish and Reena I thank you all. You have made the last five years fun and rewarding journey for me. Our discussions, planning, realisations and technical achievements have made me think in ways I may never have. I hope you all got as much from me as I from you.

I wish Chris and the whole Open Energy Market team all the best for the exciting times that lay ahead. I will be following their progress closely.

I am going to take a small amount of time before embarking on my next roles. I am keen to continue working with small teams and early startups as the energy and excitement they generate is addictive. I will now have time to provide advice and support where needed and take up some of the opportunities presented to me.

If you wish to discuss an opportunity please contact me via twitter or email.

Browser Design Mode

Photo: Agnieszka Boeske - Unsplash

A super busy week (for reasons that will become clear in next weeks post) led me to almost not posting this week. But, I was on Twitter tonight and saw a Tweet gaining a lot of attention and I can see why.

By executing the following code in the developer tools of your browser (or in a script)

document.designMode = "on"

you can directly edit the content of the web page you are on. Just like a CMS editor. The property defaults to “off”.

This may not seem a massive thing. I can think of many times this would have saved me so much editing via development tools when sat with a user.

The full feature details can be viewed here. I did read in a couple of associated articles that for IE the on/off values for the property need to be capitalised.

The changes you make can not be saved from what I can see and do not show up in the diff tools provided by developer tools. It is still really handy and I will make a lot of use of this.

If you have any great tips for front end development then please contact me via twitter or email.

Recent Reading

Photo: Andy Crouch

Over the last month or so I have read two books that are polar opposites in their content. But, they both offer a positive and hopeful view of the future. The books are:

Enlightenment Now is an explanation of human progress since the Age of Enlightenment. A data-driven, extensive defence of scientific discovery and the adoption of humanism. Over two-thirds of the book uses data to show how better everyone is as time progresses. Pinker uses data covering area’s as diverse as the environment, world peace, democracy and personal health and wealth. There is a range of statistic’s which stand out against the onslaught of misinformation the world is currently experiencing. By looking at the data around threats from Terrorism, for example, it is clear that while there are genuine threats there are also politically-driven agenda’s at work as well. The book is not light reading but you find yourself really thinking through the idea’s he puts forward. I wholly recommend reading it.

Humans: A Brief History of How We F*cked It All Up is the counterpoint of view to Enlightenment Now. But, it is no way a heavy read. It is a light-hearted look at how as humans our brains allow us to make terrible decisions. It is full of funny, laugh out loud, stories from throughout history that prove his point. There are chapters on colonialism and environment damage but my favourite part was how he tells the life story of Thomas Midgley. He was the chap that was responsible for two of histories greatest bad decisions. I will not spoil the story but it will leave you speechless. This book is very much worth a read and makes you feel better about some of your own stupid mistakes in life.

If you have any views on the above two books or good read recommendations then please contact me via twitter or email.

Developer Labeling

Photo: Annie Spratt- Unsplash

I have recently been discussing the way we label developers with a few friends. The conversation started after a couple of deep discussions with team members. These discussions where around how and when a developer moves between perceived stages. For example for mid-level to senior. This lead me to looked back and reflected on my career and start thinking more deeply about the issue.

What follows is purely a brain dump around the question of:

Why do we often label developers based on seniority?

Junior, Mid-level, Senior. The dreaded “Rockstar”. These are typical labels applied to developers throughout various stages of their careers. The trouble with these kinds of labels is distinguishing when or how you move between them?

It is almost certainly related to the salary structures companies need. Rating and categorising creative professionals is hard as we have seen from the fall out of other industries. What makes one actor more valuable than another? Why is one artist more valuable than another? By creating labels to apply, it makes valuing a developer easier.

The trouble is that programming skills vary from one developer to another. Some people start programming earlier in life. Some do not start until later. The proliferation of schools and firms offering to teach programming has been staggering. Does that mean that graduates from somewhere like General Assembly are worth less than a graduate with a CS degree? These schools condense the teaching into smaller time frames than a typical university. But these courses teach a more modern and real world focused set of programming skills over traditional degrees. This raises an interesting point. If you compare two candidates, one self-taught and the other straight from university who is immediately more productive?

A junior developer, by title, said in their review recently that they have completed two years on the project so were no longer a junior. This developer had completed a minor amount of programming training before joining the team. No degree, no bootcamp. They had decided to move into programming for better prospects. When they interviewed they struggled to even get a Hello World style program running. The current project is the only project they have ever worked on. I discussed this statement with the developer and asked them some questions. These revolved around their ability to build a new project. “Could you develop X?”, “How long would you need to do Y?” type questions. Through the process, they realised that while they might not be a junior developer on our project they would struggle on another project. By their own admission, they would need significant time to get up to speed on other technologies and projects.

So the question then becomes am I only labelling this developer to fit within our salary bands? In the case of my project, yes. One other thought though comes to mind. If I change the developers title to Fullstack Developer does that mislead others in the industry when that developer leaves my team? He is a Fullstack on my team but that’s not a fair representation for other teams. We have all interviewed candidates that do not have the right skill set. Is this waste of interview time just caused by mislabelling of their real skills and experience?

Perhaps as an industry, we need to move away from labels. I think we should return to focusing on titles that reflect what people do and not their level. Developers are Developers and Product Owners are Product Owners. We should focus on the length of experience and previous projects undertaken. Salaries should be based on the value that a Developer can add to your project and team and not because they fit within a £5k salary band. Some companies have already gone down this route. They will have flat salaries based on technologies and years experience. For my next teams this will be the route I will investigate.

From talking to friends about this there is a lot of strong feelings within the community. The majority find the labelling currently applied pointless. Some point out that this might not just be about salary but about old style business career routes. You used to join as an administrator in an office and then get promoted to a senior administrator and so forth. Whatever the reason, labeling developers based on arbitrary stages of their career seems to be detrimental to both the developers and the industry as a whole.

If you have any comments on my thoughts above then please contact me via twitter or email.

Station & Notion

Photo: Ilya Pavlov - Unsplash

I was getting frustrated with some of my daily workflows recently. I found that I ended up with a large number of tabs running for the various web applications I use daily. Web applications, research and articles meant it was not unusual for me to have over 30 tabs open each evening. This is compounded by having personal and work accounts. I have also been a long-time Evernote user and have found issues with it’s Windows desktop app that irks me. Decreased speed, constant upgrade popups and new version reminders. I have long felt like as a product it had stopped innovating but couldn’t find anything to replace it.

In the space of a week, I came across two apps that have transformed my workflow. They are Station and Notion. How I didn’t know about either before now is frustrating.

Station is an Electron-based application. It aims to be a smart browser which can house your web applications. It allows you to add your web applications from its marketplace. A “Smartdock” to the side of the application handles the organisation and fast switching of applications. You can sign in to multiple accounts for the same web application and Station provides a way to switch between them. It also provides a way to save pages and bookmarks within a web application using sub-menus. I have seen a few applications that claim to do this but none of them is as polished and useful as Station. I love the fact they have a community section built-in which allows you to request and vote on features and get help from other users. Its killer feature is the consistent approach it applies to web applications. The way it will handle opening the right application based on links and other metadata is brilliant. If a link is to an app you don’t yet have installed it automatically installs it from its market place and asks you if you want to keep it. Easy seamless integration. I love it.

Given that I have switched to i3 as my window manager this allows me to group all of my apps in one container on one workspace. Before the Electron haters start hating I have noticed that Station uses very little resources. It does have a built-in indicator to show if it’s dominating your processor.

The second application I have adopted is a replacement for Evernote. Only it’s not just a replacement for Evernote, it’s also a replacement for a lot of web applications. Notion states it is an “All-In-One Workspace” that allows you to write, plan, organise and collaborate. It really does!

Not only can you create notes which mix rich content types Notion allows you to create and manage:

  • Full blow documents
  • Knowledge bases
  • Databases
  • Kanban-style boards

and much more. It provides templates for lots of the above to help you capture your thoughts and plans. It provides desktop, mobile and web applications across all OS’s. It is so rich in features I don’t think I have even scratched the surface. I have migrated my Evernote content to Notion and my Trello content. The bonus for me with Notion over Trello is configurable reminders on tasks.

The great thing with Notion is that it allows you to create workspaces. These can have public and private sections and can be collaborated on by teams. For a new project I am working on I have a wiki, project documents, a Kanban board and contacts database all set up in a workspace with several collaborators.

Notion starts free but provides a good set of features for $4 per month.

Both of these applications have looked at the existing market and done something new and original. Neither is the standard copy of an existing app but instead, add value through doing it differently. Station is a very simple idea delivered very well and I am surprised it has taken a team this long to do it. Therein perhaps lies the secret, getting the right team behind the idea. Notion is a new and simple way to manage data collaboration and has combined several existing ideas to create a powerful and compelling application. I am happy to have found both.

If you have any tips or comments on either app or your would to discuss my thoughts above then please contact me via twitter or email.