SOLID Principles SOLID is a mnemonic acronym for five core principles to designing and implementing solid object oriented code. They can and should be applied to any object oriented design and serve as the core of certain methodologies built around OOP such as agile. The goal of the principles is to make it easier to develop, maintain, and scale.
Pros And Cons Of The Side Hustle Whether it is producing content such as podcasts, blogs, and videos, consulting, or building applications for personal use or for sale, or even creating other content like music and books, there is a lot to be gained by hustling on the side, a lot of which is much more difficult to get in a regular job. Taking on a side project can help build your career and your skills, provided you do it in an intelligent fashion. If you are considering starting a side project of your own, an early awareness of the upsides and downsides can save you a ton of pain and frustration.
Unit Testing With Test Driven Development Unit testing is a valuable skill to have, no matter where your code runs or what it does. It reduces the error rate of your software and can often help force a better structure into your code. In addition, this practice can make it easier to make large changes to your software with less risk, as well as making it easier for new developers to understand the structure of your software.
7 Networking Layers Open System Interconnection (OSI) model is a conceptual framework that defines how to implement network protocols. OSI breaks network communication into 3 upper and 4 lower layers. Each layer is a set of protocols for communicating to other devices at that level, also known as peers. This is a very brief overview of networking layers as there is a lot of information beyond what is it.
Understanding Technical Debt Technical debt is the idea that there will be a cost in terms of more development work down the line for using certain solutions to problems that arise while developing. The idea here is not to avoid accumulating technical debt but instead to understand what it is and how it can be used properly to benefit your development and your business.
Fairy Tales Fairy tales were designed to impart life lessons along with being entertaining. Unlike today, where an extended period of adolescence is common, our forebears experienced a world that was much harsher, where the transition between childhood and adulthood occurred much more quickly and where mistakes were much more dangerous.
Evaluating Office Layouts Knowing what kinds of office environments work best for your personality type, your current task load, and the work environment can yield clues to how to fix it if work becomes unpleasant. Shared space can drive both collaboration and conflict, so it's important to know what can possibly go wrong in a given environment.
Normalize Your Database Database normalization is the process of organizing data in a relational database. The normal forms are a series of guidelines to help communicate the level of normalization a database. Even if you aren't a DBA or back end developer understanding the basics of how the relational databases are organized can provide insights into working with other developers or existing code.
Command/Query Responsibility Segregation and Event Sourcing Command/Query Responsibility Segregation (CQRS) creates a logical separation between operations that mutate data and operations that merely retrieve it. In addition, Event Sourcing can help your application collect data that may not be considered valuable at the time of design but may be very valuable later.
Differentiate Yourself When going for a new job you want to set yourself aside from all of the other applicants and be memorable. Setting yourself apart from the rest of the applicants gives you a better chance of getting the job.