You’ve enjoyed the platform, you’ve dug the features, you’ve appreciated the support and you loved the end product. It’s time to meet the people behind it all.
Continuing our series of behind-the-scenes posts that we kickstarted with an interview of our support guru, Eleftheria, meant to introduce the team that created eFront, manages your private Clouds and keeps churning all these nice updates.
Today we’re talking with Periklis Venakis, eFront’s software architect and all around nice guy.
Please introduce yourself to our readers. What’s your name, background and position inside Epignosis?
My name is Periklis Venakis and I hold a degree in Software Engineering from the University of Patras. I joined Epignosis back in 2003, as a part-time developer, but one thing led to another, things got complicated, and Ι ended up engaged in a full-time relationship with the company as a senior engineer and software architect.
I am responsible for the code (doing quite a lot of the coding myself), and for sneering at coworkers’ programming habits (a.k.a. “mentoring”). Other than that, I pretend to be an all around nice guy.
You said you’re some kind of “architect”? Have you made the architectural plans for the offices (the famed Epignosis HQ)?
If only they had let me do the office plans too! Then we wouldn’t be forced to work in such lousy conditions (no internal heated pool? I mean come on!).
Unfortunately for them, my “architect” role is restricted to code-related matters: deciding what and how is going to be implemented, choosing the right tools and technologies, transforming requirements to actual features and solving any challenging technical issues that come our way.
eFront, and now eFront, have come a long way since the early days. Do you have a concrete roadmap of where you want the platform to be in 2 or even 5 years?
I personally dislike concrete, it is a rigid substance with practically no way of adapting to changes.
If I were to use a metaphor for our roadmap, that would probably be orange juice: Delicious, adapts to any container and it’s good for your health — but it has to be consumed fresh.
Joking aside, 5 years is a long time to make plans for, on any level, let aside software. That said, we do have a quite specific task list for the next couple of years, including (spoiler alert) xAPI support, moar (sic) gamification, full duplex offline communication and a, err, hit-load of other fascinating stuff.
How much does customer input (feature requests, complaints, suggestions) affect eFront’s design?
eFront has been customer-driven from the very beginning. We take user feedback very seriously and it’s not uncommon for a feature request to be incorporated in the very next release cycle, if we deem that it’ll benefit other customers too.
That said, we do receive a huge amount of feature requests, so the tricky part is to weed out the ones that add unnecessary complexity from those that provide actual value.
Is there anything regarding designing and building eLearning platforms that you find particularly challenging or interesting, compared to other kinds of software?
Yes! LMS design has a set of very intriguing properties: the target group is extremely diverse, encompassing children, educated adults, re-educated adults, enterprise employees, elderly individuals etc., all the way to people with special needs.
Simplicity is the key, but at the same time, organisational needs are very complex: it’s a constant tug-of-war between ease of use and completeness. Plus, to accommodate both content design and content delivery, you need to support a multitude of tools, implementing a variety of protocols, that all have to work together even though their philosophy can be totally different.
Do you study the competition? What you think are other companies’ shortcomings when it comes to how they design and build their LMS platforms, and how does eFront differ?
I keep an eye on the competition, but I don’t really study it. I’m all about innovation; I believe that each LMS has something unique to offer, pertaining to its own philosophy and it’s pointless to try and copy things other people have done.
Speaking of eFront, what’s special about it is that it’s easy to use yet complete at the same time, doing a great job at hiding complexity for the novice user and gradually revealing it as use cases get more complex.
Oh, and it also uses the latest and greatest technologies, so it always looks fresh and neat.
How do you like working for Epignosis? How does it compare to the average Greek company, based on your prior experience, or with what your friends in other IT companies tell you?
Working for Epignosis is a delight but not because we have great offices (we don’t, I wasn’t allowed to build them, remember?) or because we have a gym (we don’t), a playground (we don’t) or a nice view (we do).
It’s because of the team: we are gentle people, with deep respect for one another’s work, willing to assist each other and contribute to everyone’s success.
We also share the same vision, which is for Epignosis to thrive (which is a little self-serving, since Epignosis is, after all, its people).
What do you think has changed, if anything, since the early days, regarding your job function, the team, and the product?
Everything has changed but at the same time everything has stayed the same. There’s mostly more of everything now: colleagues, clients, partners, codebase, products, servers, furniture. It now takes some extra effort to not bump onto one another (metaphorically speaking, of course).
However, when I recall the early days, I don’t find that many differences: a handful of people working really hard to deliver a piece of software that satisfies our customers – and having fun while doing it.
Do you have a general philosophy when it comes to software? Any abstract rules that you feel are important to software architects?
Not in the sense of unbreakable laws or rituals.
My general philosophy is “get the job done”. This practically means that one should focus on the problem and try to solve it in a way that makes sense, even if this means that they get out of their designated role, or even their comfort zone.
It might require talking to the customer directly, occasionally working late hours, or even waking up at 06:00 AM to speak with an Australian customer. It also involves making decisions on the spot and assuming responsibility, even if the fault is not yours.
Conversely, do you have some practical, pragmatic observations when it comes to building software?
“Less is More”, “Keep it Simple, Stupid” (a.k.a., the KISS principle), “Learn to say No”, “Whatever you do, you will not meet the deadline”.
How do you feel about the stack used to create eFront, both the PHP backend part, and the HTML5/CSS/JS front-end?
PHP has always been the language that programmers love to hate.
Me, I just love it. It has a short learning curve, making it great for junior programmers to start with; a vast and excellent community; it’s mature enough to build complex, enterprise-grade software; and it’s easy to setup and deploy your product on.
Regarding the front-end, starting with eFront we decided to drop support for older browsers and rely on users’s browsers being HTML5 enabled. This gives us access to all the modern web magic; the sky is the limit now.
Where do you see eFront in 5 years time? And where do you see yourself?
Reflecting upon where eFront was 5 years ago, I can, with great confidence, assume that in 5 years eFront will be 10 times better, 10 times bigger (in terms of installed user base) and 10 times more expensive (I’m joking, people).
As for me, I suppose I’ll be considerably more experienced, since I’ll have accumulated 5 years’ worth of mistakes (a.k.a. experience). I think I’ll also have more or less the same responsibilities: overseeing the development process and giving technical advise to those in need.
Anything else you’d like to add?
Buy eFront? Does that count?