Learning in public

Creating an app or a plugin for an existing software platform can be a great project to learn and improve our coding skills.

When following courses and tutorials by listening, watching, and even copying code, we usually follow a happy path to build so…


This content originally appeared on DEV Community and was authored by Ingo Steinke

Creating an app or a plugin for an existing software platform can be a great project to learn and improve our coding skills.

When following courses and tutorials by listening, watching, and even copying code, we usually follow a happy path to build something relatively simple. We risk an illusion of competence and fall into tutorial hell, which means that overestimating our own achievements.

Building something

We should build something on our own, something that does not have a ready-made solution to look up, but creates unexpected problems to solve. A small idea of our own, something that seems useful or interesting to us, a small personal project, also known as a "side project" because it is beside our regular job.

Creating apps or plugins to learn and show

Many side projects end up as unfinished ideas, and even if they don't, they're just some piece of code that you have written. Writing an app or a plugin to be released in an official app store sets a goal to achieve.

Then we have to

  • understand the rules and requirements,
  • meet the quality standards,
  • have somebody else review and approve our code, and
  • maintain our code to ensure compatibility with future software releases.

Then we also have a proof of our work for everyone to see. Wonder why you should trust my work? See for yourself! Still not convinced I did it on my own? Study my commit history, read my comments, follow my blog posts. I value privacy, but I have nothing to hide as a professional developer.

My own learning path as a developer

The basics

Long ago, after having done some hobby programming on home computers and learning the basic concepts of computing with a programming language called BASIC, and having some halfhearted attempts at learning C and Assembler, I became fascinated by the world wide web and started front-end development with HTML and JavaScript, adding Flash, ActionScript, SQL, and Perl to build my first full-stack applications.

Fullstack dev using PHP

WordPress and Magento made me start learning PHP. Then I focused on Java-based e-commerce frameworks, XSLT-based middleware, and React-based front-end development for some years. As our smaller customers kept using WordPress and Shopware, I built plugins to connect our software to both, which made me rediscover PHP and modern front-end development apart from the React community.

Shopware is an open source e-commerce platform built on top of the Symfony framework. Anyone can develop an extension (themes, plugins, apps) and hope to get it released on the official marketplace. Anyone can also watch all their developer tutorials for free. I decided to go one step further and enroll for a paid certification exam.

Inspired by my own requirements

As a side project of my side projects, after switching from VisualStudio Code back to PhpStorm as my default editor, I did not want to miss a colorful light theme that I had just discovered, but there was nothing like it yet, so I started to build my own theme for PhpStorm (and all other JetBrains IDEA editors).

Despite being an unfinished copy of a VS Code theme, and despite the incomplete documentation and my lack of Kotlin experience, my plugin was approved and is now available as an official theme, Cute Pink Light Theme, and has actually been downloaded by other users.

Upcoming themes and plugins

Why not make a theme for Shopware out of it? I'm not sure if that's original enough to get into the store (and I'm quite sure it would get rejected as a WordPress theme), but that would be an easy start to actually develop something again.

API plugins

I have unfinished ideas for plugins measuring websites and shops to help improve performance and sustainability. A possible first step would be adding an automated analysis to the back-end, similar to Google Site Kit's PageSpeed / Lighthouse integration for WordPress, but with a more ecologic and IndieWeb focus.

Learning in public

DEV has inspired me to show my work and share my ideas without waiting for perfection. Open source is all about collaboration, even more so if we want to improve the way we work and how our products impact our society and environment.

So if you want to copy my idea to measure a site's sustainability, which is not that original in the first place, feel free to do so! I am open for collaboration and constructive criticism as well.

Personal project roadmap

Writing helps me organize my ideas, explaining what I learned improves my understanding of stuff, and releasing unfinished work even offers the chance to have someone else point out mistakes and misconceptions.

Last but not least, publishing creates a public backup of my work. No need to rely on local files, remember my login to cloud storage and keep my notebooks in a safe place. I could let go of all of that and I'd only have to google my (nick)name(s) to rediscover my previous work.


This content originally appeared on DEV Community and was authored by Ingo Steinke


Print Share Comment Cite Upload Translate Updates
APA

Ingo Steinke | Sciencx (2022-02-06T20:44:02+00:00) Learning in public. Retrieved from https://www.scien.cx/2022/02/06/learning-in-public/

MLA
" » Learning in public." Ingo Steinke | Sciencx - Sunday February 6, 2022, https://www.scien.cx/2022/02/06/learning-in-public/
HARVARD
Ingo Steinke | Sciencx Sunday February 6, 2022 » Learning in public., viewed ,<https://www.scien.cx/2022/02/06/learning-in-public/>
VANCOUVER
Ingo Steinke | Sciencx - » Learning in public. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/02/06/learning-in-public/
CHICAGO
" » Learning in public." Ingo Steinke | Sciencx - Accessed . https://www.scien.cx/2022/02/06/learning-in-public/
IEEE
" » Learning in public." Ingo Steinke | Sciencx [Online]. Available: https://www.scien.cx/2022/02/06/learning-in-public/. [Accessed: ]
rf:citation
» Learning in public | Ingo Steinke | Sciencx | https://www.scien.cx/2022/02/06/learning-in-public/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.