DEV Community


The programmer mindset; prototype vs production; & staging environment

mohanarpit profile image Arpit Mohan Originally published at ・2 min read

TL;DR style notes from articles I read today.

The programmer mindset: main debug loop

  • What the author calls a ‘main debug loop’ is a natural tendency most programmers develop over time: Write a small piece of code. Run the code. Fix what’s not working. Repeat.
  • Validating small pieces of code you write while you write them (in-application validation) is better for code quality & for speed of the overall project than using only testing as a validation method.
  • However, in many cases this approach may consume a lot of developer time due to the latency in the file system, the runtime loading the change you just made, and your own time interacting with the newly updated application.
  • There is a correlation between large codebases, service architecture, and a retreat to test validation as the primary debug loop.
  • Staging environments can help solve these local machine resource problems, if any, and also alleviate the burden of maintaining a local data set for testing while writing code.

Full post here, 9 mins read

Prototyping vs. production development: how to avoid creating a monster

  • The ability to rapidly iterate, receive quick feedback, and keep costs relatively low are the three main priorities during the prototype phase.
  • Even in the prototype phase, write tests for vital pieces of code.
  • If your prototype starts turning too buggy, slow down and tighten your code. If you are constantly missing deadlines, simplify your code to improve the pace.
  • In the production phase, it is all about keeping the user, their needs and their environment in mind.
  • Users want products to be flawless and fast. Have well-defined code standards, review processes, and quality assurance testing process.
  • Be thorough with your documentation if you don’t want considerable code rewrites.

Full post here, 16 mins read

Staging environments are too important to be overlooked: here's why

  • Data sets tested locally are usually an unrealistic representation of what is in production and can expose users to potentially breaking changes.
  • Staging environments can reduce the errors occurring due to unmet dependencies.
  • They reduce the chances of incorrectly merged changes getting deployed to production and save you from potentially rolling changes back or hotfixes.
  • They reduce the impact or number of errors in your product and result in indirect cost savings.
  • Using staging environments can result in a higher degree of quality assurance.

Full post here, 7 mins read

Get these TL;DR style notes directly to your inbox every weekday by signing up for my newsletter, in.snippets(), here.


Editor guide