I used Outsytems for a while due to company's new direction.
So far I found out that Outsytems is quite good in assisting even the newest/dullest programmers with developing a clean and maintainable data layers as well as readable logic. Even creating workflow is a breeze if you keep it within OutSystem.
TLDR: even the 'most newbiest' programmer can create a decent application using Outsystems.
User interface
One hiccup I have encountered so far is when we want to create a rather complex user interface (javascript plugins etc) that looks very different from Intelliwrap template.
Just like in any IT sales talk, "It can be done!" - it can always be done - but expect a lot of trial and error. The behaviors of javascript, css and such can be unpredictable at times - especially if you try to override most of the interface portion of the Outsystems.
Note that there are not many tutorial / forum post that discuss user interface aspect of Outsystems throughly since it is indeed difficult and in most aspect quite annoying.
Automated test
Another aspect that bother me is that the difficulty of creating a test driven development environment. In most cases, automated testing environment is almost impossible to set up.
Yes there are plugins and such but expect no support or whatsoever to set it up. Nuno from Outsystems has kindly showed me how Outsystems use automated testing tools on their platform development. However, this portion is not for everyone as it is very difficult to set up. Be prepared to do manual testing when doing development using Outsystems (e.g. hire lots of interns)
In our case, the problem of setting up testing tool is amplified since we are not using inteliwarp and default Outsystems UI component.
Doing agile development without automated testing is a bit weird - similar to visiting McDonalds that does not offer fries.
Talent shortage
Another issue that you might encounter when dealing with Outsystems will be possible bottlenecks due to limited supply of people with required skills.
Outsystems staff will help you as much as they can but when it comes to some kind of exotic integration with other systems or doing your own hacking (e.g. UI/database/etc) be prepared to be on your own. Google or Stackoverflow will not be of much help. As per today, only fewer than 20 questions are tagged with 'Outsystems' in Stack Overflow. Forget to find sample in Github.
You can always go to their community site which is quite active. However, be prepared to be on your own when you want to do something more than just standard Outsystems application.
In some cases, expert developers might find using Outsystems studio is nothing short of insulting and does not contribute much to their personal career development (e.g. limited job opportunities, depreciating original skills).
No matter what, you will almost never be able to find developer who can jump into the team doing Outsystems project immediately without prior training. This problem will be amplified if you plan to do a lot of modification and custom development.
Version control
Outsystems platform is bundled with its own code repository / version control mechanism but do not expect something like SVN or GIT. To be fair it is good enough for most cases but merging. The merging action is done at the file/component level. Outsystems can only detect if the file/component has been changed. The merging mechanism is essentially overwriting the entire file. No such thing as line-by-line code comparison/insertion/deletion (there is no code anyway).
Reverting to the older version of your work can be quite troublesome imho.
Documentation / knowledge sharing
Depending on your company culture, documenting or sharing best practice / cookbook / step-by-step instruction might be a bit hard due to the need of capturing screenshots all the time.
TLDR
If you just want to create simple CRUD systems with standard UI, just like any enterprise application, Outsystems will do its job well - very well indeed. Just do not expect too much of bell and whistles and remember: any custom development and alteration to the default framework will cost you (or your developer) dearly.