What’s at stake for software development ?
Following with our series on the software development actors, we are learning today about the evolution of…
The Software Developer.
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 can be deployed in a timely manner. It also means maintaining and updating these applications when the needs change. This means 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. This has always been both a challenge and a blessing. It keeps things interesting for sure.
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 will need to involve a wide range of profiles and backgrounds. Development teams will have to be a true cross-section of the population that will be impacted by the project. 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, notifications might need to be sent, 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. It can reside in the memory of your computer, or in a database on the other side of the world or be calculated in real-time in a specialized device on your network. 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. This means 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 Software Intelligence 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. Discover CODE.