The Valuable Dev

The Valuable Dev Principles

Many people might think that developers are asocial nerds. Their only interest is technology. They’re on this planet to produce the dreams of their managers.

code monkey

Big surprise: this is not true.

A developer should primarily care about producing value, not code. Value for himself, value for the others, value for the clients or companies he works with.

What does producing value means, for a developer?

  • Being aware about the business domain of the company he works with, to translate it correctly in software.
  • Using his skills to be able to solve a wide range of problems. This doesn’t have to be related to technologies or even programming.
  • Always trying to improve the quality of the codebase he works on. It has to work, being maintainable, understandable and scalable.
  • Finding and designing solutions in a good amount of time.

That’s the mission of this blog: improving your value, for you to produce valuable solutions. In short, to become a good, well rounded, valuable developer, with more control and autonomy.

In order to do so, The Valuable Dev will try to respect the following principle, which, I think, will give you the values I’m speaking about.

Mindsets Precede the Tools

mindsets and tools are linked

I usually like to define the important words in my articles, to be sure we understand each other. As Thomas Reid was saying:

There is no greater impediment to the advancement of knowledge than the ambiguity of words.

Let’s agree on what mindset means. According to the Oxford Dictionary:

The established set of attitudes held by someone.

What about a tool?

A thing used to help perform a job.

Tools are attractive: they offer concrete solutions to solve your problems and answer your needs. We are often tempted to jump on the tools without asking ourselves more questions, or because “everybody uses them”.

This is fine if we really understand what we want from them. Before using a tool, we need to explore first:

  • Why do we have this need? What problem would it solve?
  • What’s the goal?
  • Does the need answer the goal?
  • What other actions can we take to tend to this goal?

It doesn’t mean that The Valuable Dev has no article about tools. It means that I will always try to explain the possible mindsets which are linked to a tool, by answering the questions above.

Here are some examples which can help you to grasp what I mean:

  • We need to know how to code before being able to use effectively an IDE. We even need to know why we need to code, at the first place.
  • We need to know whats the purpose of managing our time before using time management tools.
  • We need to learn some tips and tricks how to effectively manage a side project before trying to find the best tools to build it.
  • We need to know why and how the agile way of developing software was created and understand its philosophy, before using blindly 192339 tools and frameworks like Scrumm, Kanban, Scrummban, Kanscrummbanummnam.

Tools provide a path, a context, and almost an excuse for developing enlightenment, but no tool ever contained it or can dispense it.

Quality Over Quantity

Quality is the most important

Many blogs out there focus on creating articles in order to attract as much people as possible. The goal? To have the best Google ranking, to see the numbers of visitors going up as quickly as possible.

We all noticed quite alarming in this trend: for some blog, the content’s quality doesn’t follow. We end up with short, artificial articles. Obviously, the clickbait title will be there, too, and a lot of ads will pop up in your face.

The reader is accomplice in this state of affairs. More than ever, in this Twitter-world, we switch from one piece of content to another very quickly, scanning everything, even what looks interesting, instead of reading, understanding and learning.

That’s why I’m trying my best to write each article of this blog carefully, in order to give you the clearest information, the most practical tips and the best examples I can find, for you, the reader, to learn how to increase your value as a developer.

All of that implies that you need to read a bit more than 20 lines.

It means asking yourself questions, agreeing or disagreeing with my point of view, and take actions if you need to. Reading is passive, but knowledge should be used for acting.

I understand that the length and density of some articles might look a bit daunting. They are not meant to be read at once, in 5 minutes, while speaking with your colleagues and answering your friends on Whatsapp.

You can think about The Valuable Dev as a mix of a blog and a book. The articles are often longer than the ones in an average blog, but shorter than a book.

At the end, I want us, you and me, to learn. I learn from my researches, my explanations and your comments. You learn from my experience, my knowledge, my researches, and my analysis.

A Strong Focus on the Fundamentals

First principles are the foundation of knowledge

Learning the fundamentals of any discipline is the best way for mastery. Staying on the surface of the knowledge can help you solve common problems, but it won’t help you to adapt quickly to the new (and more complex) ones.

Developers often need to answer new challenges, tackle new problems. They often need to go outside their comfort zone. That’s one important reason why our job is so interesting and creative!

Would you like to be able to work on any framework, with any language, in a startup which expects quick and quality results, even if you never used these tools before?

This blog aim to give you the fundamentals you’ll need. If you know these basic building blocks, you’ll be able to learn whatever is built upon them.

It might feel more difficult to take this path instead of focusing on one precise programming language, one precise framework, or one precise tool. However, it’s less rewarding, less interesting and, as you might now, you won’t have the choice anyway. You’ll have to adapt to new tools during your career.

What are these first principles, you might ask? Here’s the ones I covered so far..

Future Proof Articles And Coherence

Incoherence must be avoided!

Most of the articles on this Blog are meant to be atemporal. I try to describe some general concepts which will stay relevant in the future.

That’s the benefit of learning the fundamentals: they change pretty slowly, or even not at all. Object Oriented Programming, for example, is around for decades and didn’t evolve that much since its wide adoption in the development world (at least, one of its flavor).

It means that you can read the “old” articles of this blog and still find relevant information.

Even though, the articles’ publication date (as well as their last update dates) are displayed, for your information. I’m trying to update the articles as often as possible, in the light of new experiences, new knowledge and the changes in the industry.

The Valuable Dev tries to be coherent, too. Many articles are linked together with hyperlinks. It’s not mandatory to read everything of course, each articles can be enjoyed independently.

Experimenting Is Key

Always experiment before adopting

I don’t have every answer, or even The Truth©, whatever it is. I deeply think that what is true depends on the context.

  • Almost every general rules have exceptions, depending on what you try to achieve. Every decision you make needs to be done trying to perceive the possible outcomes. That’s why, in some case, what I hold for true in general might be false in some case.
  • Some tips and methods will work well for some people, but not for others. I encourage you to experiment by and for yourself, and see if my (or any) advice apply to you. Trust your guts, and don’t hesitate to challenge your new knowledge with concrete experiments overtime.

The last statement is even more true when your own self is a part of the equation. For example: time management methods, tips to decrease your stress, how to fight procrastination, and so on.

Let’s not forget another scenario: I might be plainly, indisputably wrong.

I think when a piece of content, shadowed by the writer, meet the reader, an interaction begin. The reader might disagree, for purposely reasons, about what he’s reading. However, the writer has no chance to answer readers’ concerns: the communication goes only one way.

That’s why the comment section is so valuable. It allows us to interact and learn from each other. Between the readers and the writer, or between the readers themselves. Never, in our history, we had the chance to learn from everybody so easily!

Let’s capitalize on this fantastic opportunity to bring value to our knowledge and, ultimately, to our lives. Quality comments can offer other views about a subject, and enrich the everybody’s knowledge.