The Valuable Dev

The Valuable Dev Principles

Many people might think that developers are asocial nerds, people with glasses only interested by technologies. Big surprise: this is not true.

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

A developer should care to increase his own value as well. Being more aware of the business domain of the people he works with, proposing the best solutions for immediate results, using his skills to be able to solve a wild range of problems.

That’s the mission of this blog: improving your value, for you to produce value. To become a more valuable developer.

In order to do so, this blog will try to respect the following principle, which, I think, will bring a lot of value for you, the reader.

Mindsets Precede the Tools

I usually like to define the important words in my articles, for us to agree on their meaning. 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 way 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 it”.

This is fine if we really understand what we want from them. However, would a tool be useful if you have the wrong set of attitudes?

We need to explore first:

  • Why do we have this need? What problem would it solve?
  • What is the goal?
  • Does the need answer the goal?
  • How can we tend to the goal?

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

  • We need to know how to code before being able to use effectively an IDE, and we even need to know why we need to code, at the first place.
  • We need to know what the purpose of managing our time before using time management tools.
  • We need to know 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 to develop software was created and what it is about, before being able to use (or discard!) 192339 tools and framework like Scrumm, Kanban, Scrummban, Kanumm, Kanscrummbanummnam.

Still, you will see very often on the Internet the “12 Best Tools to Wake Up Early” or “The Ultimate List of Tools in Order to Solve the World’s Problems”. That’s nice and all, but you need to have the good mindset, before being able to use these tools for your specific needs.

It doesn’t mean that The Valuable Dev has no article about the tooling. It means that I will always try to explain the possible mindsets which goes with a tool. It’s your choice to adapt it to your needs or to simply reject it.

Quality over Quantity

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

I noticed something quite alarming in this trend: for some blog, the content quality doesn’t follow. They end up with short and artificial articles, which stays on the surface, without trying to dig a bit deeper their subjects. Obviously, the clickbait title will be there, too, and a lot of advertisements will pop up in your face.

Indeed, it’s very tempting to spend most of the time in SEO optimization and Google ranking to please my ego or to pay the bill.

After all, it’s easier than trying to research and write good, valuable content.

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.

This is not the goal of this blog. Learning doesn’t work that way. That’s why I’m trying my best to write each article 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 web developer.

I don’t want to be hypocrite. I more or less do some SEO as well. After all, for this blog to be useful to developers, they need to find it.

All of that implies that you need to read a bit more than 20 lines, trying to understand the questions I want to answer, understanding my arguments, the important words and their meaning, the general idea I want to convey. It means asking yourself questions, agreeing or disagreeing with my point of view, and take actions if you need to.

At the end, I want us, you and me, to learn. I learn from my research, my explanation and your comments, you might learn from my experience, my knowledge and the analysis I make out of it.

First Principles

Learning the first principles of any discipline is the best way for mastery. Staying on the surface of things, on the artificial side of the knowledge, can help you solve common problems, but won’t help you to adapt quickly to the new, deeper and complex ones.

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

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 is my objective too: growing my foundation of knowledge, having more of these basic building blocks in order to be able to answer quickly a broad range of needs. To be able to learn anything which is based on these first principles.

It might seem longer and more difficult to take this path, than just focusing on one programming language, one framework, one tool, and staying in this comfortable bubble. I respect this decision, if this is what you want. However, don’t forget that the more security you will have, the less freedom you might enjoy.

Nowadays, many developers try to focus on the last trend: the last JavaScript framework, the last way to ship your product. Learning the foundation of all these trends will bring you this edge many developers don’t have.

What are these first principles, concretely? Knowing the useful basics in computer science, understand how a relational database works, understand memory even if you work with high level languages.

You might think: “I don’t need to know how the universe work to bake an apple pie!”. You would be right. I don’t think learning how the universe work would help you. Knowing the basics of cooking, however, could enhance the quality of your apple pie and the time you need to bake it.

Let’s try to focus on the first principle which really matters, for you to become an expert in the field.

Atemporal and Coherent

Most of the articles on this Blog are meant to be atemporal. I try to describe some general concepts which are meant to stay relevant in the future. That’s the benefit of the first principles: 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.

It means that you cane come back to “old” articles 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 old articles as often as possible, in the light of the new experiences and the new knowledge gained.

The Valuable Dev is meant to be coherent: many articles are linked together with hyperlinks. It’s not mandatory to read everything of course, each articles can be enjoyed independently.

Experimenting

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 will be false in some case.
  • Some tips and methods will work well for some people, for others they won’t. I encourage you to experiment for yourself, if the possible outcomes are not harmful, and see if what I’m saying is true for you. I think you should treat any advice or how to the same way: 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 the history of mankind, 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, that is with well-thought arguments, can offer another aspect of the subject and enrich the knowledge proposed, for everybody.