"We act as though comfort and luxury were the chief requirements of life, when all that we need to make us happy is something to be enthusiastic about." - Einstein
As a team we shifted focus towards more applications that used our frontend-stack using Bootstrap, Knockout.js, Sammy.js to build single-page applications. Brunch.io was added to the toolchain to leverage templating/scaffolding which enabled us as a team to maintain a shared code style and to do test-driven development in Javascript. A colleague introduced an open-source service health checking tool to the team from which I learned about Google AppEngine and Python. It was used to monitor many of the scheduled jobs used by the integrations hosted by RemoteX. I introduced a central logging infrastructure using Elasticsearch, Logstash, Kibana and Graphite as a support and troubleshooting tools with easy access to system and web logs. As a part of web operations and product development we conduct load and performance tests on regular basis using tools like NewRelic, SQL Profiler and ApacheBench.
I co-managed and implemented several system integration projects at two of the larger customers. Most work involved API specifications and endpoints on behalf of RemoteX to integrate with legacy systems/environments using flat files and Biztalk. The web tech of the year was building single-page applications using Bootstrap 2 and Knockout.js which was used to build a frontend for a new module targeting use-cases in the accounting domain. I took part in migrating the click-once deployed client, targeting Windows computers, towards a new code base that were rewritten from scratch using Windows Presentation Foundation (WPF) and Telerik RadControls for WPF. It purpose was to replace the old client application that had been a hybrid using both Windows Forms and WPF since 2008.
In the beginning of 2012, I was responsible of setting up RemoteX managed hosting services at a new provider. This time we moved the product SaaS environment from virtual machines running IIS and SQL Server to virtual machines and a high availability SQL cluster. Once again I was scripting the generation of BIND zone files, a part of the solution that managed us to move several hundreds of tenants in a fully automated process from one managed hosting partner to another. As a part of this process I used Powershell and WinRM to automate the bootstrapping of all our servers. The bootstrapping process took care of all pre-requisites required by the product such as installing IIS, .Net Framework and configuration of the reverse proxy (Application Request Routing). This grunt work made us capable of doing enterprise on-premise deployments with the same level of automation as we were capable of at our own managed hosting provider. At the end of the year this was capability was tested with a successful deployment at one of the larger customers which managed its own IT department and hosting facilities.
The product grew and in 2009 I was responsible for adding automated builds and tests for one of our larger integrations to Visma SPCS Administration. The new iPhone became present also in our customers hands and our focus began to shift towards Android and iOS in 2010. The development environment using TFS was getting old and the team was more than happy when it in 2011 was replaced by hosted services like GitHub, Pivotal Tracker and a continuous-delivery pipeline using Jenkins CI. On the hosting side of this story, we moved the product from our own hardware in a co-location to managed hosting. At this point we had quite many tenants using the product, now also offered as a enterprise on-premise installation. This led us to automate many tedious steps of the setup of the system. The previously manual steps described in a 50+ pages document were replaced by an automated pipeline where new environments were up and running in 5 minutes. The team expanded its use of Jenkins CI and used it together with Powershell scripting and WinRM.
I was getting back in the server room in 2008 to make sure the hosting environment for the product held together and was responsible of moving a co-location site used by the company. Alot of work was planning, designing and scripting VMWare Infrastructure, but also involved installation of datacenter equipment, site VPN-links etc. at the co-location partner.
2007 came around and my initial assignment at RemoteX changed to re-build the product from scratch as a SaaS offering. The team delivered a whole new product with .Net, now on v3.5, with APIs using REST that shared code with clients on Windows Mobile 6 and Windows 7. The product used ClickOnce deployment for its "occasionally connected client" and all applications was developed using concepts and methodologies such as Dependency Injection containers and Test Driven Development. (things that were quite rare in .Net-land at the time)
It was late 2005 and I was given an opportunity to build the next generation web apis for a small ISV working on workforce management solutions using PocketPC and eVB. Said and done, I quit the consultant firm and was contracted by RemoteX Technologies to start working on RESTful APIs using Microsoft Avalon (now WCF) in 2006. Having worked with CVS and Visual SourceSafe before, the focus was now automating builds using Microsoft TFS.
I was entitled Microsoft Certified Solutions Developer in 2004 and was working with one of the larger swedish banks. Together with a fellow collegue from Qbranch I developed a web frontend system for a distributed deployment system for the Windows XP operating system using PowerQuest tools to build and apply images, driver packages and perform BIOS upgrades remotely in an environment with 20 000+ clients.
The year was 2001 and I was thought that "Change is the only constant" and my LAMP-stack was more and more often VB6 and ASP. Web tech of the year became Microsoft.Net in a large project that I was participating in and extended my expertise from web tech to COM+, Windows Services and messaging solutions leveraging MSMQ.
I was just about to enter my twenties in spring of 2000 when I joined Qbranch (nowadays called Axians) where I was privileged to continue my endeavor in web tech, mostly using FreeBSD/Apache/MySQL/PHP, as a consultant. (Srsly, I was basically living in my GNU Screen, which I still use even in 2016)
The web agency was split up in two parts and FreeSide became EuroSeek. During 1997 the web tech choice-of-the-year became Windows NT, SQL server and PHP3. This was later on replaced with Sun Solaris, PHP and Oracle when dot-com and VC money was a fact. In 1998 I was experimenting with web hosting automation and created tools for generation of bind zone files, apache configurations and e-mail accounts as a side-business in addition to working on the web portals at EuroSeek.
I continued hacking web pages, for fun, and profit during several internships at FreeSide, and learned all shortcuts worth to know in Adobe Photoshop and ramped up my programming skills using a brand new technology called ColdFusion from Allaire (now Adobe). The year was 1996 and suddenly I was 'full-stack dev', creating database driven web sites with MS Access and cranking out CSS and HTML.
At the age of 7, in the late eighties, my interest of technology and electronics came along when my father bought a state-of-the-art 286 PC. This was the start of my fascination of creating and modifying computer software. I few years later in 1992, 12 years old, I hosted my own RemoteAccess BBS and one year later I started hacking HTML with Netscape Navigator 2 during an intenship at FreeSide Web Development agency in Stockholm, Sweden.