Skip to content

Low-code, career and opportunities from Bliss CTO’s perspective

Events

Diogo Cunha

Bliss Applications

In episode 8 of the Lo-flow Podcast, Diogo Cunha shared his experience in software development and technological leadership.

Maurilio Souza discussed OutSystems, the Bliss process, and our CTO’s background and advice for newcomers in the full podcast, which can be viewed here.

OutSystems: a low-code reference platform

We’ve been covering this key technology in our academies, courses, and talks. At the moment, OutSystems is a stack that will be used for Process Optimization. It can be used to assemble software for the web, mobile, and server. In Diogo’s view, OutSystems really shines when it can improve people’s lives within a company. It’s easy to prototype and grow, integrates well, and hides complex systems well. 

“An amazing tool”, in his words.

Expectations in the short-term

The moment in low-code, together with AI  will massify development, much more than what is felt today. It’s going to be easy to find answers, but also to start with a baseline from which developers can work on. Bliss CTO remembers Outsystems from college days in 2005/2006, and believes that the limitations of that time no longer exist.

Nowadays, OutSystems is the so-called enterprise-grade low-code tool, and there are only a handful of them worldwide.

Enterprise-grade meaning

It means that OutSystems can do internal and external applications and integrations, all this inside an IDE. As a developer, you can work for end users, for internal tools, workflows that do not have the visual side, APIs, basically a great many deal of fronts. As a typical code first developer, it’s important to know several languages and be relatively fluent on them to be good a the job. In that perspective, OutSystems makes it very easy.

Native replacement?

For Diogo Cunha, it’s an unfair comparison. “It’s a tool that has its own purpose.” In what it is good, the OutSystems tool is very good. You can’t compare it with Native, because in Native you’re writing code. It has another type of variables to be considered.

Faster product launch?

It depends on the state of maturity of the development team. OutSystems has a very, very low barrier to entry. You don’t have to learn a language grammar to make an app on OutSystems. It’s super intuitive in the version it’s in today.

OutSystems’ biggest competitors

At market level, Appian. It’s the one that steals more market. But it’s not quite the same. It’s more templatized, while OutSystems is more customized.

Mendix has a lot of strength in northern Europe, but globaly it doesn’t have the same strength as OutSystems. OutSystems and its competitores, for all intents and purposes, are  products that will have to generate code. There are no different ways of doing low-code, it will always have to output code in the end. When you enter OutSystems IDE you don’t have a marketplace of templates to choose from in the first screen. You have some options, but its strength is the simplicity it offers in dragging boxes and assembling them alone, focusing on the customization from scratch of whatever the developer wants to build. 

“This is the focus of the experience they want to give people”, says Diogo.

Low-code over traditional development?

We can’t tell  a client that the best solution is our tool. In our CTO’s opinion, we have to find the angle where our tool brings advantages over the one they’re using. If it doesn’t, the best way to approach the challenge is to look in the eyes of the client and be honest about whether it’s worth changing or not. We have to ask ourselves: what is the problem we are trying to solve for the client? If the best tool is low-code, this is fine, and if it isn-t, it should be fine as well. Software Engineering should be focused on solving the challenge the best way possible, not force a specific solution on a problem.

Other low-code technologies in the future?

Before Bliss went for OutSystems 8 or 9 months ago, Diogo wanted to install Budibase on one of our servers. It’s also an Irish low-code tool. It’s not enterprise-grade, it’s not of the same level, but it served to start exploring those areas. Given the type of clients that Bliss has, the type of low-code tools that we’re going to be able to embrace are always going to be OutSystems level.

For example: WebFlow and FlutterFlow are incredible tools. Now, if Bliss wants to use them in a big bank, insurance company or energy company, probably we are not going to get approval for it. But for smaller companies, these solutions will do just fine.

Implementing a new area in the company

As a CTO, the big difficulty is culture. You have to pay attention to what are people concerned about. Looking at the level of quality required in a mobile app in terms of experience, OutSystems might not be an easy choice because it demands a great deal of technical knowledge and in the end it will always be limited by the fact that it needs to render on all devices in the same way, not taking advantage of specific implementations per device that improve experience.

On another note, if OutSystems as a stack grows within the company, people might think it’s taking over the Native area,and if it’s taking over the space, it means direct internal competition. Culturally, it’s something you have to be careful with because developers like their tools and they are staking most of their careers on those choices.  Those are the big challenges.

Developers’ biggest challenges

The biggest challenge is not so much the implementation, but understanding what the client wants and putting together what he dreamed of, based on what he gave us in terms of information.Our entire development process nowadays is very well oiled to tackle all your typical challenges of software development.

The Bliss process

Bliss started a process about 2 years ago building a framework where the goal was to create a conceptual map that brought together the concerns not only of product owners, but also between the UX, design and engineering. When you can create a good map between all these concepts, communication becomes completely different, and we feel it in the effectiveness of the teams.

“What’s the advantage? You don’t lose information” – is our CTO’s conclusion.

Information architecture concept

It’s a very important concept within UX/UI/product. For engineering it’s another concept, it’s much more connected to data modeling. In our framework, we try to use the same names for the same things, and that way we ensure that communication flows in a much smoother way. This doesn’t mean that all the problems go away, but it reduces attrition.

Development nowadays

Right now, there are a lot of people who didn’t study Computer Engineering, and who can program and can make apps. What’s the difference? What impact does it have?

This will be felt more and more, so Diogo Cunha believes that our framework comes at a very good time. Someone will be needed to help these new programmers  with something you can’t learn except with practice or with a lot of classes: logical systems thinking.

Systems thinking

If you take computer engineering at university, they basically erase everything you know and rebuild your worldview.

You start thinking about problems within problems within problems, until you get to the problem you can solve. And then you start solving them all. You start to think that everything is an interconnected system. A good programmer has to have logical systems thinking.

There are things that only come later with experience, for a developer who has no training. But it’s inevitable that they have to get there. Don’t ever think that once you know how to code, the challenge is over. The challenge is to build systems.

Early career

People can differentiate themselves in posture, presentation, behavior. Everything technical is learned. It’s not difficult to learn a new language, it just takes discipline. 

On average, people who have had at least 2 years of experience should know some of the basics. But it doesn’t mean that someone entering the job market doesn’t have that level also. This is why most of the time we ask for 2 years experience in our job listings.

But the most important thing is that to get into Bliss, the applicants talk to about 4 different people and the technical part is just a small percentage of what matters. The part of values, which is not taught, is much more important. Those are the things you learn through life.

Weight of certification for a junior

In 3 months you can learn an introduction to anything, which goes to show that everything technical can be taught and learned. Since 2021 we’ve been doing our own academies. We’re hiring people who are finishing their degree, who are changing their field and are doing a technical course.

Remote work at Bliss

Being remote or not isn’t really what matters to us. We’re interested in the way you work and your attitude towards life and work.

Each person’s behavior dictates how the Bliss-worker relationship will develop.

Diogo Cunha’s background

Our CTO got into Computer Engineering a little bit by accident. At the time it was called Information and Multimedia Engineering and Systems. In the middle of the course, luckily, they changed the name to Computer Science and Engineering. Diogo finished his degree at Instituto Superior Técnico, where they force you to work really hard.

Not being a great student, it took him 8 years to finish a course that was supposed to be 5.

In the 5th year of university, he joined an agency to be a part-time developer so that his experience on the CV would start at the same time as his peers.

Diogo did his master thesis in a consulting company. After 6 months working there, he realized that the routine was not going to change and decided to give it a break. He went to Southeast Asia for 3 months backpacking on his own, to do different things.

After returning he worked for a couple of years in an agency and then moved to the Netherlands to work. After a year working in the Netherlands his employers approached him to open up a company in Portugal and in less than 6 months the Dutch company development team was completely replaced by the Portuguese team with less than half of the elements. After 5 years this Portuguese company was bought by Bliss and Diogo started on his current role as CTO for Bliss. As Bliss CTO, his biggest goal is to ensure that our service achieves the desired quality.

Related articles

Events
Design on the Road

At Bliss Applications, people, collaboration, and continuous growth drive great Design. Sometimes, we shared, and for others, we absorbed.