Subscribe Now: Feed Icon

Tuesday, June 11, 2013

Leaving a Better Place

I never actually wrote it in this blog but for the last 3 years I have been a Better Place employee (I have actually had an image of an award we received back in 2011 with the words Better Place but never actually wrote them as text).

It’s actually been a great 3 years where I met some amazing people and learned great technologies. When I joined the team our system – GTM (Grid Topology Management) was just starting up – basically the only action available was creating Sites (in Better Place the Site entity was the main entity – it could either mean a charging Site or a Battery Switch Site (BSS)). The server side at that time had a single WCF file with all the code (logical and DB access, and with using ArcObjects meant quite a bit of code).

It didn’t take me (too) long to change all that so the server side (which is more my specialty) now has a separation between the service layer, the BL (Business Logic) and the DAL (Data Access Layer). The BL is fully tested using NUnit (for a time it was VSTests). The Silverlight UI had so many upgrades like:

  • Google Street View from the Silverlight Application
  • Editing the Electric Topology (adding a Panels, Circuits, Spots ,Sockets and sometimes even communication elements since Better Place’s Grid could be remotely controlled – and in Denmark end users could set when their Electric usage was at a peak so that the Electric Vehicle will get less).
  • Electric Topology validation – so that before installation all the planned hardware elements could be verified to be correct
  • Routing – going from point A to B when you have to look out for your battery or switch it is not something Waze implemented (though wouldn’t it be cool if you just entered your remaining KMs until you have to fill your tank or switch your battery and have Waze do it automatically – with your preferred Gas Station (or BSS))
  • Traffic Reports – basically like it is implemented in Google Maps (only we used a paid service

The server side had many integration services build as well like making an order from SAP, communicating to the Electric Vehicle what Sites are down (maintenance or some kind of technical problem) and much more.

Along the way I somehow got some free software like Resharper, dotTrace (maybe I should be a QA?) and NDepend.

My last year at Better Place was dedicated to lowering operation costs and improving the system. One of those improvements was moving from SQL Server to Oracle, which considering we were using Linq2Sql meant moving to another Framework. For a time our team used Entity Framework and another team at the department used NHibernate, than for solidarity reasons we moved to NHibernate (I might write a blog post on that because: A. we had to use Timestamp and NHibernate “supports” it by using DateTime – not DateTimeOffset. B. for some odd reason NHibernate kept adding semi random numbers to column names’ aliases and with Oracle’s query optimizations that caused problems unless we used projections). The mapping for our NHibernate usage was done using Fluent NHibernate (for some odd reason I never liked writing xml where I could use plain code, is it just me?).

Through the downsizing and people leaving us I was put in charge of the in car computer called Oscar, unfortunately I only had enough time too learn it’s systems – not make any changes. I did find many bugs in the Media Player system (I even wrote an unofficial guide about how to operate it with the least amount of problems, like did you know playing all the songs on your DOK will be changed the next time you start your car to playing only the last artist’s songs?).

In the last 3 months we also had a MVC+jQuery course and had started to implement the new Self Service site (you can see it’s design here) when as the papers say “the battery has run out”…

Today I had to return my Electric Vehicle, yesterday I switched the battery for the last time with this vehicle (if the service continues I might just get another one sometime in the future, I really never had such good performance from any other car).


So after this long but partial summary of the last 3 years it is time to say I have started looking for the next Better Place. If you are looking for a Software Engineer (even if it’s not map related) then you are welcome to email me with the details. I have already found my next Better Place, I am starting at Microsoft at the start of August.