Skip to content

Instantly share code, notes, and snippets.

@JesusLeon
Last active October 8, 2015 19:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JesusLeon/8bf36b03106c58b8de76 to your computer and use it in GitHub Desktop.
Save JesusLeon/8bf36b03106c58b8de76 to your computer and use it in GitHub Desktop.
Development Notes

NOTE: I'm now writing my dev-notes on my Log at http://log.iamjessu.com

Development Notes

A collection of development related notes and ideas. Spontaneously thought along the daily work. Seemed rational when they were conceived.

Warning: Some ambiguity may occur. And excecution details may be needed :)

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130358999138/be-a-nitpicker

Be a nitpicker

...because only by nitpicking you will be able to take your work close to perfection.

The attention to smallest details (irrelevant to others) will always make the difference between a good work and a perfect work.

So go ahead... be a nitpicker!

#devnote #dev #note #nitpicker #profile

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130362058113/clients-and-their-systems

Clients and their Systems

Making sure your clients understand their systems will set a conceptual-solid path for any type of future request.

This will avoid unnecessary confusion and stress when reviewing concepts, functionalities, etc.

#devnote #note #clients #system

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130361683108/distributed-git-bare-repos

Distributed Git Bare Repos

Distribute your bare repos among a hanful of other trusted services or owned servers so when your primary service (mainly GitHub) is unreachable, you can still evolving the project as a team.

Not to mention if you depend on it for other tasks or phases of your development such as CI, deployments, etc.

#devnotes #dev #note #git #github

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130359186473/eloquent-syntax-and-wrappers

Eloquent Syntax and Wrappers

Wrap up frequently used classes with a more readable, easy to remember and eloquent API. It may require a bit of extra work but it will worth the effort.

Additionally, it can favor a more colloquial form instead of a technical one:

// Instead of this:
$user->setQueryParameter('id', 1)->loadResource();

// use something like this:
$user->findById(1);

#devnote #dev #note #eloquence #fluency

Empowerment

In my personal experience, the key to successfully manage teams and projects across many clients, companies and countries at the same time has always been the empowerment. Not mine but my working mates. By giving them the freedom to choose what they want to work on, they have always performed better, as they naturally will choose to work on what they like the most and what they are better on. This, with no exception, has dramatically increased their self-confidence and empowerment, not to mention the improvement on their skills and knowledge.

The result is a self-suficient, motivated and definitely a happy team.

#devnotes #dev #notes #empowerment #pm #profile

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130361863818/learn-to-fail

Learn to fail

The more ready you are to handle failure, the more success you will achieve.

Failure will happen. Be ready to transform it into success.

#devnote #dev #note #failure #success #profile

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130361495418/separate-the-appearance-from-the-logic

Separate the Appearance from the Logic

A classic one, and inspired by a blog post that I need to find back.

Separate the design from the logic not only at code level, but also at the source control level.

Use separated repositories to control the source and progress of your application's codebase and your application's look and feel. Then make use of them as external resources/packages.

#devnote #dev #note #design #repository #packages

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130361973948/master-your-tools

Master Your Tools

Take the necessary time to understand, learn and setup your working tools even before learning the technology you will work with.

A clean local environment is an efficient environment.

Analogy: How many minutes does a chef spend looking for the fillet knife or the pepper? None!

Have your environment ready to perform whichever task you need by just pressing the minimum necessary keys.

#devnote #dev #note #environment #tools

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130362120093/nomenclature-is-first

Nomenclature is First

A well designed and engineered software must have a clearly defined nomenclature.

As your software grows and evolves, its nomenclature is the key to have a standarized and eloquent API.

The nomenclature is the linguistic framework of your software.

#devnotes #dev #notes #nomenclature

Project Manager

Another from my personal experience.

A PM must be a support for the team, not an obstacle. The PM must do anything necesary to facilitate at its most the work of her/his team.

A PM must...

do not do
Have detailed knowledge of what he/she is managing. Ignore the subject/technology and leave it to the team to figure it out.
Have total control of his/her projects. Know what's going on at every moment. Be lazy and delegate managing tasks to other members.
Be open to better ideas. It doesn't matter who had the idea, what's important is that the idea now exists. Be closed to follow his/her own ideas and dismiss ideas from the team.
Do things simple. Simpler things tend to be easier to learn. Add unnecessary complexity to the tasks.
Be transparent. Share the information with the team. Be clear. Exclude nor ban information to the team.
Be realistic. When things are wrong everybody notice. Mask failure by pretending success. Again, everybody notice.
Stay cutting-edge. Learn new things that can be implemented to make work easier. Be obsolete.
Act rationally and fairly. Be emotional and obey pride.
Be honest. Know when to step aside. Be greedy. Stay in "power" ;)

#devnote #dev #note #pm #profile

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130360279768/special-forces-team

Special Forces Team

Independently of the size of the team, create a curated special forces team which will be able rapidly and effectively response and handle critical issues.

Like an oparational area, ready to quickly act on failure cases.

#dev #note #devnote #teams

NOTE: I'm now writing my dev-notes on my Log. Read this note at http://log.iamjessu.com/post/130359597638/in-app-workers-vs-cronjobs

In-App Workers vs CronJobs

Build scheduled jobs as commands within your application, instead of using the default CronJobs that may be lost between servers.

Make use of pretty-date solutions for easier readability, instead of figuring out what a series of stars "* * * *" may mean.

#devnotes #dev #notes #cronjobs #workers #scheduling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment