My name is René van Mil, and I’m a software engineer. I create iOS apps and web applications, with SAP back-ends. Which means I spend a lot of time programming with Objective-C, JavaScript and ABAP.
I live in ’s-Hertogenbosch, The Netherlands.
At my first job, me and about ten co-workers had to work with very complex, slow and annoying ERP software. To avoid working with the terrible software, first I almost completely automated my own job, and then I continued automating stuff for my co-workers. After a while it saved them hours of work each day, and literally made them happy and enjoy their work more.
Ever since it has been my goal to improve the lives of those working with enterprise software. I cannot change the managers who buy this kind of software, but I can change the software itself.
And that’s exactly what I’ve been doing the past decade; building intuitive, efficient and pleasant software for customers who are using an SAP system for their business.
Ofcourse, like any other enthusiastic developer, I have a bunch of side projects as well, some of which you can find published on GitHub, others which you can buy in the App Store, and most of them somewhere in my own /dev folder.
The ABAP frameworks are available in this repo.
The more languages you know, the easier it becomes to learn new ones. Unless you start with ABAP, then you’re doomed ;)
Joking aside, I try to learn a new language each year. It helps me broaden my thinking by exposing myself to new concepts and approaches to solving problems. Early in my career, after spending two years writing mostly ABAP code, I switched to writing mostly Java code for two years. The experience completely changed the way I wrote my ABAP programs. Currently I’m writing mostly Objective-C code, and it’s changing the way I approach things all over again. These are the languages I’ve learned so far:
Besides building new things from scratch, I’ve spent quite some time maintaining existing software, written by other people. If there’s one thing I’ve learned doing that, it’s this: there is absolutely no excuse for writing low quality, quick and messy code. It will make the lives of those who have to maintain your code miserable, but even worse, it will make maintaining your software very expensive. Customers will be forced to waste a lot of money on maintenance, which they could have spent on letting us build fancy new stuff instead.
Building high quality software is really hard and requires a lot of discipline. Luckily a lot of smart people have thought of several different ways to make things easier. I have embraced the following approaches/methodologies/concepts to help me make better software:
Like many other developers, I spend a lot of time reading. There is obviously a huge amount of extremely valueable information to be found on blogs, community sites such as SO, forums, IRC channels, etc. But sometimes a book is the best way to really learn to understand something. Here’s a list of books which have taught me lots of interesting things:
I’m a big fan of sharing knowledge. I’ve worked as „coach” and team lead, teaching my co-workers all kinds of things, ranging from very basic stuff like syntax, to entire OO programming courses. Here are some of the most recent things I’ve done:
Since you’ve made it this far, you might want to get in touch with me :)