GithubHelp home page GithubHelp logo

ganibalking / developers-manifesto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mrsimonemms/developers-manifesto

0.0 2.0 0.0 32 KB

What we stand for…

Home Page: http://developersmanifesto.com

License: Creative Commons Attribution Share Alike 4.0 International

developers-manifesto's Introduction

The Developers' Manifesto

Creative Commons Attribution-ShareAlive 4.0 International

  1. Development is a science, so be scientific
  2. Development is an art, so create beauty
  3. Never stop learning
  4. Never stop teaching
  5. Question if we are using the right tool for the job
  6. Have fun

1. Development is a science, so be scientific

We are scientists. We develop to the scientific method. We make observations. We experiment. We improve.

There is no authority in science. No matter if we are the most junior developer, if we are right then we are right.

However, we do not assume that we are always right. We question everything. When asked for our opinion, we will provide evidence to justify our conclusions. We recognise that we may have to live with decisions made today for many years to come.

And we want this to be reciprocated. When presented with an opinion, we will question the evidence presented and the conclusions drawn. This is how we ensure that our software is built to the highest standards of rigour.

In the face of uncertainty, resist the temptation to merely guess. A guess without a solid basis is often flawed. We use the evidence at hand, our logic and reason to form a sound conclusion. There will be times when we don't have all the facts at hand. In these moments, we will not let our pursuit of evidence and reasoning desert us, and allow our conclusions to evolve as more evidence is presented.


2. Development is an art, so create beauty

We are artists. As humans, we intrinsically know that it is nicer to inhabit a beautiful room than one that is less so. The more pleasing the room is to be in, the more pleasure we have being in it. The same is true of our software.

As developers, we inhabit our software. Unlike everyone else, we walk through its corridors, live in the walls and can admire its construction. No one should be forced to live in a house that is unpleasant and we should not force other developers to live in software that is ugly.

Beauty means different things to different people. For some, it will be a consistent style. For others, it will mean test coverage. Others still will place value upon brevity.

Like art, the definition of "beauty" is infinite.

Like artists, we should always strive to achieve it.


3. Never stop learning

No matter how good we are, we cannot know it all. It should be our ambition that, when we look back at our past work, we ought to be able to see ways in which to improve it.

It may be a small thing. It may a massive improvement. When we can't see any improvements to our old work, we have not grown and we have stagnated.

The development landscape that is here today may not be how it looks in 5 years time. It is our responsibility to our profession, to ourselves and to each other that we ensure that our abilities are kept sharp through education.


4. Never stop teaching

No matter how junior we are, to a non-developer we are a superstar. We have learnt how to make computers bend to our will. Never lose sight of how complex even the simplest "hello world" would be to most people.

When teaching, we will explain it at the level of our audience. It only serves to alienate our audience if we fail to explain concepts at their level. Once alienated, they will always be alienated.

We may never inspire generations of future developers. We may never be the mentor to a future development giant. But it is within all of our power to inspire, mentor and teach non-developers about the power of logical, analytical problem solving.


5. Question if we are using the right tool for the job

The hammer is a brilliant tool and has served humanity for well over two million years. It's reliable, effective and one of the most perfect tools we have.

Unless you have a screw. Then it's useless.

As developers, we have a whole range of tools in our arsenal. There is nothing more frustrating than having to hammer in a screw. We may have preferences and biases as to which tool we use, but trying to hammer in a screw is both wasted effort and inelegant.

The right tool for the job will change over time. What may be considered the best tool today may be considered a poor choice tomorrow. As a developer, it is our responsibility to question our choices and ensure we have enough knowledge to pose the best questions.


6. Have fun

Every developer first started developing as a hobby simply because it was interesting. The moment we stop the child-like wonder at how amazing it is to develop is the moment we cease to be a developer.

Remember the excitement we had when we first made a computer do something. Those tasks are what we make computers do every single day of our lives. Consider just how amazing development is and what is still possible to do.

How can we inspire others if we cannot even inspire ourselves?

We do something amazing.


developers-manifesto's People

Contributors

mrsimonemms avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.