If you landed in this blog post, you’re most likely wondering if a career as an OutSystems developer is the right next step for your professional life. Whether you’re a junior developer looking to explore your possibilities, or a senior developer considering a new career move, I hope my story brings some clarity around what working with the OutSystems platform is really about.
Hey, I’m an OutSystems Developer
Let me introduce myself first. I’m Marco Arede, born in Portugal and currently living in The Netherlands.
I got my master’s degree in Information Systems and Computer Engineering, specializing in Enterprise Information Systems and Software Engineering. Before that I applied for an Electrical and Computer Engineering course, initially, I wanted to build hardware related to robots, but that was until I found out that software is a world in itself to discover and did a switch.
My first contact with OutSystems was back in university. At the time, OutSystems applications were used to demonstrate master thesis results. And to be completely honest, as an engineering student, the whole idea of visual, low-code development didn’t really sound much like real programming to me, so when I finished university, I put all that behind me, I started working in .NET.
A few years later, by coincidence, I was “invited” to work in an OutSystems project with the guidance of senior developers. By then, I already had a few colleagues that were working with the technology, and since I was still in the first years of my career, I decided to take the chance. And ever since 2014, I’ve been using OutSystems extensively.
Now, I know this story is not enough to inspire you to follow an OutSystems career, and that you probably still have a lot of reservations about this visual programming thing. Before you make the decision of moving forward or not with it, here’s what you need to know.
5 Things You Need to Know Before Becoming an OutSystems Developer
1. You Still Need to Manual Coding
By now, you should know that OutSystems uses visual, low-code development techniques to allow developers to deliver apps with minimal hand-coding and, thus, much faster than traditional development. This scares off a lot of developers because, if you’re like me, you enjoy the art of programming. But the truth is, one thing doesn’t invalidate the other.
Yes, with OutSystems you can build applications by dragging and dropping blocks of code. But you can also extend your applications with pretty much any programming language that you like. In my case, that’s C#.
What OutSystems does is, it wraps up the complexities that developers typically face when creating an app or system. So all those repetitive and boring tasks like dependency management, code validation, and automatic builds are done by the platform so that we, developers, can focus on the extra mile that makes the difference.
This brings me to...
2. It’s About Accelerating Innovation, Not Visual Coding
When I joined that first OutSystems project, never for one second I thought “this drag-and-drop technology seems pretty cool”. The main reason I accepted the challenge was not that I wanted to program in low-code, but because it would allow me to innovate and deliver the right products to market much faster.
No matter what technology you use, as a developer, a key part of our work involves understanding how we can simplify the complexity of the product that the user needs versus the product the business thinks they want. There’s a lot of “lost in translation” moments in the development world. Sometimes business asks for a way to get from A to C when there’s an easier route to get the job done by going from A to B instead.
As developers, it’s our job to deliver the right product to the users. With visual programming, because you don’t waste your time in those repetitive tasks, you’re able to put together an app much quicker and gather user feedback much faster. Once you know what your users need, you can evolve the app as you go. That’s what OutSystems allows you to do.
3. Only 20% of Your Day Will Be Spent Developing in OutSystems
There are plenty of free, online learning, schools and classroom, and academies that you can take to start with OutSystems. There’s even a free edition that you can play around with as much as you want. In my case when I started, the company formally introduced me to OutSystems with an academy, to support my ramp up. All these types of training teach you everything you need to learn how to program in OutSystems.
Keep in mind that it’s not about coding in low-code, it’s about coding at speed and being able to connect with several technologies and business areas. Your knowledge can be extended in a good way by doing so!
4. Don’t Forget the NFRs
One of the most common mistakes that junior developers make is once they understand how OutSystems works they think everything is very easy, and that they can build any kind of app the customer requires. And they often forget the performance, the security, the scalability, and all those non-functional requirements that only experience can teach us.
One of the great things about OutSystems, particularly for junior developers, is that the ramp-up can be much smoother. They can quickly build their first app and understand step-by-step what they are doing.
It’s important to have some development background, but a junior developer can quickly integrate a team and start delivering.
But it’s also very important to not standstill. One thing is if you just want to deliver an app, another completely different is if you really want to invest in a career in OutSystems. Just like any other technology, it’s critical to
5. Adjust Your Dev Process
This advice is more for senior developers. You need to be ready that with OutSystems everything is much more agile than you’re used to if you come from a different tech background. I know this might sound like a sales pitch, but you truly develop faster than what you can define.
The speed of development allows you to quickly grab the business requirements and in a matter of minutes, you can present an MVP to your client, and gather their feedback. If you’re a seasoned developer, you know that business requirements are not always the most comprehensive thing in the world. By quickly presenting a working prototype, you can quickly gather business feedback and adjust accordingly, instead of going back and forth till you get it right.
Because of this agility, you can’t use OutSystems the same way you used other technologies. I’ve been with development teams that were using OutSystems the same way they used high code, doing a lot of manual things, and consequently, it was taking them the same or even more time to deliver their project. I’ve also seen clients doing a mix of both, like a genetic mutation between OutSystems and high code, and it was just making the dev process more complex.
So, you really need to adjust your way of working to a more agile way. Start by gathering the requirements, deliver an MVP, and work from there, step-by-step.
Which Developer Path Should You Take
Now that you know the truth, the whole truth, and nothing but the truth, you might be wondering what developer paths are available as an OutSystems developer and which ones should you take.
This question is asked by colleagues more often than not. It seems a non-complex question, but the limitations are sometimes difficult to foresee. In my opinion, such an important question should be asked as early as possible.
I provide here a simple, yet powerful, visual road map of certifications, for everyone to understand from the start, the complete certifications precedence tree, and restrictions.
This diagram is composed of:
- 2 different paths - Reactive and Traditional.
- 3 certification levels - Associate, Professional / Specialist, and Expert.
- 9 exam certifications - #5 Developer, #1 Tech Lead, and #3 new ones:
- Architect Specialist: designer and validator of a good architecture;
- Platform Engineer: master and troubleshooter of Platform environments;
- Delivery Specialist: deliverer of projects using the OutSystems Delivery Methodology.
Overall decisions on the path to choose should include project needs, own skills, and personal preferences. It’s up to each one to balance them and take the road.
Reactive Development is more challenging and becoming more adopted in the market, than Traditional Development. On the other hand, Traditional Development is maybe easier to learn as a starter, than the Reactive path. Both currently offer the same number of options of certifications (as the diagram above shows).
Nevertheless, anyone could take both paths. This explanation is mainly focused on showing the possibilities to those that need to make a decision now, thinking about their future.
Want to Learn More?
There's nothing like experiencing it for yourself. Sign up for OutSystems free edition, and give it a try (yes, the free edition is free forever - no credit card details needed).