Journey into App Development with Leonidas Savvides

Journey into App Development with Leonidas Savvides

Leonidas Savvides profile pictureHello, everyone! We have another Learner Success Story to share with you today, this time with Leonidas Savvides, an experienced website, mobile, and webapp developer.

Thank you, Leonidas, for having this quick chat with us. Let’s start this interview off with an easy question: what got you into programming?

I read that programming is one of the most desired skills of the 21st-century, and that it’s easy to become a programmer with all these tutorials and books available online. So, while I was a science major in university, I switched to self-studying computer and internet programming.

You’ve been learning with Zenva since 2013. Can you tell us a bit about what sorts of things you’ve learned with the courses at Zenva and what keeps you coming back?

I like working in a way where I don’t have to ask for help – except in rare circumstances.

At first, I focused on learning the basics like HTML, HTML5, CSS, CSS3, and Javascript. Then, after mastering PHP, Java, and JavaScript/TypeScript online, I wanted to get a little experience with Python to build desktop apps, work with data science, delve into scientific-tech, and more. I wanted to use Python for these things, while saving PHP, JavaScript, and TypeScript for the web world.

I also wanted to be able to know and use the best tools for the job while keeping everything to self-study without help. At Zenva, I have learned PHP web frameworks, jQuery for mobile apps, Python for data science, and more!

Screenshot of BESTOFFICEDESKSETUP.COMGiven how much you’ve learned and experienced, what do you find the most challenging aspect to be when developing apps?

I think programming itself is easy. Development can be difficult, though, when trying to find the data which the app will serve. For a beginner, I don’t recommend game development. Instead, I suggest finding a niche field or subject where data is ready (or can be ready in as little time as possible) – or whose data is easy to find via web service APIs or social media APIs online.

After doing this, you can focus on programming and the UI and forget about sourcing the data completely. For beginners, make sure to offer a UI that is intuitive and easy to use for the audience of the app.

We’d love to hear about some of the things that you’ve been involved with as a developer! What can you tell us about your projects?

I like being involved in all sorts of areas: code snippets, fully working websites, web & mobile apps, website templates (which you can find on codecanyon.net), e-book publishing for computers & software tech, and even video editing.

I also very much like to administrate my web servers myself, so I mastered Linux Server Administration from online courses and books. I’m also a big fan of using and running Linux desktops like Ubuntu Studio OS (recommended for creators), Zorin OS, and even Raspbian OS/Raspberry Pi OS for PC in virtual machines over Virtual Box or VMware Player.

Leonidas Savvides' development blogIf you don’t mind sharing, what sorts of apps are you hoping to make in the future?

In the future, I plan to build an online marketplace for my district in PrestaShop (e-commerce platform) and fund it with Google AdSense. Also, as of November 2019, I plan on publishing a mobile app for iOS/iPadOS and Android via their mobile app stores. The mobile app is an educational coding app about cross-platform design patterns using Cordova/PhoneGap. I may use the same data in the future to build a desktop app version for the Mac and Windows stores using Electron/TypeScript – the web technologies which I’m best at.

Additionally, in a book I read about PyGame, I also found some source code for games made with Python and PyGame. I plan to convert them to multiplayer games using two joysticks (so two players) so I can showcase it on my blog.

All my current work can be found in my blog here: http://leonidassavvides.com/blog/

We’ve greatly enjoyed this discussion, Leonidas. Before we go, what advice do you have for beginning developers, especially those who are doing a lot of self-guided training?

After getting through the beginner’s phase, where I assume you’ll have learned HTML5, CSS3, JavaScript, computer science mathematics, and algorithm fundamentals, take online courses for PHP7 or read an introductory book. Then, it’s best to follow up with learning data structures and algorithms in your chosen language, such as PHP7, TypeScript, or Java. At the start, if you’re only sticking with web technologies, besides learning to build websites and webapps, I also recommend working with the frameworks Cordova/PhoneGap and Electron to build mobile apps and desktop apps respectively.

Leonidas Savvides design patterns applicationIf you’ve learned some PHP7 and haven’t learned nulls yet, make sure to learn another language’s data structure and algorithms (such as TypeScript) after taking courses on the basics in addition to PHP7. After you feel confident, only then should you proceed to learning design patterns in the language you know the best. If you want a strong background in design patterns, you can also learn them in a second object-oriented programming language like Java, jQuery, JavaScript, or TypeScript.

In parallel, you can also learn a PHP7 web framework like CodeIgniter, Laravel, or CakePHP. After you master a web framework, you can go further by studying a CMS build like CodeIgniter CMS or Laravel CMS (you can search on Google for more).

After, you can study FOSS Code projects based on your personal technology knowledge. For example, you can study PHP webapps’ source code like vTiger CRM, Sugar CRM, PrestaShop, Magento e-commerce apps or other CMS like Joomla or WordPress (All in PHP). If you started with Python or C++ you can find many FOSS apps here. If you started with JavaScript, jQuery, TypeScript, Node.js, Angular, and/or Vue.js, search for FOSS based on JavaScript or TypeScript.

Once you feel confident, apply as a freelancer to projects on freelancer.com or upwork.com, or find a part-time or full-time job. At the same time, you can build different personal projects to enrich your portfolio.

We hope you’ve all enjoyed this Learner Success Story, and we’re especially grateful to Leonidas for sharing his experiences and amazing projects with us!

Check out Leonidas’ Best Office Desk Setup website project or future online marketplace. You can also learn about many more of Leonidas’ projects via his blog or Behance showcase.

Additionally, be sure to follow Leonidas on Twitter and LinkedIn for more updates as well!