What’s at stake for software development?
Following with our series on the Olympe platform users’ professions, we are learning today about the evolution of software development.
Jean-Christophe Collet has extensive experience in software development. For 15 years, he’s been working for Sun Microsystems and led the Networking team through various releases of the Java 2 Standard Edition (J2SE) platform. Then, he was appointed as Technical Lead Engineering at Cisco, and developed a middleware providing advanced networking features to rich media applications. Last year, he joined Olympe to lead the engineering team to deliver a game-changing rapid software development platform.
Reading time: 3’40’’
Q1. How would you define your profession and its role in business transformation?
I am first and foremost a software developer. It is up to us to translate the business needs into applications that teams can deploy in a timely manner. It also means maintaining and updating these applications when the needs change. An essential quality is listening to the users and really understanding what they need.
Q2. How has the profession changed with the constant evolution of technology?
It has changed considerably over the last decades. The hardware, the tools and the methodologies have gone through numerous transformations. From languages like C to Object-Oriented languages like Java, to functional programming with Scala. From waterfall to Agile. From 8bits single-core CPUs clocking at a few kHz to 64bits multi-core monsters ranging in the GHz. And don’t get me started on networks & the Internet. You constantly must learn, re-learn, question, evaluate. It has always been both a challenge and a blessing. It keeps things interesting for sure.
Coding takes too long for it to be both profitable and competitively priced. That’s not the case with no-code platforms, though. The platforms do the complicated programming automatically, slashing development time.
Forbes, How GitHub, Low Coders & Microsoft Forever Changed Programming
Q3. What have been the advantages and disadvantages of this evolution?
The main advantage is we can do more, a LOT more, faster, a LOT faster. Agile, in particular, allows the iterations over a project to be a lot shorter and to adapt it to the changing business conditions much faster than ever before. However, that can also be a disadvantage. That speed comes way too often at a cost. Quality and security tend to take a back seat because these take time, besides “we can always fix it in a future sprint”. It can also come at the expense of long-term vision. Designing a proper architecture for a complex project takes time too, and a lot of reflection.
“We can do more, a LOT more, faster, a LOT faster.”
Q4. What are the new challenges that you are facing today?
They come from the problems I mentioned above. In a constantly evolving connected digital world, security and reliability must become paramount. We keep hearing “data is the new oil”, but that data is more and more under relentless attack. Coming up with the proper tools, architectures and methodology to make that data safe from attacks as well as from accidents is not an easy task, but it needs to happen.
On a more personal note, creating a technology, at Olympe, that can be used by coders (a powerful framework) as well as non-coders (intuitive visual programming) is an exciting challenge!
The goal is to make it easy for them to combine their talents and create exactly what the business requires: agile and distributed software systems.
Q5. According to you, to which extent will the profession change again during the upcoming years?
We are at a turning point. Software development is no longer the sole dominion of the “tech guys”, which it, unfortunately, has been for way too long. Software is everywhere and impacts everybody, therefore it is everybody’s business. To be truly successful, you need to involve a wide range of profiles and backgrounds. Development teams have to be a true cross-section of the population that the project is impacting. That could mean business analysts, structural engineers, biologists, designers, executives as￼ well as software developers or network engineers.
Q6. How does the Olympe technology make a difference in software development?
Olympe is based on 3 ideas:
A piece of data can change at any time for any reason, whether being the current exchange rate of a currency, a stock price or the temperature measured by a sensor. When that value changes, things need to happen in your applications: computations need to be made, sending notifications, etc. In a typical environment, it is very cumbersome and error-prone to track all these changes. To solve this problem, we use the concept of Data-Flows. You tell the platform how these pieces of data relate to each other and it will take care of what needs to happen when any of the values changes.
Data is distributed. Data can reside in your computer’s memory or in a database on the other side of the world. Also, a specialized device on your netweork can calculate it in real-time. We call that the Data-Cloud. It doesn’t matter where the data your application needs is, the platform will keep your Data Flows synchronized automatically.
Code is Data. The implication is that any application can be expressed in the form of what we call interconnected bricks. You don’t need to know a programming language to assemble these bricks. Almost anybody can do it. If you know how to use a spreadsheet then you will have no problem building an application with Olympe DRAW.
Now combine these 3 ideas and you can create real-time distributed applications with ease. Users can quickly build fully functional prototypes of the applications they need, which then can be polished and secured by the software developers in a fraction of the time, and cost, it used to take.
DRAW + CODE, the fast software development toolbox
Everyday functionalities are integrated into DRAW‘s Logic Editor, ready to use no coding skills required. Now, take DRAW and add CODE: the icing on the cake. Get your software developers on what really matters: integrate specific data systems and create disrupting functionalities. You can find indepth information on our documentation website.