Rails/Javascript programmer at Nedap

Posted by Bart ten Brinke Thu, 18 Dec 2008 22:45:33 GMT

Location: Groenlo, The Netherlands

URL: http://www.nedaphealthcare.com

Nedap Healthcare, market leader in the dutch home healthcare sector, is looking for a skilled and motivated web developer with a knack for interaction design. We provide an inspiring work environment with a mixture of coding and direct contact with our customers.

Even though Nedap is a fairly large company we work in small teams. Should you choose to accept, you will become the fourth member of our Moves team. Moves is a two year old web application that is sold to home healthcare organizations in combination with a 24" iMac. It allows planners to create routes that make the client, nurse and managers happy. If you want some more info about what we build and how we think, check our blog (listed below).

As a developer you should be proficient in HTML/CSS/Javascript and Ruby on Rails. Flash is a bonus, just like photoshop skills. Working in the healthcare business, we aim to develop most of our code using a BDD methodology.

We are based in Groenlo, a small dutch town near the german border. Though we are not necessarily looking for an on site developer we do prefer someone who is able to drop by from time to time regularly. Freelance is an option if you prefer.

We are offering a great job and unique company culture. It is important to us to build an excellent product by cherry-picking great people, not by bloating our team.

To apply If you are interested send your resume to andre.foeken@nedap.com

Posted in , ,  | Tags , , , ,  | no comments

RoR Workshop - 26 nov 2008

Posted by Andre Foeken Wed, 26 Nov 2008 18:58:47 GMT

This afternoon we held our first Ruby on Rails Workshop at Twente University. We got 20 Apple MacBooks together and allowed 25 people to bask in the glory of Rails!

We want to thank everyone who attended for their enthousiasm and energy. We had a great time! Also great thanks to Pragmatic Programmer for giving us a good deal on their latest Rails book and Inter-Actief (Michel) for their organisational skills.

Below are the sheets we used, courtesy of SlideShare.

Nedap Rails Workshop
View SlideShare presentation or Upload your own. (tags: nedap rails)

Posted in , ,  | Tags , ,  | 4 comments

Friday afternoon ...

Posted by Andre Foeken Fri, 26 Sep 2008 14:48:43 GMT

A nice time to build a realtime thermometer of the usage of our latest product...

Posted in  | 3 comments

The power of simplicity

Posted by Bart ten Brinke Mon, 28 Jul 2008 09:23:05 GMT

Our colleagues from iO made this really nice clip about the power of simplicity in IT solutions.

This is iO - YouTube

Don't digitize your problems, automate them :)!

Posted in  | Tags , ,  | no comments

Old style alarm clock

Posted by Andre Foeken Fri, 07 Mar 2008 13:58:42 GMT

We wanted to show how many hours were going through our application on a big flat screen at our office. So I whipped up a small javascript/html page that could show a neat animation. I borrowed the raw images from this blog. The end result can be downloaded from here.

Posted in  | Tags , , , ,  | no comments

Our product site is online!

Posted by Bart ten Brinke Mon, 14 Jan 2008 10:42:11 GMT

Nedap Moves. Unfortunately for you it is all in dutch, but you can still look at the pretty pictures.

Posted in ,  | Tags  | no comments

Some stats about Moves

Posted by Andre Foeken Tue, 11 Sep 2007 14:09:34 GMT

Moves has 45 controllers (4820 lines), 72 models (6457 lines), 121 test classes (4148 lines, still a work in progress...), 19 javascript classes (4560 lines), 176 migrations and only three developers :)

Posted in , ,  | 1 comment

A day at the office

Posted by Andre Foeken Thu, 30 Aug 2007 11:55:15 GMT

Posted in  | no comments

Ripping the heart out

Posted by Dirkjan Bussink Tue, 24 Jul 2007 21:02:56 GMT

Building a large application always comes with a lot of problems. One of the most important issues is usually that the implementation doesn't match the way it is used anymore.

This can be solved in two ways: The short term simple way, which is to simply ignore it, or the always dreaded refactor. About 10 days ago (including weekend that is), we were at such a point.

A little background information on the problem might be insightful. At the heart of our application are the so-called events. These events are simple homecare related actions that have to be performed at some point in the future. This can for example be delivering and / or helping a client with his or her medication.

All the events are generated by more general rules that state when certain care has to be provided for, most of the time based on weekly or fortnight intervals. These generated events are what Moves uses to its scheduling.

Well, back to 10 days ago. We were still working with the first version that models all this behavior and it was showing its problems. Events could be generated at multiple points in the system and none of us had a clear view of the inner workings of the system anymore.

Because the major part of the work that was assigned to me involved trying to optimize and improve this model, I dared to ask the always dreaded "Why?" question. At a certain point I started wondering why a certain design choice was made as this choice was making the situation very complex and slow.

I asked Andre and Bart and together we thought about the problem and how it could be solved. On our way back home we were still discussing it in the car and decided to stop developing for the upcoming Moves 1.0 and discuss the entire model the next morning. That night at the new Harry Potter movie, both Andre and I couldn't get the ideas out of our heads (we did enjoy the movie though).

After a good night sleep, we were all ready to do some good thinking. After quite some discussion we came to the conclusion that we only had the two options already mentioned above. Either deal with the current situation and put a huge legacy burden on ourselves, or just refactor the most important and complex part of the system.

Just to make matters a bit more complicated, we had an upcoming deadline for the first completely working version of our product, which made the decision even harder. Because the choice was do it now or never, we had to go for now. Ignoring the situation was an even bigger no no, because of the huge amount of problems that would occur in the future.

So there we were... 10 days to go and ready to delete a couple of thousand lines of code... After branching our new version (so we could go back in case of disaster), we went for it. It took us only 6 days to get the new branch in a reasonable condition, so we merged it back to the trunk. No matter what happened, we were not going back to the old situation. We liked the new model way too much :).

And here we are, just delivered our first version :). That means we made it, and I can say that we are pretty confident that the system is working much better with the new event model in place.

What we've learned from this experience is that you should never wait too long with refactoring a piece of your system if it gets in your way. It will get even more in your way if you let it stay. Rails is pretty forgiving in ripping a part of the system out and ActiveRecord lets you stay pretty flexible. In our case it went much better than we could have hoped for.

So, after 1.0 its time to rip the next part out :). The actual drag & drop interface we use to couple all the events from the clients to the employees has some very nasty properties. It couldn't be done before 1.0, but luckily it didn't have to. It's only the interface and javascript side of the system and it simply has to work the same way, only nicer for the developer.

Posted in ,  | no comments

Moves 1.0!

Posted by Andre Foeken Tue, 24 Jul 2007 16:14:30 GMT

Well, the time has finally come! After almost a year of hard work, we are finally ready to release 1.0. Tomorrow the first group of customers starts using the product for real.

Below is a small screenshot to commemorate the moment.

Andre & Bart

P.S I'd like to take this occasion to thank Dirkjan from Sparks for his effort in making this possible :)

Posted in ,  | no comments

Older posts: 1 2