DEV Community

Cover image for Advice for starting developers
OmnilinkDigital
OmnilinkDigital

Posted on

Advice for starting developers

Beginner developers should not use paid services to solve the problems they're facing if they have the inability or lack of experience to solve them.

A decade ago at the start of my professional software development career, my only resources for learning was with online content. After a bit of improvement in my technical abilities I was constantly finding myself in rabbit holes where I couldn't figure out solutions to the problems I was facing.

Then after more grinding research online I usually found the perfect article that described a solution in the context of the problem I was facing.

When I see online tutorials or articles online these days, the majority includes collections of paid services. Now, while I understand that the incentive to use these services usually involves reasoning between the effort and monetary tradeoffs. In my opinion, including it in educational content hinders the learning and understanding of a person new to the environment.

Ten years ago it was substantially more difficult to find the essence of a solution online. With the abundance of services crafted over the past decade, catering to every problem the industry has, your solution is only a free-tier or a minimal monthly payment away.

Now I'm not saying that using these services is bad thing. You should absolutely use them with valid reasoning. Especially when you need to offload the overhead of things like auth patterns.

I was reading an article about how to implement RBAC with an example of an anti pattern. In the example it described functions that used checks based on the roles the user has. The issue the author was trying to convey was that hard-coding authorization rules with imperative 'if' statements creates duplication, complexity and inflexibility. The reasoning aligned with my opinions and I found it to be valid.

The author described the solution immediately after said example. The solution was to use basic RBAC policies in Permit.io (I decided to write this post the moment I read that solution).

After years gathering technical experience, I am childishly finding it hard to accept the fact that finding a solution is a simple google search away, or reading one of the daily articles on daily.dev and dev.to. It is not that I found anything wrong with the article. I just thought it was a great tutorial on how to use a paid service. Instead of explaining patterns and methodologies that will help you gain valuable knowledge on the subject.

The valuable thing that years of research in an era of scarce quality knowledge taught me, and what I find missing in the majority of mainstream software related educational content, is the core fundamentals. It's difficult to find quality sources in a sea of content available at one's fingertips these days.

So here is my advice for new developers. When you read these articles or follow an online tutorial that includes a paid services, do the research before blindingly accepting the fact that the service solves your problem. Do the research on what you're trying to accomplish. Pay for the service when you know that you can roll your own identical solution. Pay for it when you don't want to deal with the overhead and have, at the very least, the knowledge of how to implement it yourself.

Top comments (0)