Complete Developer Podcast
Summary: Will and BJ first met in college and have been friends ever since. You can tell this through their dynamic conversations. Will bring a wide knowledge base to the conversation through his years of experience as a senior developer and aspiring software architect. Whereas BJ being a journeyman developer is learning as he works in the field. He shares those lessons and more each week. Because of their varied experiences topics range from the technical to the every day life of a software developer. Whether you are just starting out or in the twilight of your career you'll find something useful and informative on Complete Developer Podcast. There are plenty of podcasts out there focused on languages and coding. What we are doing with the Complete Developer Podcast is to also cover the other areas of life as a developer.
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.
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 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.
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.
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 (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.
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.
The principles of domain driven design (DDD) make sense, but a lot of the documentation around it is not very helpful for getting your head around the ideas. Domain driven development is primarily about building and designing your applications to be focused on the business needs of your client.
Burnout can be insidious, slowly creeping into your work and life without you even knowing it. A lot of times to correct it you'll have to have both personal and organizational changes. These habits are things you can do for yourself to prevent burnout from ruining your life and career.
Many web developers avoid Cascading Style Sheets (CSS) as much as possible and the lucky ones have standards that once set no longer have to worry about. Some developers even have trouble understanding the difference between an id and a class and how to appropriately use them.
In medicine the idea of a Morbidity and Mortality conference is to look back on a case after the fact, when the emotions around it have died down some. The Sprint Retrospective provides the team a way to inspect their process and look for ways to improve.
When trying to better yourself in some way, it can be tempting to pick up a book on the subject and start making changes, but that is neither a sustainable, nor effective way to go about it. Instead, you need to structure things so that you can be successful from the outset, even with the inadequacy of the average self-help book.
Burnout is a nasty and insidious process. It can sap your ability to push through challenges and ultimately cause you to fail if not dealt with quickly. It typically occurs when you have been overworked or over stressed for an extended period of time and have reached a breaking point. Burnout doesn't happen in a day, and can not be recovered from in a day. It's a plague on the software industry. Unfortunately, most of us aren't taught how to recover from burnout. We tend to learn it the hard way through experience.
Generally speaking a data type is either primitive or composite. A primitive data type can either be a basic type that provides the basic building blocks for a language or a built-in type that the language treats and supports as a basic type. Composite types are ones that are a combination of primitive types or other composite types. These may or may not be built into the language you are using.
The theme for this past year has been goal setting. Writing your story goes beyond setting and achieving your goals. Stories are about growth and change. It is becoming your own guiding influence. Writing your story can help you find your voice. Telling your story affirms your values. It also helps you to find peace or hope. Sharing your story can help others.