A podcast by coders for coders about all aspects of life as a developer.
Hosted on Acast. See acast.com/privacy for more information.
php/* */ ?>
A podcast by coders for coders about all aspects of life as a developer.
Hosted on Acast. See acast.com/privacy for more information.
Copyright: © Complete Developer Podcast. All Rights Reserved.
Podcasting has definitely been a journey for both of us. When we started BJ wasn't even a developer and Will was working for himself. Now 8 years later BJ is leading a team of developers and Will is back working for himself. It has been an amazing journey with you all this past years. We have both learned a lot about ourselves, programming, leadership, and audio engineering (well Beej learned about audio).
However, like all things, it can't last forever. Sometimes you just hit a point where you realize that you can go on, but your heart really isn't in it any more. That's kind of where we both are. We've enjoyed our time podcasting and it's been a very memorable eight years. The podcast has changed us both a lot, and that's the real reason we are stepping away from it. We've both gained many new skills, and more comfort with more difficult tasks. And now we both have goals of our own that don't really mesh well with the podcast.
The post A Farewell To Our Fans appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Simple systems fail simply. Complex systems also fail simply, but their interconnectedness with other systems makes mitigating failures much more complex. Past a certain level of complexity, system failures are an emergent property of the system – that is, the set of system parts has a set of failure cases that the individual parts do not have by themselves. This means that it is more difficult to predict what can go wrong with a system. At some level, prediction is nearly impossible. However, you can predict many of the things that are likely to cause problems, simply by engaging in a few fairly simple thought exercises, you can greatly reduce the number of unexpected problems that your system encounters.
While it can be tempting to wait until a problem occurs to try to mitigate it, this is unwise in a production system that other people are dependent on. A system failure usually costs money at a minimum, and the problems can be far more severe than that. As a result, it's common for software services to include a Service Level Agreement or SLA, that dictates expectations about the frequency of system outages, response times, and time expected to complete work. Even if your system is engineered so that it doesn't completely fall over when a problem occurs, it can still violate an SLA and cost money. The consumers of your application probably have their own clients who have their own expectations. SLAs tend to bleed inward from clients to the services that they use and then to the services that those services use.
In contrast to SLAs, systemic problems, including both errors and latency tend to bleed outward from one service to its clients and then to the clients of that service. As a result, when you are thinking about how to find potential systemic problems, it's often best to think of these problems from two different angles. That is, you need to consider how errors and latency will bleed out as a result of a problem, while also considering how SLAs bleed in to put more stringent expectations on your system than you might expect. In effect, you are dealing with a balance between tolerance for errors and difficulty in error mitigation. Depending on how critical your system is to your clients, these expectations will vary.
You can't prevent every problem in a system, but you can usually prevent a large percentage of them by planning ahead. However, until you've encountered enough unexpected problems, it can be difficult to envision how something can go wrong, or even have a realistic thought process for thinking about what can go wrong. However, if you go through the thought exercises we've outlined here, then you have a good chance of preventing most of the problems that will plague a complicated application. While this doesn't fix everything, it can give you enough breathing room to fix the truly unusual problems that you'll occasionally encounter.
The post Preempting System Issues appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Feedback is any information, observation, or even opinion about the performance or behavior of another individual our group. It can be formal as in performance or peer evaluations or informal such as with mentoring a junior developer. It is a form of communication designed to provide guidance that helps the other person to grow and achieve their goals.
Providing feedback gives insights and identifies areas of improvement. Often it is used to guide those you are leading toward personal and professional growth. To the person receiving the feedback it can be stressful, especially if it is not all positive. It can also be very stressful to the person who is providing the feedback, especially if they are not a confrontational or naturally assertive person. Having a plan of action when providing feedback not only helps the person receive it better but also helps the person providing the feedback.
As feedback is a way to help achieve goals the technique for creating effective goals (SMART) can also be applied to providing feedback. To review, SMART stands for Specific, Measurable, Attainable, Relevant, and Time-bound. Applying SMART to feedback will better define what you are getting across and make it more actionable.
SMART (Specific, Measurable, Achievable, Relevant, and Time-bound) is a framework most often used in goal setting. However when applied to providing feedback it will enhance the abilities of the person providing the feedback and allow the recipient to better understand what they need to do to achieve their goals. Using this framework ensures that the items coming from the feedback are actionable, well defined, and focused on the issue or goal at hand. Whether you are doing performance plans for those working for you, peer or code reviews, or just mentoring someone who is not as far along as you apply the SMART framework to your feedback and see the improvement in reception and accomplishment.
The post SMART Feedback appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Database sharding is a process of storing a large database across multiple machines. Because a single machine can only hold and process so much data, eventually some systems will scale beyond the ability of a single machine to handle data. Further, as systems scale, they may also need to split data between machines due to security and location considerations. Database sharding overcomes these problems by splitting the system into smaller chunks, allowing work to either be done in parallel, or only in the locations with the relevant data.
Obviously, it matters a lot how you split up your data. For instance, it's unlikely that splitting a customer table based on the customer last name will be as helpful in a large distributed system as it would be to split up customers by location. You probably also want to have shards that are roughly the same size. The idea behind sharding is to improve performance, specifically via parallelization, but it's also helpful if it also provides some resilience to outages. So that will also need to be a consideration when you start thinking about sharding.
Database sharding can be a very useful tool for making your application more resilient to load. However, it's complex and you really need to think through it carefully if you are considering using it in your environment. There are several different ways to do it, with different advantages and disadvantages, and these will need to be thoroughly considered before starting. Plus, sharding is actually a fairly drastic operation, requiring support and extra work for the remaining lifetime of your application. This means that you shouldn't really consider it until most other options have been exhausted.
The post Database Sharding appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Effective communication is a vital aspect of any organization or team's success, and one tool that has been proven to be very useful is the Four Square Report. This report is a simple and effective way to communicate information about a project or task to a team or stakeholders. It was originally developed by the U.S. military to help soldiers communicate critical information in a clear and concise manner, and has since been adopted by many organizations and industries.
4 square reports were refined by the construction industry and have since been adapted to fit the needs of software development teams. The reports are based on the idea of breaking down progress and issues into four categories: achievements, roadblocks, plans, and risks. By providing updates on these four areas, the entire team can quickly understand what has been accomplished, what challenges are being faced, what the plans are moving forward, and what potential risks may arise.
The effectiveness of 4 square reports lies in their simplicity and clarity. They are quick to create and easy to read, making them ideal for agile development teams that need to keep pace with fast-moving projects. Additionally, by regularly updating the reports, everyone on the team can stay up-to-date on progress and potential issues, allowing for early identification and resolution of problems.
The 4 Square Report is a versatile tool that can be used in a variety of situations to help with decision-making and project planning. By considering four key aspects of a project or decision and filling out a simple, visual report, you can gain valuable insights and make informed choices. Remember to identify the most important aspects, be thorough and objective, use the report for collaboration, and revisit it regularly. By using the 4 Square Report effectively, you can increase the chances of success for your projects and decisions, and learn valuable lessons for the future.
The post Four Square Reports appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you haven't noticed, technology moves fast. There are constant improvements and reworking of every programming language out there. Sometimes the changes are small and easily dealt with, while sometimes the changes are huge. Complicating things further, most developers need to learn a wide variety of tools and frameworks in order to be effective in their current job. At a minimum, most of us need some kind of front end framework, a database (and its associated libraries), an IDE, a source control system, and some sort of devops. For most of us, it's worse than that. And it gets even more fun as your team tries out new technology or you switch jobs, as that often means learning two or three new tools in a short period of time.
Lots of developers (ourselves included at some point) attempt to learn on the fly by having training videos playing in the background while they are working on something else. While you can learn a little this way, this usually doesn't work very well. Lots of developers will also buy courses from Pluralsight, Uedemy or other vendors, or even find courses free online from sources like FreeCodeCamp, and still spend an inordinate amount of time trying to learn. Pretty much every developer has tons of courses available to them that they either completed while learning little, or didn't complete at all. Even more of us have stories of online tutorials that were out of date, covered the wrong things, or had errors in them that frustrated us and made us quit. And everyone has examples of tutorials that showed the rosy side of a new framework, and then abandoned potential learners in a mire of real-world troubleshooting they were unprepared for.
However, there is a better way to ensure that you get the most out of online tutorials. Not only is it possible to quickly learn from online tutorials while retaining information, but it's also possible to do so in a way that is fairly time efficient, gives you good experience with the tools you are trying to learn and teaches you to work through common errors. Further, the process of learning is not isolated to the process of watching a tutorial, but also helps you choose more appropriate tutorials, while making sure that you learn what you came to learn. And this process also helps you get real world experience actually applying what you learned afterward and helping you find the next thing to learn.
With the wide variety of libraries, platforms, and databases available on the market now and with the rapid evolution of tools, it's absolutely necessary to learn on the fly as the need arises. However, most people haven't really thought about how they learn and often have internalized some maladaptive learning strategies. This is especially true in software development if you attended structured, formal classes. It can be difficult to learn in an unstructured manner, especially if you aren't used to doing it. It can also waste a lot of time. However, there are a lot of tricks that can make such learning more effective and efficient in terms of the time you spend. We hope the tips in this episode will make your next “learning adventure” more effective and time efficient.
The post Getting the Most From Programming Tutorials appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Understanding ACID and BASE databases is critical for any organization or individual who is involved in developing, managing, or using modern database systems. Both types of databases have distinct characteristics and trade-offs, and choosing the wrong one can have serious consequences on the performance, reliability, and security of your application.
ACID databases are designed for applications that require strict data consistency and accuracy, such as banking, e-commerce, and financial systems. These databases provide strong guarantees that all transactions are processed in a reliable and predictable manner, ensuring that the data is always in a valid state. However, these databases can be slower and less scalable in distributed systems, and require more resources to maintain consistency.
On the other hand, BASE databases are designed for applications that prioritize availability and partition tolerance, such as social media platforms, content distribution systems, and other distributed systems. These databases provide high availability even in the face of network partitioning or system failures, and can be more scalable and flexible than ACID databases. However, these databases may provide temporarily inconsistent data and can be more complex to manage.
Understanding the differences between ACID and BASE databases can help you make informed decisions about which database to use for your application. By considering the specific requirements of your application, such as performance, scalability, consistency, and durability, you can choose the database that best fits your needs and ensures that your data is accurate, reliable, and secure.
The post ACID vs BASE Databases appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
APIs are a huge part of development today and one of the most common types of API out there is a RESTful API. REST stands for representational state transfer, which is a software architecture that imposes conditions on how an API should work. Essentially, it was created as a set of guidelines for how communications should work between disparate systems on a complex communication network (like the internet). REST is implemented atop HTTP and uses the standards in the underlying protocol as part of the standards for communication. In a RESTful API, client and server applications are considered to be independent, that is, details from one should not leak into the other, to the extent possible. This also implies that API calls for the same resource should look the same regardless of where they come from – indeed this is required to decouple the client and the server.
RESTFul APIs are built around the inherent statelessness of HTTP. That is, a persistent connection between the client and server is not assumed. This has profound architectural implications in regards to how resources are accessed and mutated. In order to make this disconnected architecture perform well across the internet, this also means that caching will be used heavily. Caching implies further architectural constraints around resource access, as well as careful coding server side to ensure that items are cached (and removed from cache) appropriately. This helps both client side speed and server side scalability. In addition, the lack of a session makes it far easier to spread a workload across multiple servers, as there is no need to synchronize state between them or keep sessions sticky.
Restful APIs are pretty much bog standard web technology at this point. Not only do complex frontends use them, but clients, QA, and other parts of your own system will often do so as well. While Rest APIs are generally standard at this point, there are a lot of mistakes you can make when designing them that make it harder to use your API, create excess load on the server, or just generally increase the frustration level of all involved parties. Certain antipatterns also look good initially, but end up causing problems later when your system gets more users, or more HTTP savvy integrators working with it. We hope this brief overview is enough to save you some time up front on your next API project.
The post API Anti-Patterns appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There is a common demonstration, that we'll do as a thought experiment, when talking about priorities. It has a person fill a bucket with sand, then try to add as many pebbles to the bucket as possible, following that they are to add larger gravel, then fist sized rocks. The obvious thing that happens is the bucket fills with sand and they are not able to add much else to it. Then they are instructed to add them in the reverse order so that larger rocks first, then gravel, then small pebbles, then the sand. Doing it this way more large items are able to be added to the bucket then the smaller ones fill in the space left by the larger items.
This is used to demonstrate the necessity to prioritize the important items and fit them in first then go in order down to the least important. The larger rocks represent higher priority item whereas the smallest grains of sand represent the least important items. If you fill your time with low priority items you won't have space for the higher priority ones, but if you start with the larger ones then you'll be able to fit smaller and smaller ones into the gaps.
Where it gets tricky is in determining where an items falls in priority. Typically the very high and the very low priority items are obvious. A medical emergency is a very high priority item, responding to a friend request from someone you haven't met is a very low priority item. The rest of the items may not be as obvious and be more difficult to prioritize.
Prioritization can help you to maximize your efforts onto the items and tasks that will give you the most reward. However, a problem with the bucket example (demonstration) is that once you fill in all the gaps with the smallest grains of sand there is no room to breathe in the bucket. It becomes difficult to make adjustments when everything is packed so tight into the bucket. The same is true of your schedule, when you pack too much into it you don't have capacity to make adjustments. This can work for a while, especially when you are at crunch time but shouldn't be the norm as it is not maintainable. Use the information discussed here to guide you when you are planning out your priorities and don't forget to leave some room to breathe in your schedule.
The post Prioritization appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Mob programming is a technique for getting multiple developers in the room, working on the same code. While possibly not the best technique for many situations, it really shines in certain narrow use cases. When it does work, it can often produce impressive results that a few separate developers couldn't produce on their own. The collaborative aspects of mob programming are similar to pair programming in some respects, with very similar upsides and downsides.
In a mob programming session, a stakeholder and the team will first identify the goal of the session, which should be a testable outcome. Then everyone works together to come up with a general strategy and procedure for getting the work done, including what tools will be used to accomplish the work. This is a critical first step if you want to avoid stopping and rewriting code frequently while everyone else is watching.
Then, when the session begins everyone goes into a room and works together. One person will be typing for a while, while the rest of the team looks at the screen (or hopefully a projector) while the first person works. They will offer feedback as the first person does some work. The person writing the code will change frequently so that they don't burn out. The rest of the team is there to support the first person as well as to offer feedback about various aspects of the code. In effect, this allows for the session to have the blessing of the entire team, and to incorporate the knowledge of the entire team. More tasks will probably be assigned to various team members as a result of the session as well.
Mob programming is a seldom-used, but often powerful approach to getting software written. While it's not always the best choice, it can be very useful for improving team collaboration or for exploring areas where there are gaps in the team's knowledge.
The post Mob Programming appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
File transfer protocols can begin to look like alphabet soup when you first start learning about them, or even after you've been a developer for a while.
Read more ›The post File Transfer Protocols appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You've probably heard of DDOS (or Distributed Denial of Service attacks). They are a common scourge of the modern web and are something you will occasionally see if you work on a popular product.
Read more ›The post DDOS Attacks appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Git is a version control system that allows developers to collaborate on projects, keep track of changes, and easily revert to previous versions if necessary. It's an essential tool for any software developer, but if you're new to Git, it can seem overwhelming.
Read more ›The post Basics of Git appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While most developers generally have at least a rough idea of what agile means, or at least what it means to them, many non-technical people are a bit puzzled by the term. It's clear that it means a lot of different things to different people and it's really important to get the explanation right if you want to be successful using it in a business context.
Read more ›The post Explaining Agile To Non Technical CoWorkers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It can be easy to say some people, especially developers, don't have personalities. This is far from the truth, even the most robotic of people have some form of personality though it may be difficult to understand.
Read more ›The post 404 Personality Not Found appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
OpenAI's transformer-based language model, can improve software development with its natural language processing capabilities and code generation.
Read more ›The post ChatGPT for Developers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Setting goals for yourself is a big task, even bigger is actually accomplishing those goals. When a goal is large it can seem overwhelming and unachievable.
Read more ›The post Breaking Down Goals appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Cross-platform applications are really helpful for many businesses, as they increase the size of the available customer base and make it easier to write code that runs on anything. However, like anything else, there are always tradeoffs.
Read more ›The post Cross Platform Pitfalls appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Habits are ways that we simplify our behaviors so that we can do them over and over without much conscious thought. When healthy, habits can help us to grow and improve ourselves.
Read more ›The post 7 Habits of Highly Effective Developers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While a good software architect can be tremendously helpful to a team that is in a position to need one, software architects are also frequently in a position to do real damage to a team. In fact, software architecture mistakes are some of the most costly.
Read more ›The post Software Architecture Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In this episode we look at the different types of social engineering attacks and the best practices for protecting yourself and your organization.
Read more ›The post Social Engineering appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You might think that unix systems are the digital equivalent of dinosaurs, and that they have little to no relevance today. However, that's not true and the philosophical underpinnings of unix have had a huge impact up until the present day and will probably outlast all of us.
Read more ›The post Unix Philosophy appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
How you start your morning sets the tone for the whole day. A good morning routine will improve your health and productivity.
Read more ›The post Improving Your Morning Routine appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We had an issue with out CDN, we apologize for the issues with access to the episode HTTPS and SSL. We fixed it on the website but the podcatchers did not update because the RSS didn't push a new episode. This apology should fix that so that you are able to listen to that episode now.
Read more ›The post Apology appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
As security concerns have become more and more important on the web, there has been a growing movement to make sure that communication between the client and the server is ALWAYS encrypted. There are many reasons for this. For one, …
The post HTTPS and SSL appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We're going to finish going through Mike Acton's list of things he expects from developers. We'll share our thoughts and reactions to his assessment. You don't have to listen to the first episode to understand this one, though you might want to check it out.
Read more ›The post Everyone Listening Is Rehired appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Parkinson's Law is an adage that work will expand to fill the time allotted for its completion. We typically understand this law to mean that allotting too much time to a task will cause the task to expand and waste time. However, it is much more useful viewed in the reverse, that allotting less time will make you more efficient.
Read more ›The post 12 Week Year Overview appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We react to Mike Acton's 2019 talk "Everyone Watching This Is Fired" by going through his "50 things he expects of developers" and discussing them, or as many as we can in an hour. If you haven't watched his video check out the link in the show notes.
Read more ›The post Everyone Listening Is Fired appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
This year's theme is time management. However, if everything is chaotic, it's kind of difficult to build a robust time management system that you can trust.
Read more ›The post Time Management Baseline appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's been an interesting year for many of us, with lots of changes. There have been both upsides and downsides to this year, and most of us have had to grow a lot. This is the first episode of 2023.
Read more ›The post Predictions 2023 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
2022 was an interesting year. It brought a lot of unexpected yet not entirely unwelcome changes for both of us and for the podcast. As we review our resolutions we'll see how SMART our goals really were and then we'll discuss the yearly theme.
Read more ›The post Resolutions 2023 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Have you ever wanted to write a book, start a business, learn a new skill, learn to play a musical instrument, change careers, or simply become world class at something you like to do? Did you try for a bit, only to realize that you didn't have time to do it, that you couldn't achieve your goal?
Read more ›The post Time Management Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We hear a lot about how to be a good leader, but rarely about how to be a good follower. If we are all leading then who is following? Following isn't about blindly agreeing with leadership but instead is the ability to work within any role to improve yourself, your team, and your organization.
Read more ›The post Being A Good Follower appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Many people will tell you the importance of a morning routine, however without a nightly routine our evenings are all over the place and we are left with sleepless nights, but not in Seattle. To improve sleep and rest we have to look at habit formation and building routines and rituals into our evenings.
Read more ›The post Creating A Nightly Routine appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Integration points in complex systems have a tendency to surprise you, usually in an unpleasant fashion. While it takes a while to discover the underlying antipatterns that caused the system to have problems, there are certain "smells" you can look for that indicate common sources of issues.
Read more ›The post Integration Code Smells appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
So you got a new job and you are starting in a couple of days. You are probably both excited and anxious. What will the first day be like? If you are like many people, your first day at a new job will be something that happens to you, rather than something you control. Not ideal.
Read more ›The post Add Value On Your First Day appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The millionaire mindset is a common phrase in the hustle culture of people who are working hard to better themselves and make their world a better place. But what exactly does it mean?
Read more ›The post Millionaire Mindset appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Procrastination is an insidious venom that slowly eats away at us by making us think we have plenty of time to do the things we need to do but may not want to do. Today is the day to stop procrastinating!
Read more ›The post Today Is The Day To Stop Procrastinating appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You write code and solve problems, but are you a good engineer? Are there things you can do to improve yourself and be a better developer? What does it take to be a good software developer?
Read more ›The post 10 Rules To Be A Good Engineer appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Lots of developers are self-employed. While many are happy, there are some pitfalls to the process that can trip up the unwary. From taxes, to interpersonal relationships, being self-employed will teach you a lot of things, but you really don't want to learn the hard way.
Read more ›The post Downsides of Self Employement appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There is definitely a cycle to the financial system. Things get easier for a while, and then things get harder. While we don't want to delve into the reasons too deeply, there's a pretty good chance that some rough times are coming.
Read more ›The post Layoff Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
As a project becomes more successful, it almost always gets larger. Over time, teams usually get larger as well. Eventually, this means that the previous structure of the application becomes insufficient and needs to be refactored.
Read more ›The post Managing Large Refactorings appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Difficult conversations are not easy or fun, hence the term difficult. Maintaining interpersonal relationships in the workplace involves problem solving and a fair amount of compromise when dealing with difficult situations.
Read more ›The post Difficult Conversations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you aren't constantly dealing with the database, you probably have some misconceptions about how indexes work. These misconceptions not only tend to bite you, but they tend to do so at the worst possible time, when your system is under load or when you've just rolled out a new feature.
Read more ›The post Database Indexing Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
What motivates you when the rewards seem far off? What drives you to keep pushing when you are tired and worn out? It's not likely the pay or some big reward at the end. It is your own intrinsic motivation.
Read more ›The post Basic Psychological Needs of Motivation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In many development shops, Single Page Applications (or SPAs) are the user interface of choice, especially if they are already in use in other systems. While this is often a laudable and reasonable choice, it's a good idea to understand the tradeoffs of going with this approach.
Read more ›The post Tradeoffs of Single Page Applications appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You've made it, you've accomplished your goals. Now what? How do you continue to be successful? Success and failure are intertwined and success if not stable can lead to failure.
Read more ›The post Success Stabilizers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are lucky, someone will tell you what they actually want on a dashboard when they tell you to make one. If you're unlucky, you probably are going to have to figure it out as you go. Thankfully, there are some principles you can apply that will help you create application dashboards that are useful.
Read more ›The post Better Dashboards appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Breaches of payment systems are extremely serious. It's a great way not only to have major business problems, but to look like an idiot in front of all your clients, while causing them all kinds of headaches, including potentially emptying their bank accounts.
Read more ›The post PCI Compliance appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A major security vulnerability will be found in someone's web application this week. The OWASP Top Ten list of web application vulnerabilities has recently been updated.
Read more ›The post OWASP Top Ten 2021 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When you started your career, you might well have been in awe of the senior developers, at least for the first job or two. Later, you might still be impressed with some of them, but others will seem like they were promoted past their abilities.
Read more ›The post Under Skilled Seniors appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
HTTP or hypertext transfer protocol is a protocol for transferring documents: HTML, images, etc. between a client, usually a web browser and a server. HTTP verbs or HTTP methods are codified forms of communication in the client-server relationship.
Read more ›The post HTTP Verbs appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Towards the tail end of covid times (or still in the middle of them, depending on where you live), a lot of news articles started talking about a phenomenon called The Great Resignation. While you probably have a rough idea of what's going on, it's well worth further discussion, because many of its implications are going to reverberate in the software industry for years to come.
Read more ›The post The Great Resignation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Critical thinking is about knowing how to organize and understand a problem or decision and come to conclusion. It is necessary for avoiding cognitive bias in advanced problem solving skills and decision making.
Read more ›The post Steps To Critical Thinking appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Meetings are a fact of life and nearly everyone could improve the way that they take notes. There is nothing worse than sitting through a long meeting and then later having to ask a bunch of questions that were answered in that meeting. It wastes time and leads to a lot of mistakes.
Read more ›The post Better Meeting Notes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Resilience is the ability to recover quickly. Having consistent patterns of behavior helps you to know where to jump back in when something knocks you off your regular schedule requiring you to be resilient.
Read more ›The post Resilience Through Consistency appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
As development teams grow, the number of code repositories used by them grows as well. Over time, this ends up making some things more complicated than they have to be. You've probably heard of companies putting everything in a single repository. Is this the answer to the problem?
Read more ›The post Monorepos appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
No matter how efficient you are, when you get stressed your productivity drops. It is important to be resilient in stress so that you can overcome stressful situations.
Read more ›The post Resilience In Stress appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you've worked on complex or distributed systems at all, at some point you've seen them produce behavior that is predictable in hindsight, but that you never would have predicted yourself. Systems take on a life of their own, especially as different parts are developed at different rates by different people.
Read more ›The post Systems Thinking appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Everyone has habits, behaviors they do on a regular, daily basis. These habits are either moving you toward your goals and success or they are holding you back from them.
Read more ›The post 7 Habits of Unsuccessful People appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
User interfaces are hard to get right, especially for developers. While the nitty gritty details are better left to design podcasts, there are some simple rules that developers can keep in mind when building UI and UX. While not perfect, they will get you a long way.
Read more ›The post Resilient UX appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We all need some regular relaxation to avoid burnout. Downtime is a brain break from all the internal processing that our minds do daily and even helps to improve productivity.
Read more ›The post Mental Downtime appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When you replace a running legacy system with a new system, it can be tempting to do it all at once. However, doing so courts disaster and makes the process much more painful than it has to be. Even though it sounds easier, a sudden system cutover is seldom pleasant.
Read more ›The post App Migrations Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Whether you are a manager, team lead, or executive you will lead several types of people during your time in leadership. From the too reliant who comes to you for everything to the grizzled veteran who has been coding longer than you've owned a computer understanding team dynamics is important. It can be difficult to know how to motivate and lead all the types of people on your team.
Read more ›The post The People You Will Lead appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While it's nice to be able to pull in packages to do various things in our projects, we need to think long and hard about how we are going to maintain those dependencies over time, in particular in how they relate to security. Supply chain attacks on software components are only going to get worse over time.
Read more ›The post Package Supply Chain Attacks appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Just like there are multiple ways to use a computer there is more than one way to use your mind. Many different ways exist to focus your thoughts from study and meditation to creating mind maps. Understanding these will help you improve your concentration.
Read more ›The post Methods of Thinking appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Your database is probably the most valuable part of your application, and it can be terrifying to think of it falling apart. Yet, that is just a day in the average developer's life in many companies.
Read more ›The post Database Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Understanding how you think will help you to improve your ability to learn, understanding how others think will guide you in utilizing their talents to compliment your own. Whether it's creative thinking, divergent thinking or any of the other types of thinking you will benefit from understanding and applying your style of thinking to critical thinking skills.
Read more ›The post Types of Thinking appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Eventually management will ask you to evaluate third party integrations for your software. Whether it is for authentication, sending emails, or other functionality, there are times when it makes more sense to use third party software instead of building it yourself. However, many developers are not used to having to do this sort of thing, which makes it difficult.
Read more ›The post Third Party Integrations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It can be easy to fall into the thinking that when I'm in charge I'll do things differently. You do not have to have authority to be a leader instead you can exhibit leadership through influence. From choosing positivity to critical thinking skills there are many things you can do to be a leader even when you don't have any authority.
Read more ›The post Leading By Influence appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When you work with other people in a codebase, at some point you have to merge your code into the main branch. The code should be reviewed before that happens in order to keep quality high on the branch that is deployed to production and is used to start other branches.
Read more ›The post Better Pull Requests appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While you probably have lots of code in your codebase that you are proud of, it's almost certain that you didn't write all or even most of the code that executes while your application is running. Code reuse has always been a critical part of software development, but it's important to get it right.
Read more ›The post Package Management appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Your time is the most valuable and most scarce resource that you have. If you don't protect it and use it appropriately, everything else that you want from your life is out of your reach. It is critically important to protect it, but it can be difficult when small problems completely disrupt your day.
Read more ›The post Time Management Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Understanding memory can be a tricky thing, especially the deeper into a computer system you get. To help understand it a hierarchy of memory was conceptualized. This triangular shape helps to visualize the different levels of physical memory storage in a system.
Read more ›The post Understanding Memory appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Developers like to abstract things. Abstraction gives us a lot of benefit, but there are times when we need to reign in our enthusiasm for it. It's past time we discussed when abstractions are not useful or are actively harmful.
Read more ›The post Bad Abstractions appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We are reaching the time of year when resolutions and goals start to fall away. Being disciplined is an inconvenience, it's hard work but to reach big goals we need to be disciplined in what it takes to achieving goals.
Read more ›The post Discipline to Achieve Your Goals appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Writing all this code is fun, but when you have to actually deploy, it can be nerve-wracking. A bad deployment can result in corrupted data, system failures, angry customers and hours of wasted time. Avoiding busted deployments will become a priority after you experience one.
Read more ›The post Deployment Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When we are learning something new, we will all eventually hit a roadblock. Roadblocks are tough to deal with, because they sap your enthusiasm. Left alone long enough, they'll make you give up on your goals.
Read more ›The post Learning Plateaus appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Ageism in development is a real thing in some areas of the industry and a concern for senior developers becoming more senior.
Read more ›The post Aging With Grace appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You've bitten the bullet and decided to pay the Apple Tax or maybe you are considering the transition. Switching from Windows to using a Mac may seem a bit daunting, especially if you've been on Windows for decades. However, it is not as difficult as you may think.
Read more ›The post Going From Windows to Mac appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If anything, the last two years has taught us that we all have to be prepared for sudden disruptions to our lives. You have probably also heard that being resilient is the key to doing so, but what does that actually mean?
Read more ›The post The Five R’s of Resilience appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Words have power, whether you choose or harness it or not. What we say about ourselves, our affirmations, define who we are and how we see ourselves. Negative self-talk brings us down, whereas positive affirmations lift us up.
Read more ›The post Positive Affirmations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Knowledge silos happen when different parts of a team understand different parts of a system and don't understand other parts of the system. It's a natural state of system growth, but eventually gets in the way of innovation.
Read more ›The post Knowledge Silos appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's been a long year for many of us, with both upsides and downsides and we're excited to see what happens next year. This is the last episode of 2021.
Read more ›The post Predictions 2022 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
2021 was not the year we expected, but it definitely brought about some changes in us, in the podcast, and in those around us. As we review our resolutions we'll see how SMART our goals really were and then we'll discuss the yearly theme.
Read more ›The post Resolutions 2022 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While you can test with production data, that data is often sensitive, or doesn't reflect every possible scenario that might come up, especially with new changes. If you want to avoid unexpected problems, then you need to be able to generate realistic data to use in testing workflows.
Read more ›The post Sample Data Generation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Unit testing can be a challenge especially when you have automated testing or may be new to test driven development. There are several great design patterns for testing and even more anti-patterns in unit testing that you want to avoid.
Read more ›The post Anti-Patterns In Unit Testing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Everyone experiences work stress at some point or another in their careers. Understanding it can help you to have better responses as well as prepare yourself for it before it becomes an issue.
Read more ›The post Dealing With Stress At Work appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
This has been the year of the Enneagram for Complete Developer Podcast. You learned about reformist ones, individualist fours, loyalist sixes, or peacemaking nines, you've heard about all the types and their variants. But how do you use this information?
Read more ›The post Enneagram Wrap Up appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Every so often, you'll end up working for a company that uses very outdated technology. While the reasons for this are numerous, many of these companies don't really see the problem with the technology they are using, especially if the technology is currently working for them.
Read more ›The post Risks of Older Code appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Debugging software can be a pain or an exciting adventure. If you have unit tests your process may be easier when user testing or quality assurance finds a bug in your code.
Read more ›The post Essentials of Debugging appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's easy to end up overworked. You start out responding to a reasonable need for a little more work to be done after hours, then suddenly it's five years later and you work 65 hours a week until your health and personal issues force you to stop.
Read more ›The post Fixing Your Work Life Balance appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Webhooks allow you to offload processes to third-party software. Building them has it's own challenges to overcome and a set of best practices to make those challenges easier.
Read more ›The post Web Hooks appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Bringing the pursuit of perfection and attention to detail, the Enneagram Type 1 or The Perfectionist is a conscientious and ethical personality type. They are committed to a sense of right and wrong, responsibility, and integrity, but can become fixated on small imperfections and micromanagement when unhealthy.
Read more ›The post Enneagram Type 1: The Perfectionist appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Being a mid-level developer is like being a middle child, or a member of generation X. Everybody forgets about you as you sit there sandwiched between the groups that everyone caters to. However, you still have to get through this phase of your career regardless.
Read more ›The post Mid Level Developer Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Intrinsic drive involves being able to understand and use internal rewards to push yourself. Increasing motivation takes a mindset shift that will change how you look at the world from where you get your energy to the way you express gratitude.
Read more ›The post Increase Your Drive appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We all know that the most permanent solutions come from temporary fixes. In light of this, we could all do a lot better in the way that we write "one off" or "temporary" applications.
Read more ›The post Temporary Applications appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In this episode, we're going to discuss several of the common performance problems that can occur when accessing a database over the network, as well as how to fix them.
Read more ›The post Database Network Performance appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The Enneagram of Personality, or just the Enneagram, is a representation of personalities using a geometric figure, also called an enneagram (little e), to express nine interconnected personality types. While each type is unique it is related to other types …
Enneagram Type 9: The Peacemaker Read More »
The post Enneagram Type 9: The Peacemaker appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you want to deal with the ever increasing complexity of developing cloud-native apps with modern tools, then it behooves you to use industry best practices to develop these apps.
Read more ›The post 12 Factors of 12 Factor Apps appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
How to approach other developers when you have found something horribly wrong with their code in a way that doesn't create conflict in your team.
Read more ›The post Your Code Sucks appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Unexpected outages happen all the time. We've had them happen while recording the podcast several times. Having a plan of action when an unexpected power outage or internet outage occurs allows you to remain focused and productive.
Read more ›The post Staying Productive During Outages appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Great friends, exceptional leaders, and champions of those who can't fight for themselves, the Enneagram Type 8 or The Challenger stands alone. They want to be independent, not indebted to anyone and do not let the opinions of others sway them.
Read more ›The post Enneagram Type 8: The Challenger appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While there is a lot of misplaced hype about tools that will replace programmers, there are a lot of tools that can handle a lot of the mundane, boring code that many developers have to write. Low code and no code tools can often make it easy to stand up small applications that meet a business need, but aren't worth the expense of hiring a professional developer.
Read more ›The post Low Code No Code appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A fixed mind is rigid and inflexible, unable to accept change or anything that challenges currently held views. A growth mindset looks to learn and improve through challenges and even failures to better themselves.
Read more ›The post Fixed Vs Growth Mindset appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Relationships end, some break-ups are mutual with both people seeing the relationship as over. Other times one person is done and the other is not. This leads to grief over the loss of the relationship.
Read more ›The post Surviving A Breakup appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In the early days of development configuring an application for deployment was a huge amount of work and was often encapsulated in installation programs that were complicated, error-prone, and could often destabilize other applications on the machine. In more modern software development, we've started to use container technology to fix these old problems, as well as to deal with some new ones.
Read more ›The post The Benefits of Containers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Excited, energetic, and extroverted, the Enthusiast or Enneagram Type Seven is the life of the party or is the party of life. They are constantly looking for their next adventure, however if not careful they can become overwhelmed leading them to be disorganized and scattered.
Read more ›The post Enneagram Type 7: The Enthusiast appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Like logging and many other things that you have to do in most applications, email is something that seems simple but has a lot of hidden complexity, especially as your application scales. While simple approaches may be good enough early on, the way your application handles email will necessarily get more complex over time.
Read more ›The post Email Best Practices appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Fraud, imposter, no talent hack. Imposter Syndrome makes even the most talented developer feel unworthy to even look at code. It affects all of us in different ways through out our careers.
Read more ›The post Types of Imposter Syndrome appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There's a lot of debate around what makes someone a senior developer. We talk about how long they've been slinging code, what types of projects they've worked on, and the like. However, one thing drives a senior developer's work and that is the developer's mindset when solving certain problems.
Read more ›The post Improve Your Thinking appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Pre-Traumatic Stress Syndrome defines the Enneagram Type Six as worry is their constant state of being. Motivated by a need to be supported and secure the Loyalist will build and maintain communities around themselves.
Read more ›The post Enneagram Type 6: The Loyalist appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If your application uses a relational database, odds are good that updating the application will require changing the database structure. While tools are available for migrating databases in most frameworks, there is no silver bullet.
Read more ›The post Database Migrations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The Raspberry Pi came out in 2012 and revolutionized the IT industry. The small, yet powerful, boards allow for building inexpensive IoT solutions, emulators, and even cluster computers. The latter allows the use of several Raspberry Pi nodes to work together to quickly solve problems that would take a single Raspberry Pi a long time.
Read more ›The post Cluster Computing At Home appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've had several episodes on dates and times, oriented around how to think about the data types being used and all the fun wrinkles there. However, it doesn't end there - the intent of the user when entering a date or time matters a lot and can change the way you design your system.
Read more ›The post Dates, Times, and User Intents appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Interested in constant learning and relentlessly pursuing knowledge, the Enneagram Type 5 or the Investigator seeks to understand. They want to understand life and every part of it. Always searching and asking questions, the five loves deep dives and feels a strong need to test the truth themselves.
Read more ›The post Enneagram Type 5: The Investigator appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's not glamorous, but most modern apps are going to require some form of an audit trail if dealing with things like finances, health information, private documents, or online sales. While practically everyone has to deal with audit trails, many organizations handle them poorly.
Read more ›The post Audit Trail Anti-Patterns appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It seems to be ingrained in us from an early age that saying no to someone is rude and that you shouldn't do it. However, saying yes to every request leads to an unfulfilled life.
Read more ›The post Learning To Say No appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Pair programming is extremely effective in certain circumstances, both for improving code quality and for cross-training developers. However, it can be hard to sell the idea to management and to other developers. It can also be hard to get right, especially if you haven't done it often.
Read more ›The post Pair Programming appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
After a few years in software development, the joy of learning new things can wear off as you learn yet another framework for doing the same thing you did last year. The constant learning required for software development can tempt many people to leave the industry. If you want to continue to be happy in your career, you're going to have to get used to learning quickly.
Read more ›The post Quickly Learning New Technology appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Artistic and dramatic, the Enneagram Type 4 or The Individualist is unique and proud of it. The Romantic expertly expresses emotion through words, music, and art though their pervasive melancholy may lead to melodrama and self-loathing.
Read more ›The post Enneagram Type 4: The Individualist appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most software developers put at least some error handling code in their applications. However, system complexity can mean that error handling isn't enough and that the system can still fall over. Instead, you need to step back and think about error handling at a larger scale to help keep the system stable.
Read more ›The post Antifragile appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The unoffendable person values relationships more than feelings of insult or even being correct. They may find what the offender has done to be hurtful or offensive yet they value the relationship more than their own feelings. They are able to set their feelings aside to address the actual issue at hand and not be driven by fear and shame.
Read more ›The post Being Unoffendable appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Programmers rarely use state machines, but they are useful in certain circumstances. In the places they work well, they can make code cleaner, far easier to debug, and much easier to reason about and maintain.
Read more ›The post State Machines appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you have a day job, but dream of getting out on your own, it all starts with a side hustle. However, there are some common antipatterns in side projects that you should be aware of when you are coming up with ideas (or choosing between them). Side projects fail in predictable ways for reasons that are easy to see if you know what to look for.
Read more ›The post Side Hustle Fails appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Attractive and charming, the Enneagram Type 3 or the Performer is here to show you how it's done and look good doing it. The Achiever personality type is self assured, ambitious, and energetic but can become workaholics and overly competitive.
Read more ›The post Enneagram Type 3: The Achiever appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Coding can be complicated, analyzing code even more complicated. Coding a static code analysis dives into the realm of metacoding. Creating code to analyze code doubles or worse the complications.
Read more ›The post Metacoding: Coding Code Analyzers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Well, it's far enough into the new year that you probably have an idea about your taxes. And it's probably a good time to start thinking about your longer term financial goals. Whether you are trying to get out of massive student loan debt, or you are considering buying a vacation home, you should probably be periodically looking at your finances and figuring out how to optimize them.
Read more ›The post Long Term Financial Goals appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While many software development teams have good workflows, sensible management, and good working relationships, that's not true of all teams. Some managers have a management "style" that results in them hovering over your shoulder and continually asking for updates, questioning your decisions, and generally making work more difficult than it has to be.
Read more ›The post Micromanagers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Here to help, the Enneagram Type 2 or The Helper is the caring, interpersonal personality type. They are generous, warm, and empathetic but can become prideful, people pleasing, and possessive if not careful.
Read more ›The post Enneagram Type 2: The Helper appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In backlog prioritization the priority of a task is subject to change as the project progresses. However the need for the task or feature is not likely to change as often. In agile, sprint planning can employ a variety of prioritization methods.
Read more ›The post Prioritizing the Backlog appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most of us understand object-oriented programming to some degree. We might even have a deep understanding of design patterns, refactoring, and testing. However, a lot of those understandings can fall abrupty to the wayside when you are writing code on a large team with dozens of people.
Read more ›The post Large Teams and Object Oriented Programming appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are like most people, financial matters are not the most comfortable thing to be thinking about. Honestly, almost all of us could do a lot better than we do. However, your financial health is intimately tied to your personal health, quality of life, and potentially the quality of life for future generations.
Read more ›The post Improving Your Financial Game with Lucas Casarez appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Some personalities can be overwhelming, especially if you don't understand them and what motivates the people with them. Understanding personality has been an area of study since before recorded history. The Enneagram is one personality test that has been around for a long time.
Read more ›The post Overview of the Enneagram appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The current lack of personal creative outlets may lead to depression, so recovering motivation can be important to maintaining productivity.
Read more ›The post Recovering Motivation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Paradigms are ways of looking at the world around us. Programming paradigms are ways in which we look at programming styles, languages, and frameworks to classify and understand the world in which we code.
Read more ›The post Programming Paradigms appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Since New Years Eve is a Thursday this year, and we're happy to see 2020 gone, we've decided to make our typical first episode of the year our last one this year.
Read more ›The post Predictions 2021 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In a year full of closures, cancellations, and disappointments we've continued to publish episodes every week. Now that we've made it to the end of the year it's time to go back and review our goals and set new ones for 2021.
Read more ›The post Resolutions 2021 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Team lead positions are often highly coveted by developers. However, a lot of developers get into these positions only to find that they include shocking changes to their jobs, for which they haven't prepared.
Read more ›The post Surprises When Becoming A Team Lead appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Teachability is the ability to be taught or being able and willing to learn something new. It is humbly accepting you don't know everything while actively working to change that fact.
Read more ›The post Becoming Teachable appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you've ever seriously tried to do test-driven development, it probably wasn't very long before you ran into something where testing became difficult due to an underlying dependency. Whether it's a database connection, accessing the file system, or dealing with the network, eventually your tests are going to have to deal with dependencies.
Read more ›The post Dependencies in Unit Testing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Stress comes from lots of places. It can be sudden problems that arise on an important day that then tend to compound or it can be insidious, slowly growing without us knowing about it. It's inevitable, you will experience stress. How you handle it is what counts.
Read more ›The post Staying Calm In Stressful Situations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Domain-Driven Design (or DDD) makes application code a lot cleaner. However, like any other software development approach, there are loads of anti-patterns to avoid and best practices that may not be readily apparent when you start developing applications in this manner.
Read more ›The post Antipatterns in Domain Driven Design appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
APIs or Application Programming Interfaces are an important part of any modern web application. When properly designed they securely expose data to authenticated and authorized users. However, not everyone designs them the same, which is why OWASP came up with a list of the top security vulnerabilities to avoid.
Read more ›The post OWASP Top Ten API Vulnerabilities appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Dysfunctions that you see in an established and successful team are often the result of doing things RIGHT for years or even decades.
Read more ›The post Dysfunctions of Successful Teams appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Fear is something we all face from time to time. It can be a motivating factor or debilitating. Your understanding and how you handle fear determines which one.
Read more ›The post Understanding Fear appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The third and final episode in our series on logical fallacies delves into improper use or rhetoric. Both Fallacies of Omission and Fallacies of Ambiguity are used to redirect an argument away from the topic at hand or evidence that might disprove one side.
Read more ›The post Logical Fallacies: Omission and Ambiguity appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've all had the experience of trying to use a piece of software, library, API, or database, only to have it fail miserably because something changed in a recent update. Not only are such changes disruptive, but because they often require rewrites, they can leave us looking for an alternative.
Read more ›The post Backward Compatibility appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Whether you are an early bird or night owl, your sleep chronotype or best time to get rest affects how productive you can be. Understanding this and how to manage your time will help improve your productivity and job satisfaction.
Read more ›The post Your Most Effective Work Times appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While working with legacy tech can be a dead end if you let it, there are some things you can do to make the experience beneficial for your career.
Read more ›The post Leveraging Legacy Technology appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Part two of our series on logical fallacies gets into the form of the argument. These formal fallacies may contain correct information or premises but the order or form of the argument is incorrect.
Read more ›The post Logical Fallacies: Component Fallacies appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've all been there. A webpage that was working stops working, or one that was broken suddenly starts working without any obvious changes. If you've had this happen, one of the first things you should probably suspect is a caching issue.
Read more ›The post Schrodinger’s Cache appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When we started Complete Developer Podcast we never expected it to grow into what we have today. It's been 5 years since we published our first episode back when we were recording with one Blue Yeti mic between the two of us.
Read more ›The post Complete Developer Network appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In the early days, the file system was used a lot more than it is now. However, you are probably still going to have to use the filesystem periodically, and you need to be aware of some of the things that can happen.
Read more ›The post Understanding File Systems appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Do you ever get frustrated when trying to make a presentation or convince your team at work about a certain way to do something but keep getting derailed by irrelevant points? You may be facing attacks from someone who is using logical fallacies in their arguments.
Read more ›The post Logical Fallacies: Fallacies Of Relevance appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you've been on a team for very long, you probably know who the best developers are. While you probably also understand that this takes years of diligent work, there are things you can start doing today that will drastically improve the way you look to management and to your team.
Read more ›The post Become A Better Developer Today appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most developers have a decent salary, but some still struggle to make ends meet each month. Whether it is from lack of planning, poor decisions, or lack of impulse control they just can't seem to get their minds around how to use their money.
Read more ›The post How To Think About Money appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Early on in your development career, you probably saw a report at some point showing how much senior developers are paid. While the high pay can be nice, there are aspects of many senior developer jobs that you want to avoid. In short, there are things that are more important to your quality of life and sanity than your pay.
Read more ›The post More Important Than Salary appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It seems like most developers these days are pretty comfortable with relational databases. However, not everything can (or should) fit neatly into a relational model. For various reasons, a NoSql database that stores documents may be a much better solution.
Read more ›The post Document VS Relational Databases appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You've been at the company for several years with lots of value brought in but aren't seeing it in your pay check. You are enjoying working from home and want to make it a permanent thing at your workplace. You've decided to buy that new car but hate high pressure salesmen. Welcome to the world of negotiation...
Read more ›The post Basics Of Negotiation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Lots of developers will tell you that they aren't very good at design. While that may be true, it turns out that we all still have to do basic UI work in our jobs.
Read more ›The post Design Basics appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Whether you're a young genius, a forever dreamer, or a wise sage, you'll meet many different types of developers. The way they express their knowledge and skills can be boiled down into several personality archetypes.
Read more ›The post Types of Programmers: Knowledge Base appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A lot of companies say that they do scrum. As a subset of agile, this approach can be beneficial to your team's development process. However, bad scrum can rob your team of efficiency, alienate your developers, and destabilize your product over time.
Read more ›The post Scrum Master Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Two raised to the power of eight (2^8) or 256 has played a significant part in computer science. A byte, made up of 8 bits, has 256 possibilities. From the early days of computing this number has been significant.
Read more ›The post The Significance of 256 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you have an HTTP-based API, you're most likely using the principles of REST to organize your system. While building such a system, it's helpful to organize your code in a way that is not only clean and eloquent, but that is thoroughly predictable to both new developers and anyone else working with your system.
Read more ›The post REST Anti-Patterns appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are like most developers, you probably like writing documentation even less than reading it. There is a lot more to writing good, solid documentation than most people consider, and that includes your boss, your project manager and even yourself.
Read more ›The post Understanding Documentation appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
From Bearded Wizards to Jesters and even Martyrs there are many different personalities that you will run into during your career as a developer. These different personalities and personality types can work together or cause strife in your life depending on how well you can relate and work with them.
Read more ›The post Types of Programmers: Interpersonal appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you've worked on any codebases larger than "hello world", you're well-aware that most of them have nasty surprises in them. If you have tried in vain to fix these things manually, static code analysis tools may be an excellent way to do this.
Read more ›The post Static Code Analysis appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A lot of people have suddenly been given the "opportunity" to work remotely of late, thanks to the coronavirus outbreak. However, if you want to work from home over the long term, there are a lot of things you need to get right to make sure that it is sustainable.
Read more ›The post Long Term Remote Work appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
From cowboy coders to ninjas and everything in between, the development community have many archetypes associated with it. These different personalities and personality types can work together or cause strife in your life depending on how well you can relate and work with them.
Read more ›The post Types Of Programming: Coding Styles appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Relational databases continue to be a huge part of modern systems design and the rules of relational databases should generally be followed. However, there are times that you need to break (or bend) normal database design rules in order to reach your goals.
Read more ›The post Breaking The Relational Model appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Promotions can be exciting. You've worked hard and are now moving up. However, they can also lead to impostor syndrome the closer you get to management.
Read more ›The post Impostor Syndrome When Getting Promoted appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Many developers start out in the job search feeling relatively optimistic about their chances of getting a much better job. However, that optimism can often quickly turn to horror if they end up landing the WRONG job.
Read more ›The post Red Flags In The Hiring Process appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Do you find yourself unable to stay in a relationship or at a job? Maybe you get a new job and it's great but quickly becomes a nightmare. You may believe you are unlucky in love. When this happens over and over again the problem may not be a string of bad people or places, the problem may be you.
Read more ›The post You Are The Problem appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Not every app is built using best practices. Sometimes you have to try and fix an application that has been poorly maintained for years or even decades. Adding dependency injection and inversion of control is a great example of this kind of situation.
Read more ›The post Inversion of Control in Legacy Applications appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are like many developers, most of the time you are building systems that are intended to be used directly by users. However, eventually you will be tasked with building processes to process data out of band. And when you do, you'll quickly learn that such processing requires a very different thought process.
Read more ›The post Batch Processing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
In the Sword of Truth series Terry Goodkind lists out several Wizard's Rules that are used to illustrate points and train the characters. Each one has a different but related message about life.
Read more ›The post Wizard’s Rules appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We all lose motivation or fall prey to distractions. Productivity, creativity, and quality suffer when we lack the self discipline of a strong work ethic.
Read more ›The post Improving Your Work Ethic appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We talk often on the show about software development methodologies such as Agile or Waterfall. However, we haven't gotten into the project management process or stages of software development underlying them.
Read more ›The post Software (Systems) Development Life Cycle appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There was a time you could write software for just the English speaking market and expect your company to do well. That time has long passed, and to be truly successful, your software has to be able to work for people speaking a variety of languages and dialects.
Read more ›The post Internationalization Misconceptions appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Some people are just difficult. So much so it's just easier to avoid them rather than dealing with them. Unfortunately that's not always an option so we have to learn strategies for dealing with difficult people.
Read more ›The post Dealing With Difficult Coworkers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You probably would like to make more money. If for no other reason, the constant inflation and soaring costs in critical parts of the economy (healthcare, housing, college, childcare and the like) mean that if you aren’t reguarly increasing your …
The post Raise Your Pay appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
How do you define done? When do you know your code is ready for production? Is your code barely worthy of your momma's fridge, refined, but not emily post refined, or would it make Uncle Bob proud?
Read more ›The post Defining Done appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There was a time when you could get by in software development without learning how to use source control, but that time is long gone. You have to understand how this stuff works. Period.
Read more ›The post Basics of Source Control appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While it is difficult and time-consuming to get into software development, many developers seem to think that once they have a job, everything is fine. That couldn't be further from the truth. You need to avoid wrecking your career too.
Read more ›The post Developer Career Mistakes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Congratulations on your new job! You went through all the pain and suffering of interviewing. Now the real work begins. You have to quickly get to the point where you can provide business value so that you can keep your new shiny job.
Read more ›The post Quickly Learning The Business Rules appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Routines make life easier, but they can also make it stale and inflexible. Breaking out of your comfort zone takes courage and an understanding of yourself. Expanding your comfort zone involves breaking out of it and then resetting yourself.
Read more ›The post Expanding Your Comfort Zone appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Even terrible code runs. In fact, lots of terrible code runs in production every day. However, such code is difficult to maintain, horrifying to modify and subject to nasty problems as it ages. Like a messy house, a messy code-base is nowhere that you want to visit, much less a place to live.
Read more ›The post Clean Code with Uncle Bob Martin appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Being asked for advice and help is a double edged sword. On the one side, you feel accomplished and proud to show off the knowledge and experience you've worked hard to gain. On the other, you may have a sense of impostor syndrome because you know how much you don't know.
Read more ›The post Mentoring Questions appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's the beginning of a new year, and a new decade, this is the first episode of 2020. As has become tradition we'll be reviewing our predictions for the past year discussing the ones we got right, the ones we got wrong, and the ones we came close. Then we'll each give our predictions for coming year.
Read more ›The post Predictions 2020 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's almost the start of a new decade. It's become our tradition to review our goals for the past year. We'll each go over our goals talking about our progress toward them. Then we'll talk about our podcast goals from last year. Finally we'll discuss our goals for this year.
Read more ›The post Resolutions 2020 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you struggle with regular expressions, you aren't alone. Regex is a huge pain point for a lot of developers and can be complex to understand.
Read more ›The post Regex Demystified appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While most higher level languages have sorting algorithms built into them or in their standard libraries they may not be the best option for what you are building. Understand sorting will help you to use the most efficient method for your purposes.
Read more ›The post Sorting Algorithms appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When you have a huge backlog of possible features to implement in your app, you may be tempted to create a plugin model so that other people can modify it. However, this path is trickier than it seems.
Read more ›The post Making Apps Plugable appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Defensive programming is about creating long lasting applications that will graciously handle unexpected inputs from users. It's building code to survive the test of time.
Read more ›The post Defensive Coding appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've all been there. You get placed onto a "new" project, only to find that it's actually really old code that nobody in the office knows anything about. A lot of developers have a really hard time jumping into a legacy codebase, because it takes an entirely different set of skills to understand legacy code than it does to write new code.
Read more ›The post Learning Legacy Technologies appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
While you may rely on documentation to help you most of the time with tech-related things, there are plenty of times you need to be able to rely on your own memory. Whether it's because you are doing a process for the 100th time, you are trying to recall things from memory for a job interview, or you are answering impromptu questions, your memory is a vital asset that you need to use to your best advantage.
Read more ›The post How To Improve Your Memory appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's happened to us all. We get excited about a great idea or project we're working on. Put in a lot of work and effort up front. Then things get difficult or we hit a slow down and have to force ourselves to remain focused.
Read more ›The post Stick-To-Itiveness appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Whether it's wrapping the database or other external services, or simply as a way to handle cross-cutting concerns, code generation is something you will run into a lot. You'll also find that a lot of people do it badly and end up hurting their organization.
Read more ›The post Code Generation Antipatterns appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The dead sea is dead for a reason. Dead sea development environments are usually toxic to your career, destructive to your motivation, and terribly ineffective.
Read more ›The post Mitigating The Dead Sea Effect appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most of us will have to deal with HTTP at some point in our career. Understanding the web and its underlying protocols is absolutely necessary for understanding most larger systems in use today. While you can get by with little …
Understanding HTTP Read More »
The post Understanding HTTP appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Where mathematics and philosophy meet you'll find formal logic. It is a systematic study of valid inference. In it one starts with a proposition or assumed hypotheses and derives a conclusion.
Read more ›The post Formal Logic appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Software developers get burn out. Frequently, burnout is caused by poor boundaries, especially with your job.
Read more ›The post Keep Your Job From Burning You Out appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Conferences are a fun place to learn, grow, and meet fellow developers. Whether you are a seasoned code veteran or newbie searching for your first junior developer job tech conferences have something for you.
Read more ›The post Conference Experiences appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
10X developer? What does that even mean? There's been a lot of discussion and even some controversy over the term 10X Developer.
Read more ›The post 10X Developers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We all have those nights where no matter what we do we just can't seem to fall asleep. Looking at the clock, calculating how many hours until we have to get up just makes it worse.
Read more ›The post Getting Better Sleep appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A rising alternative to the content management system approach is to use the JAMstack, which stands for Javascript, APIs, and Markup. It's an approach to building websites that is intended to deliver better performance, security, and easier scalability.
Read more ›The post JAMStack appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Speaking at conferences can be daunting, especially if you are first starting out. Public speaking can be hard enough without going through the conference talk process. Both Will and BJ have gone through the process of creating and submitting a CFP (Call for Papers), putting together a conference talk, and making it memorable and engaging.
Read more ›The post Creating Conference Talks appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are contemplating starting a side project, there are some things you need to keep in mind in order to keep your day job from interfering with, or even damaging your side project. You also need to be careful that your side project doesn't create problems at your office.
Read more ›The post Boundaries Between Work and Side Hustle appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There are a ton of programming books out there, but there are only a few that have made a huge and lasting impression on developers across the board. One of those is The Pragmatic Programmer: From Journeyman To Master by Andrew Hunt and Dave Thomas, which has helped an uncountable number of developers refine their career and practices.
Read more ›The post Pragmatic Programmer appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Taking responsibility is taking action in your life that moves you toward happiness and success. It is about owning the consequences of what you do. When taking responsibility in your life you allow yourself you be in control.
Read more ›The post Taking Personal Responsibility appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
As software companies mature, many of the employees (including developers, testers, project managers, and designers) find themselves further and further removed from the daily lives of those who use their software. Not only does this make it more difficult to onboard new employees, but it also makes it much harder to foster reasonable discussions about what the users of a piece of software actually want.
Read more ›The post User Personas appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Test code is code! Just like with real code certain patterns emerge when writing automated tests for your code. The patterns or observations about the best way to write tests help us to design our automated testing to best optimize the code and our time.
Read more ›The post Design Patterns in Automated Testing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Throughout your career as a developer you are likely to work at some well established companies as well as some just getting started. You may even start your own company at some point. Working as or with entrepreneurs no matter your role has a unique set of challenges and rewards.
Read more ›The post Successful Entrepreneurship appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Regardless of who you are, technical debt represents an issue that you need to understand in order to be effective. In this episode, we're going to discuss some other ways to understand the problem that may help you and your team have better discussions about it.
Read more ›The post Analyzing Technical Debt appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've had conversations about emotional intelligence, goal setting, journaling, and many other topics. Each one a part of helping you to better understand yourself. Increasing your self awareness will allow you to not only know why you do the things you do but allow you to control your own behavior in highly emotional situations.
Read more ›The post Increasing Your Self Awareness appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When most of us finish a project, we don't really think much about it unless a problem comes up. However, once you've rolled an application out to production, there are certain things that you can expect at various points in time as the application ages.
Read more ›The post Code For The Ages appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Everyone likes to feel involved. Even the shyest introverts need a community, something to connect them with others like them. As developers we can often feel isolated in our own worlds of study or focus where we only have ourselves and our computers. Some people are able to find that community where as others don't see it and have to create the community they desire.
Read more ›The post Creating A Community For Coders appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It can be challenging to make the leap from a job that is just ok to one that really makes you happy. In this episode, we're going to talk about some of the things you should be doing if you anticipate leaving your job within six months to a year.
Read more ›The post The Long Quit appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We made it to Episode 200! Almost four years into podcasting and it feels like we're just getting our feet under us. There's so much we've learned the past 200 episodes from audio engineering to coding and tech skills to insights into ourselves and our interactions. There is so much more we have yet to learn.
Read more ›The post A Retrospective On 200 Episodes appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
A lot of times we allow fear of social situations to control us. Be it public speaking, going to an event where you don't know anyone, or just going out after work we all have some places where we are anxious in social settings. Even for the more outgoing and extroverted there are times when social fears and anxieties cause us to avoid interactions that otherwise would be to our benefit.
Read more ›The post Overcoming Social Anxiety appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Sometime soon, you'll be ready to move on to the next phase of your career. While for many jobs, this can entail going to another company, it doesn't always have to be that way. In fact, if you like your current job, you may want to stay at the same place, but move to another position. Additionally, if you are planning to leave, there is a good chance that you'll want to change what you are doing on a day to day basis. In either case, you need to position yourself well so that you that you can reach your career goals.
Read more ›The post Positioning Yourself For Advancement appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most organizations really dislike having their private, business-critical information shared with everyone else, especially when those people are potential clients, competitors, or the general public. Applications with multiple tenants, each with their own security structures present interesting challenges for application development, especially as your application becomes more complicated.
Read more ›The post Multi-Tenant Apps appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
If you are a developer using a compiled programming language, your craft depends on your compiler. Computers are not capable of natively understanding any of your code. Instead, the machine must be told what to do in a way that it understands. Depending on your language and platform, to do this, you may find yourself relying on either a compiler or an interpreter.
Read more ›The post Compilers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've all had times where we were on top of our game. It was like we could sense what others were feeling and thinking and had the right responses to every situation. Other times we weren't so in tune with ourselves or others.
Read more ›The post Improving Emotional Intelligence appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The longer your career goes, the more likely it is that you'll get overloaded with work. Whether it's because your company is understaffed, your manager assigns you too much stuff to do, or because schedules aren't managed well, there will come a point when you have more stuff to do than you can easily handle.
Read more ›The post Scheduling Under Pressure – Best Tactics appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've brought on Jerome Hardaway, founder of Vets Who Code and Jacob Oakley, a successful graduate of the program, to talk to us about how they are helping the men and women who served in the US Military.
Read more ›The post Vets Who Code appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There is a surprising amount of writing required to be a successful developer. Whether you have to write technical specifications, document an existing system, or even write tutorials for open source software, your technical writing skills will not only determine the quality of your work, but may even be the deciding factor in the success of your entire team.
Read more ›The post Improving Your Technical Writing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
You make one little change on your LinkedIn profile and get flooded with recruiter emails. We've all been there. When you're looking for a job this is great but it can get annoying fast. Even worse is when you are looking but get all the wrong types of offers or get recruiters contacting you about jobs you don't want or aren't qualified to do. Most of the time this can be alleviated with some simple updates to your profile.
Read more ›The post Top 5 LinkedIn Mistakes with Amber Beam appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's pretty common in technology-related professions to be shy. Lots of people that get into this profession do so under the mistaken impression that they won't have to deal with people as frequently. That may have worked at one point, but the average software project is so complicated these days that you can no longer count on being the only person you are around.
Read more ›The post Put Yourself Out There appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Microservices are the cool, new way to build large software systems. The hype is everywhere, from the tech press to the hipster dude in the next cubicle. If you are building applications, you've probably felt at least some pressure to build them as microservices. However, if you've been in tech for very long, you've also seen a lot of fads come and go. You're probably wondering if you are really choosing microservices for good reasons.
Read more ›The post Bad Reasons For Microservices appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Some of the best things we learn are not in a classroom but just sitting around chatting with fellow developers. Dev chats or lunch an learns somewhat formalize this process. They allow for things such as knowledge transfers from senior developers who have been working in a codebase for years as well as providing an opportunity for younger developers to show off new skills and technologies.
Read more ›The post Lunch and Learn appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
As a professional developer, you're eventually going to have to work with a third party service. Other people's systems can introduce very interesting experiences, especially as your interaction with those systems matures. Not only are third-party systems opaque, usually poorly documented, and often subject to change on short notice, but they can also play havoc with your own release cycle. In this episode we'll talk about some practices for working with third party APIs without the constant risk of nasty surprises.
Read more ›The post Integration Considerations appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Developers are supposed to be smart people. However, sometimes we do things that seem right in the moment, only to have them blow up in our faces later. This is especially true when it comes to career decisions and office politics. Basically, any situation where you need to act in a way that protects your own personal power is ripe for disaster when you don't think before acting.
Read more ›The post Developer, You Played Yourself appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Dependency injection removes the need to create instances of services in your code. Instead of having a module of code call the other modules it may need to function Dependency Injection passes those into it from the original caller. This is usually a framework or other higher level code sitting on top of the custom code you write for controlling the flow of your application. In this episode we'll be talking about how dependency injection works, it's various parts, the different ways it's implemented, and finish up discussing some advantages and disadvantages.
Read more ›The post Dependency Injection appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most of us have commutes. Whether it is every day, just once a week, or even just on occasion, most of us will have to leave the house on a somewhat regular interval to travel to work. Most development work can be done remotely. Unfortunately many times it is done in an office setting. This practice imposes costs on the developer, their team, and society that are probably not being fully considered. In this episode we are going to talk about some of these and how avoiding or modifying the commute might make a lot more sense.
Read more ›The post The Cost of Your Commute appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Many of us have been there, you're out on a date with someone who just doesn't understand you at all. Some of us have even been in long term relationships with people that just didn't get us. Since this episode is coming out on Valentines Day we thought we'd have a little fun with the "Rules for Dating My Son/Daughter" memes with the Rules for Dating My Developer. In each one we'll talk about ways to better understand not just other developers but the people in your life. This is a good episode to listen to with a spouse or significant other as a lot of these apply not only to developers.
Read more ›The post Rules For Dating My Developer appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We've all been there. You work like a dog, and yet there are no signs of appreciation from management. Worse still, every day inflation eats a little more of your paycheck. If you like your job and don't want to quit, there is only one really good option at this point. You need to ask for a raise. However, this is something that many of us find scary and intimidating. In this episode we're going to talk through some ways to make the process easier.
Read more ›The post Asking For A Raise appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Many of us learned to develop software using OOP (or Object-Oriented Programming). The model somewhat fits the way a lot of people look at the world and works well in many cases. However, over time, you'll start to notice situations where a naive understanding of OOP is simply not good enough. In this episode, we're going to talk about some of the things that will plague you as you take OOP to the next level.
Read more ›The post Tough Situations In OOP appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Failure happens to us all at one time or another. The goal of many patterns and project management strategies is to reduce the size of the failure which often results in an increase on frequency of failure. The fail small and fail often mentality. However you experience failure in your development or career the most important thing is how you recover and what you learn from it.
Read more ›The post Learning From Failure appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Creativity is useful in a lot of places. This usefulness is not limited to writing code or even in creating a podcast. For many people a more creative life is often a better one.
Read more ›The post Becoming More Creative appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Even the concept of a code review can make developers cringe. It's difficult to have someone else scrutinize something you've worked so hard on especially if it was a difficult task or you are proud of your solution. For the reviewer it requires diligence and attention to detail. In both cases it takes time and can be a pain if the process and goals are not clearly defined.
Read more ›The post Preparing for Code Reviews appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The theme for this past year has been setting and building your story. In order to do this we need to have clearly defined goals and an action plan to reach them.
Read more ›The post Resolutions For 2019 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's the end of the year, this is the last episode of 2018. As has become tradition for our last episode we'll be reviewing our predictions for this year discussing the ones we got right, the ones we got wrong, and the ones we came close.
Read more ›The post Predictions For 2019 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We live in a society where people are praised for being clever. Whether it is in finding better ways to do things, or simply in being witty, being clever is lauded in our society. However, sometimes people are a little too clever and edge into behavior that borders on unethnical. Dark UI patterns are an example of this in the web space. Dark patterns are used to get users to do things that they didn't intend to do through deceptive and nefarious means.
Read more ›The post Dark Patterns in UI Design appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Testing code is not easy, you have to think about all the different ways your code can go wrong and then write tests to cover them. You generally write more test code than functional code when creating unit tests.
Read more ›The post Objections to Unit Testing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Unhealthy management of personal boundaries not only makes life tougher, but can often invite predatory people into your world. It's not a pleasant experience, but it is something you have to do for your mental health as an adult. Your boundaries have to both be flexible enough to let you survive and rigid enough to keep you from being miserable.
Read more ›The post The Importance of Boundaries appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Resume Driven Development is considered a bad idea, especially on the job. It can cause problems for your coworkers and the company down the line after you are gone. If you suspect someone you work with of Resume Driven Development ask them why they are choosing the particular technology to solve their problem.
Read more ›The post Resume Driven Development appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When you start out as a junior developer you're typically focused on a single project learning the system and tools at your workplace. As you get further along in your career you'll begin to take on more responsibilities and begin working on multiple projects. It can be difficult to handle the expectations of multiple projects.
Read more ›The post Surviving Multiple Projects appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The assumptions we can safely make when building a distributed application are few and far between. Unlike a lot of smaller applications, distributed applications tend not to have system boundaries in the way that many other applications have.
Read more ›The post Distributed Computing Fallacies appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Messed up code happens in every codebase, but for it to really be prevalent requires an ecosystem that makes it a appear to be the best choice most of the time. Small issues in a codebase continue to pile up until someone suggests a complete rewrite to fix it.
Read more ›The post Causes of Poor Code Quality appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Open Space Technology is a method of organizing meetings and conference. It is a participation driven meeting where the agenda is created by those in attendance. Topics do not have to be around technology. At DevSpace there were Open Space session about martial arts, foster parenting, and of course beer. They are also a great way to meet other developers with similar interests.
Read more ›The post Open Spaces appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Sometimes you just know that a person is on the way out the door. Even when it is more subtle there are signs and indicators that can alert you to the fact that one of your coworkers is looking for greener pastures. Many of these are changes in the normal behavior of your coworker. Indicators are when they do not act as they have or do things they have not previously done.
Read more ›The post Signs Your Coworker Is Quitting appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
It's pretty much a fact of human existence that not only will you have to deal with challenging, broken people, but that as an adult, you may not have the option to avoid them. The point of this is recognizing that there are very few people who start off as intolerable jerks, but there are lots of people who end up that way as a result of circumstance.
Read more ›The post Troublesome Developers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Inversion of Control is a way of designing code to implement the Dependency Inversion Principle. In it the custom code written for the functionality of the application does not control the flow of control. Instead that is received from a more generic framework.
Read more ›The post Inversion of Control appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
When selecting a development stack for a side project, you need to maximize the amount of time that you have available for actually getting things done. The goal of a working side hustle is to make extra money on the side, not to be vehicle for exploring a new framework, language, or approach.
Read more ›The post Selecting A Stack For Your Side Hustle appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The decision to go back to school or to attend in the first place is big and life altering. It should not be taken lightly. It's a very personal and difficult decision to make.
Read more ›The post Going Back To School appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Designing a web API (or Application Programming Interface) that lives on a webserver can be very difficult. There's a lot to consider when building an API. While we frequently try to simplify the process down to where it feels the same as making a simple library for our own use, this approach really doesn't get us where we need to be.
Read more ›The post API Best Practices appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Many companies prefer to promote from within, either for the prestige of claiming to do so or because internal candidates are a known quantity and quality. There's a difference between interviewing at a new location with people who don't know you or have not worked with you and interviewing in front of your coworkers and people you've been working with for years. When applying and interviewing for an internal promotion you need to use different strategies to be successful.
Read more ›The post Acing the Internal Interview appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Real personal change is hard. Not only do you have to pick an appropriate goal, but you have to slog towards it over an extended period of time. Reinvesting your gains in any worthwhile activity or life goal is not all that hard, but it has to be approached intentionally in order for it to work. The idea of big goals is to create a better version of yourself, and nothing short of good process is going to make that happen in a sustainable fashion.
Read more ›The post Reinvesting Your Gains appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Network Access Control (NAC) attempts to combine end-station security with network security and authentication. It is used to control access to a network via policies and protocols. These include when the policies are applied whether before or after accessing the network as well as how information about the device accessing it is obtained.
Read more ›The post Network Access Control appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The 7 deadly sins are useful metaphors for dysfunctional software development behavior patterns that you probably see around you every day. These tendencies are not only instructive in noticing bad behavior from others, but more importantly, in noticing it in yourself.
Read more ›The post 7 Deadly Sins of Coding appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Regularly writing in a journal can help you to take the puzzle pieces of your thoughts and feelings and put them together in a logical pattern. Use these guidelines to help get started on that puzzle. Don't hesitate, get started journaling now.
Read more ›The post Getting Started Journaling appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Test driven development is a different way to think about the design, development, and maintenance of applications. TDD can work well for you, but it's easy to go off the rails, especially with the kind of examples you see on the web. The basics are easy, but it can be tricky to get right. It takes a while to learn all the hard lessons of TDD, but the goal is ultimately worth it.
Read more ›The post Why TDD Isn’t Working appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
White-Label applications offer an additional level of challenges over "normal" application development. Due to some of these constraints, many simple tasks become orders of magnitude harder or can't even be done at all.
Read more ›The post White Label Apps Part 2: Maintenance appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
With a white-label app, your clients may tinker with the database, integrate with things you wouldn't expect, or even come to rely on bugs. They may use the application in ways you never expected, and their business may be entirely reliant on misusing your application.
Read more ›The post White Label Apps Part 1: Development appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Discussing agile methods can become a controversial topic. People have a lot of strong feelings about agile methodologies. There are a lot of misconceptions and misunderstandings about what agile is and how the approach to project management is used.
Read more ›The post 7 Myths of Agile appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Threading is crucial to understand if you want your applications to be responsive to multiple users, to update a user interface while a long-running process proceeds in the background, or just to allow you to process multiple things at the same time.
Read more ›The post Basics of Threading appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Progressive web apps are websites with a look and feel of a native application. Even better they have similar functionality to native apps. In a mobile first, device heavy world, this allows us to build web applications that are able to access the native features of the device while running an application via the web. These features can include offline functioning, notifications, and app caching.
Read more ›The post Progressive Web Apps appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Keeping a daily work journal will allow you to keep track of your thoughts and ideas at work. You'll be able to put the pieces of your thoughts and feelings at work together to better understand yourself, your coworkers, and the problems you face.
Read more ›The post 9 Career Benefits of Journaling appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
No matter what your role, be it attendee, volunteer, speaker, or sponsor there are things you can to do get the most out of attending technical conferences. Follow these tips to make your conference experience even better.
Read more ›The post Get The Most From Conferences appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Most developers are of the opinion that CSS is nasty to deal with. And it can be, especially when you treat it as a second-class citizen and don't take advantage of tools that are designed to help with the process. CSS in many development shops is being managed with the same sort of sophistication that could be expected of javascript a decade ago and we can do better.
Read more ›The post CSS Code Smells appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There are a myriad of benefits to keeping up with your thoughts, ideas, and emotions. Journaling or keeping a diary improves your health. Both mentally and physically. It provides an outlet for you that no-one else will see. Journaling allows you to express your thoughts, emotions, concerts, etc. in a safe and friendly environment.
Read more ›The post Health Benefits of Journaling appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
There is a fair amount of complexity in software and component versioning, as well some disagreement on what is standard. However it is pretty easy to get reasonably right, as long as you know the basics. While there is always room for improvement, adhering to basic practices can make the process easier and less likely to end disastrously.
Read more ›The post Software Versioning appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Logic programming is a paradigm that is based on formal or mathematical logic. Apps written in logical languages are basically sets of commands in logical form. They express facts and rules about a problem within the domain.
Read more ›The post Logical Programming appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
The Open Web Application Security Project (OWASP) is a worldwide not-for-profit organization focused on improving the security of software. They put together a document containing the top 10 security vulnerabilities compiled through consensus of security experts from around the world.
Read more ›The post OWASP Top Ten appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Have a job in software development for long enough, and you'll eventually lose it. Whether through an acquisition, being downsized, or even being fired, no job is permanent. When this happens, many developers are poorly prepared for a job loss. Recovery from an unexpected job loss can take a lot of time and effort, as well as taking an emotional toll. In general, a job loss isn't going to be a pleasant thing to endure, but there a lot of things you can do to at least mitigate the damage.
Read more ›The post Surviving A Job Loss appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post SOLID Principles appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Pros And Cons Of The Side Hustle appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Unit Testing With Test Driven Development appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post 7 Networking Layers appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Understanding Technical Debt appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Fairy Tales appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Evaluating Office Layouts appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Normalize Your Database appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Command/Query Responsibility Segregation and Event Sourcing appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Differentiate Yourself appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Domain Driven Design appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post 7 Habits To Prevent Burnout appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Beautify Your Story With CSS appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Morbidity And Mortality appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Continuous Self Improvement appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Recovering From Burnout appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Composite Data Types appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
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.
Read more ›The post Write Your Story appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
We hit most of our predictions from last year. This is mostly because we saw "the handwriting on the wall" in several places. Also we have been keeping up with the industry. Doing so will help you to better predict when to make moves in your career and when to stay in place.
Read more ›The post Predictions 2018 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Since this past year was about setting goals we're going to focus on what you do with those goals and how you get there next year. The theme will be Build Your Story and it will start in a couple weeks with an episode called Writing Your Story.
Read more ›The post Resolutions 2018 appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Best practices can help protect you from preventable errors and make it easier to reason about the code. Date and time libraries exist for a reason. That reason is because dates and times are complex to deal with programmatically, especially if they aren't the main purpose of your application.
Read more ›The post DateTime Part 3: Best Practices appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Time and date management are complicated and nasty on computers, because they are complicated and nasty in real life. While we often think of being able to tell time as being simple, historically it hasn't been. We're continually having to work to keep our timekeeping devices accurate so that we can use their results for everything from manufacturing to navigation, encryption, and missile guidance. Network Time Protocol (NTP) is used to synchronize time over packet-switched, variable-latency data networks. The goal is to synchronize all participating computers to within a few milliseconds of Coordinated Universal Time (UTC).
Read more ›The post DateTime Part 2: Computing and Time Protocols appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
Time is a complex subject and is heavily tied into our understanding of the universe. It has driven a lot more technological change and social change than you might think. Time is tricky to manage, but not bad, until you realize what's sitting atop this concept. In addition to distance and direction, time is probably one of the most important ways that we organize our reality.
Read more ›The post DateTime Part 1: History of Time appeared first on Complete Developer Podcast.
Hosted on Acast. See acast.com/privacy for more information.
<p>Finishing the two part episode on skills web developers need to know the guys tackle the skills needed to land a job along with advanced skills to set yourself apart. The episode closes with a list of honorable mentions that do not directly apply to web development but are interpersonal skills useful to a career in development.</p>
<blockquote>You've got the basics down and this is what you need before you start submitting resumes.</blockquote>
<p>The intermediate skills listed in the episode is the base needed to begin a career as a web developer. The concepts build upon the previous listed basic and fundamental skills. These include methodologies of the web, programming paradigms, maintaining a project, and testing and debugging.</p>
<p>Set yourself apart and above the crowd by learning and understanding the advanced skills. Knowledge of concepts such as data structure, algorithm development, modelling, and design shows more than a passing interest in the field and gives the basics to move up as a developer.</p>
<p>Many of these skills are deep enough topics to warrent their own episodes. Will and BJ provide an overview for further discussion.</p>
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">The question was asked on Quora: What are the five essential skills every web developer should have? There were 91 different answers to this question, though most could be broken down into one of three categories: technical, personal, and interpersonal. Within each answer some similarities existed including basics of the web (HTML, CSS, JavaScript, HTTP(S), and server basics), security, testing, and a willingness to learn. A few of the unique responses included etiquette on sites such as StackOverflow and Github, how to handle criticism, and a pulse on the industry. In this episode BJ and Will list their necessary skills to be a web developer. Attempting to remain evergreen and language agnostic they cover the basics but leave deeper understanding to the listener or for later episodes.</p>
<p>The list is divided into fundamental knowledge or the absolute basics to get started, basic knowledge (what's needed for simple freelance or open source work), intermediate knowledge (the skills to get the job), and advanced knowledge (how to stand out).</p>
<p>Due to the length of the recording the episode was divided into two parts. This first part looks at the fundamental and basic knowledge needed to be a web developer. Next week will feature the intermediate and advanced knowledge to be a web developer as well as a brief list of the honorable mentions that did not make the list but are good to know to advance as a web developer.</p>
Hosted on Acast. See acast.com/privacy for more information.
<p>The term technical debt can be misleading and confusing. It is generally referred to as a metaphor referencing the consequences of system design or software architecture in a codebase. Technical debt can be difficult to identify directly so developers need to use clues that can be broken down into social cues, code cues, and testing/deployment cues. When developers don't like dealing with a particular area of code or frequently complain about working in a certain part of the codebase that is a social cue that there may be technical debt in that area. Overly tight coupling, objects with too much control, and incoherence between components are all cues in the code that there is technical debt that needs to be dealt with. Finally in testing and deployment if there is a lot of friction setting up the environment or testing fails irregularly due to brittleness there may be technical debt in the codebase.</p>
Hosted on Acast. See acast.com/privacy for more information.
<blockquote style="text-align: justify; font-weight: 400; font-style: oblique;">"I want to reconfigure my code to best survive the environment it lives in, it's an evolutionary process." ~ Will</blockquote>
<p>Refactoring is the process of making the internals of an application less painful to code without affecting the functionality of the app. Refactoring code improves the ability of developers to troubleshoot problems and increases the speed of developing new functionality. It involves decoupling internal components to keep dependency changes from causing major rework or reorganization of code in preparation for future operations. Organizational inertia and interpersonal disagreements about how to proceed may inhibit the ability to refactor. When refactoring start with small changes and a small locus of control, reference the architecture, and make short iterations before integration.</p>
Hosted on Acast. See acast.com/privacy for more information.
<p>Resilience is the ability or capacity to quickly recover from difficulties. Systems that are resilient have less risk, a lower cost of ownership, and the ability to build upon the system. The CAP theorem of Consistency, Availability, and Partition applies to resilience within the domain of distributed systems but is instructive in regards to any system. The seven principles of resilience used in this episode were gleaned from the Stockholm Resilience Centre's guidelines for general-purpose resilience. The first three involve systems design while the final four focus around team and organizational structure.</p>
Hosted on Acast. See acast.com/privacy for more information.
<blockquote>“Flags allow us to restrict features to certain environments, while still using the same code base on all servers.” ~ Ross Harmes</blockquote>
<p class="abstract">Feature flags offer an alternative to maintaining multiple various branches of source code. Continuous deployment requires such feature branches to be integrated with the master branch as early as possible. Feature flags are toggles that allow for early integration with execution paths turned off by a toggle that can be turned on for specific users/testers or when the feature is ready for deployment without having to roll out new source code. There are two basic types of feature flags: release toggles and business toggles. Release toggles are used for rolling out new features in continuous deployment. Business toggles allow for restricted user access such as through premium accounts. The simplest feature flags are boolean statements however they can be more. State can be set statically or dynamically. Rule based toggles can be used with XML, YAML, and JSON. Beyond common usage they are also available for trial of new features to allow early access to beta testers, allow internal review of the feature, or run A/B tests. When rolling out new features toggles can be used to verify scalability of the feature or app. Toggles should show a minimal presence in code and be retired once pending features are added. Dangers of using feature flags include accidental exposure of the feature, corrupting data, and technical debt created by the toggles.</p>
Hosted on Acast. See acast.com/privacy for more information.
<p>This episode is highly influenced by Paul Graham's essay on maker's vs manager's schedules. He points out they are inherently conflicting in priorities. The biggest issues come from developers not being able to handle interruptions and managers not being able to wait for a convenient time. The guys start the episode looking at the differences in schedules and where time is allocated throughout the workday. The latter half of the episode is dedicated to ways that managers and developers can work together on creating functional schedules.</p>
Hosted on Acast. See acast.com/privacy for more information.
<p>A few weeks ago when recording the mood was hostile. Both Will and BJ were on edge but could not define the problem. Finally after over an hour of recording BJ says, "I'm getting frustrated and angry" to which Will responded, "Me too, let's figure out why." At that point they stopped recording and happened next is the basis for this episode.</p>
<p>After telling the story of what happened that night BJ and Will get into a Conflict 101 lesson followed by a list of healthy and unhealthy responses to conflict. They then discuss the skills needed to effectively resolve conflict. Next is 10 rules for fair fighting with discussions for each rule. Finally they spend the remainder of the show explaining some tips for resolving conflict.</p>
<div class="editornotes">
<h3>Editor's Notes:</h3>
<p>Due to snow in Tennessee this week Will and BJ recorded the intro via <a href="http://www.webex.com">Cisco's Webex</a> using their headsets instead of the regular microphones. Please bear with us as there is some echo from the connection.</p>
</div>
Hosted on Acast. See acast.com/privacy for more information.
<div class="shownotes post">
<p>Whether a single coder like BJ or one with a spouse and a child like Will this week's discussion focuses on the myth of the work-life balance. Work and life are intermingled and to imply a balance is to imply that one outweighs the other. A better description would be work-life separation and maintaining boundaries. This is accomplished by focusing on the quality of the time spent working and with family instead of the quantity. Throughout the episode Will and BJ share examples from their personal lives and lessons they have learned. Like a family they start with the relationship between significant others then move into the complexity that having children adds to that relationship. The episode closes out discussing the extremes of survival mode and how to survive it.</p>
<div class="editornotes">
<h3>Editor's Notes:</h3>
<p>A special thanks <a href="https://soundcloud.com/zaphoid1">Jason Belcher</a> for mastering the audio this week. We are gradually improving our process and he not only provided the new IoTease theme but has been a great help along the way.</p>
</div>
</div>
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">Faster coding does not equate to better coding. This week Will and BJ put together five tips for faster and better coding to improve performance on the job and in personal projects. From continuing to drill basic typing skills to learning your IDE's shortcut keys the guys discuss improvements that can be useful no matter your level or skill.</p>
<ol>
<li style="text-align: justify;">The absolute basics (typing skills, equipment, and code editors)</li>
<li style="text-align: justify;">Reduce the amount of code you write</li>
<li style="text-align: justify;">Reduce the number of errors you make</li>
<li style="text-align: justify;">Ways to improve your speed while coding</li>
<li style="text-align: justify;">Continue to practice daily</li>
</ol>
<h3 style="text-align: center;">Links</h3>
<div class="grid col-300"><a href="http://www.vivalnk.com/feverscout" target="_blank">Fever Scout</a>
<br />
<a href="http://typing.io" target="_blank">Typing Practice</a>
</div>
<div class="grid col-300">
<a href="http://www.amazon.com/Adesso-Tru-Form-Illuminated-Ergonomic-AKB-150EB/dp/B00N99LPC6/ref=sr_1_1?s=pc&ie=UTF8&qid=1453691625&sr=1-1&keywords=backlit+ergonomic+keyboard" target="_blank">Will's Ultimate Affordable Keyboard</a>
<br />
<a href="http://www.datamancer.net/keyboards/ergo1/ergo1.htm" target="_blank">BJ's Dream Keyboard</a>
</div>
<div class="grid col-300 fit">
<a href="http://everyitinfo.blogspot.com/2013/11/windows-shortcut-keys-and-key-imagefrom.html" target="_blank">Windows Shortcut Keys</a>
<br />
<a href="http://ithouse24.com/23-basic-pc-shortcut-keys-for-all-operating-systems/" target="_blank">Basic Shortcut Keys</a></div>
<div class="editorsnote">
<h4>Editor's Note:</h4>
<p style="text-align: justify;">Will had the beginings of an unpleasant sinus infection during the recording of this episode. Most of the sniffles and coughs have been edited out though please bear with us this week. He has since recovered and is feeling much better.</p>
</div>
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">The episode begins with BJ detailing his recent experience writing his first technical spec for a client and what he learned from that along with questions about the process. Will then leads the conversation into a discussion of best practices for writing technical specs that will help both junior and senior developers while answering BJ's questions along the way.</p>
<h3 style="text-align: justify;">Links</h3>
<a href="http://iotlist.co/posts/foobot-indoor-air-quality-monitor" target="_blank">Foobot</a>
Hosted on Acast. See acast.com/privacy for more information.
This week the guys broke the episode into two parts. BJ starts out with a study from Harvard University on the perceptions of asking for advice. The first half of the episode then outlines good question asking strategies for newbies and junior developers. Starting with closed ended questions leading into longer open ended questions and when to use each. This can also apply to senior developers as well in areas they don't have as much knowledge. They then talk about planning out your questions and detailing what you have already attempted.
The second half of the episode Will gives advice to senior developers on giving advice to junior developers. Starting out by realizing that you are helping junior developers and know they will mess up. Also keep in mind that you might be wrong. Tell them how to do something or show them but do not do it for them.
<h3 style="text-align: center;">Links</h3>
<div class="grid col-300">
<a href="http://www.iotnewsnetwork.com/lifestyle/haize-minimalist-urban-bike-navigation/" target="_blank">Bike Navigator</a>
<a href="http://www.hbs.edu/faculty/Publication%20Files/Advice%20Seeking_59ad2c42-54d6-4b32-8517-a99eeae0a45c.pdf" target="_blank">Harvard Study</a>
</div>
<div class="grid col-300 fit">
<a href="http://www.bizsuccess.com/articles/ask.html" target="_blank">Biz Success</a>
<a href="http://www.bradaronson.com/how-to-ask-questions/" target="_blank">How To Ask Questions</a>
</div>
<div class="grid col-300">
<a href="http://www.lifehack.org/articles/communication/how-amazingly-good-asking-questions.html" target="_blank">Amazing Questions</a>
<a href="https://www.mendix.com/think-tank/tips-for-bringing-novice-developers-up-to-speed/" target="_blank">Bringing Novice Developers Up To Speed</a></div>
<div class="grid col-940">
<h4>Editors Note:</h4>
Unfortunately there was a technical error with the recording of Will's microphone and therefore the body of the episode was taken from BJ's recording. Also throughout the episode there is a high pitched sound that could not be removed in post production.</div>
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">Being the first episode of 2016 the guys give their predictions for the tech world this year. Some optimistic and some not so optimistic predictions from both. Will and BJ give six predictions each for 2016 five in the development or technology field and the last prediction about the future of the podcast. Enjoy the discussion when they have similar predictions and the debate when they disagree.</p>
<h3>Links</h3>
<a href="http://www.instructables.com/id/Delightful-Interactive-Toddler-Spoon/" target="_blank">Toddler Spoon</a>
<h4>Editor's Note:</h4>
Due to technical difficulties Tricks of the Trade will not be in this episode. Check back next week to see what Will has for us.
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">The guys start off the episode with a year in review of their journeys this past year as well as a brief description of setting up the podcast and how it all started. Following this they each give their resolutions for the new year.</p>
<h3 style="text-align: justify;">Links</h3>
<a href="http://bowtiebeej.com/building-a-raspberry-pi-computer-for-my-nieces/" target="_blank">Bowtie Beej Blog</a>
Hosted on Acast. See acast.com/privacy for more information.
As we approach the end of the year BJ and Will discuss strategies for setting goals to take back control of your life. Actively setting and reviewing goals helps to maintain focus and motivation. It gives significance to our long term improvements. The guys take a top-down approach to setting goals with analogies to programming structure. They start with lifetime goals and work down to daily to do lists to achieve those goals. The majority of the episode is spent discussing the well known S.M.A.R.T. criteria for goal setting and how it applies to programmers at work and in personal life. The episode closes with some tips on prioritizing and maintaining goals in the long term.
<h3 style="text-align: center;">Links</h3>
<div class="container">
<div class="grid col-220"></div>
<div class="grid col-220">
<ul style="list-style-type: none;">
<li><a href="http://iot.ieee.org/images/files/pdf/ieee_iot_newsletter_authors_flyer.pdf">IEEE Authors</a></li>
<li><a href="http://www.forbes.com/sites/markmurphy/2015/01/08/smart-goals-can-sometimes-be-dumb/" target="_blank">Forbes Article</a></li>
<li><a href="http://topachievement.com/smart.html" target="_blank">Top Achievement</a></li>
<li><a href="https://www.mindtools.com/page6.html" target="_blank">Mind Tools</a></li>
</ul></div>
<div class="grid col-220">
<ul style="list-style-type: none;">
<li><a href="http://www.right.com/wps/wcm/connect/right-us-en/home/thoughtwire/categories/career-work/creating-a-30-60-90-day-plan-to-secure-the-job" target="_blank">30, 60, 90 Day Plan</a></li>
<li><a href="https://east.madison.k12.wi.us/files/east/Smart%20Goals%20Information%20CC%2011_0.pdf" target="_blank">SMART Goals PDF</a></li>
<li><a href="https://smartgoalsneverfail.wordpress.com/2012/06/22/r-relevant-your-goals-must-matter/" target="_blank">Your Goals Must Matter</a></li>
<li><a href="https://www.baremetalsoft.com/baretail/">BareTail</a></li>
</ul></div>
<div class="grid col-940">
<h3>Offline Referrences</h3>
Doran, G.T. (1981). There's a S.M.A.R.T. way to write management's goals and objectives. Management Review, 7(11), 35-36.</div></div>
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">This week starts a new series titled Developer Power Techniques. The series will not be in back to back fashion as the Health Series though each episode in the series will be announce and the series in general can be followed on the Developer Power Techniques page of the website.</p>
<p style="text-align: justify;">Will starts the episode out explaining why he started tracking his own time. He describes feeling like his career wasn't going where he wanted and that he never had enough time to get everything done. The guys then discuss why using a time tracker can improve both your career and your personal life. On explaining how to use one they break it down into short and long term processes. In the short term they suggest tracking how you feel at regular intervals and then comparing this to what you have been working on and note correlations. Making yearly goals and re-evaluating them on a quarterly basis helps to track long term goals. Selecting and setting goals will be discussed further in next week's episode on goal setting.</p>
<h3 style="text-align: left;">Links</h3>
<a href="http://www.iotnewsnetwork.com/" target="_blank">IoT News Network</a>
<a href="http://www.clicktime.com/timesheet-template-excel-spreadsheet" target="_blank">Excel Templates</a>
<a href="https://toggl.com/" target="_blank">Toggl</a>
Hosted on Acast. See acast.com/privacy for more information.
<blockquote>In project management, a death march is a project where the members feel it is destined to fail, or requires a stretch of unsustainable overwork. The general feel of the project reflects that of an actual death march because the members of the project are forced to continue the project by their superiors against their better judgment. ~Wikipedia</blockquote>
<p style="text-align: justify;">Will and BJ discuss the troubles and tribulations of the death march. They are typically characterized by heavy turnover, burnout, and timelines that are too aggressive to actually meet. Death marches usually come about though poor management or a disconnect between developers and other departments like sales. Rapid growth may also lead to a death march. Growth of the team or growth of the company if it is a startup. It is best to avoid working for companies or projects that have death march potential. To do this ask upfront what the expectations are regarding hours, overtime, and comp time during the interview. Remember you are choosing the company as much as they are choosing you.</p>
<h3 style="text-align: justify;">Links</h3>
<a href="http://iotworldnews.com/2015/11/beecham-research-slams-pie-in-the-sky-predictions-for-iot/" target="_blank">IoT is Over-hyped</a>
<a href="https://en.wikipedia.org/wiki/Death_march_(project_management)" target="_blank">Wikipedia Definition</a>
<a href="http://death-march.urbanup.com/2740314" target="_blank">Urban Dictionary</a>
<a href="http://www.portableapps.com">Portable Apps</a>
<h3>Special Note</h3>
Excerpt of The Imperial March (Darth Vader's Theme) by John Williams used in the discussion about the Episode VII was taken from <a href="https://www.amazon.com/gp/product/B004EYRIBC?ie=UTF8&keywords=starwars%20soundtrack&qid=1449629135&ref_=sr_1_4&sr=8-4" target="_blank">The Music Of Star Wars: 30th Anniversary Collector's Edition</a> .
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;">Coming out of a holiday week the guys full on turkey and dressing discuss the impact that distractions have on developers and productivity as well as ways for both developers and management to minimize the amount to distractions faced by developers in a day. They begin looking at the effect of distractions on other professions and explain what a distraction means to a developer. Next Will and BJ talk about the effects of distractions on developers from the productivity as well as the psychological aspect. They end the episode discussing ways that developers and then management can work to minimize distractions.</p>
<p style="text-align: justify;"><a href="http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/" target="_blank" rel="http://heeris.id.au/2013/this-is-why-you-shouldnt-interrupt-a-programmer/"><img class="aligncenter wp-image-580 size-full" src="http://completedeveloperpodcast.com/wp-content/uploads/2015/12/programmerinterruption.jpg" alt="By Jason Heeris" width="698" height="741" /></a></p>
<h3 style="text-align: left;">Links</h3>
<a href="http://hipsum.co/" target="_blank">Hipster Ipsum</a>
<a href="http://iotlist.co/" target="_blank">IoT List</a>
<a href="http://www.joelonsoftware.com/articles/fog0000000022.html" target="_blank">Joel on Software</a>
<a href="https://www.wireshark.org/" target="_blank">Wireshark</a>
Editor's Note: Apologies for this being published a little later than usual. We ran into some technical difficulties with Audacity.
Hosted on Acast. See acast.com/privacy for more information.
<p style="text-align: justify;"><img class=" wp-image-557 alignleft" src="http://completedeveloperpodcast.com/wp-content/uploads/2015/11/aa-logo-300x300.jpg" alt="aa-logo" width="162" height="162" />This being a holiday week the guys chose to air a special episode on substance abuse. This was originally part of the Mental Health episode but BJ went "Full Med Student" on the notes and produced a few shows. As many of us gather with our families this week we can see issues with substance abuse come out more than at other times. Part of this is from not having the responsibility of getting up and going to work and part from the stress that usually comes with travel and large gatherings. In this episode Will and BJ discuss some of the signs and symptoms of substance abuse as well as what to do if you suspect you or someone you know may need help. They begin by defining Substance Abuse as an over-indulgence in or dependence on an addictive substance, especially alcohol or drugs. Next Will reviews physical, behavioral, and psychological warning signs of a substance abuse disorder. They guys then delve into the medical signs and symptoms of substance abuse and how they may appear different within the development community. Next they take a look at specific workplace behaviors and how drug abuse can effect the workplace, coworkers, and job retention. In the end they provide information on where to look for help if you or someone you know may be suffering from a substance abuse disorder.</p>
<h3 style="text-align: center;">Links</h3>
<div class="container" style="font-size: 1.2em; line-height: 1.5em; margin-left: 2em;">
<div class="grid col-460">
<a href="http://www.oracle.com/us/solutions/internetofthings/overview/index.html" target="_blank">Oracle</a>
<a href="http://searchsoa.techtarget.com/definition/Java" target="_blank">Java Definition</a>
<a href="http://www.learnjavaonline.org/" target="_blank">Learn Java Online</a>
<a href="http://ncadd.org" target="_blank">National Council on Alcoholism and Drug Dependence</a>
<a href="http://aa.org" target="_blank">Alcoholics Anonymous</a></div>
<div class="grid col-460 fit">
<a href="http://na.org" target="_blank">Narcotics Anonymous</a>
<a href="http://www.al-anon.org/">Al-Anon</a>
<a href="https://www.opm.gov/policy-data-oversight/worklife/employee-assistance-programs/" target="_blank">Employee Assistance Programs (EAP)</a>
<a href="http://markdownpad.com/" target="_blank">Markdown Pad</a>
<a href="https://daringfireball.net/projects/markdown/">Daring Fireball</a></div>
</div>
Hosted on Acast. See acast.com/privacy for more information.
This week the guys discuss ways to find motivation and self motivate in times when developers are down and discouraged. They begin by looking at Frederick Hersberg's study on the two factors that influence employee satisifaction: hygiene and motivation. Which leads them to talking about how different companies motivate their employees from by providing autonomy, mastery and purpose to developers. In the bulk of the episode they discuss different strategies to find your own motivation starting with how developers respond to expectations. Then they look at intrinsic and extrinsic factors involved in motivating ourselves. BJ gives a preview of the goal setting episode and even writes some code in his outline. The guys wrap up the episode talking about how to create and sustain self motivation.
<h3 style="text-align: center;">Links</h3>
<div class="container" style="margin-left: 2em;">
<div class="grid col-460"><a href="https://blog.adafruit.com/2015/09/20/dr-who-tardis-iot-scifisunday/" target="_blank">IoT T.A.R.D.I.S.</a>
<p style="text-align: left;"><a href="http://www.softwarebyrob.com/2006/10/31/nine-things-developers-want-more-than-money/" target="_blank">Nine Things Developers Want More Than Money</a></p>
<p style="text-align: left;"><a href="http://www.lessonsoffailure.com/developers/autonomy-mastery-purpose/" target="_blank">Autonomy, Mastery, and Purpose</a></p>
<p style="text-align: left;"><a href="http://www.forbes.com/sites/actiontrumpseverything/2012/12/29/how-the-most-successful-people-motivate-themselves-and-stay-motivated/" target="_blank">How Successful People Motivate Themselves</a></p></div>
<div class="grid col-460 fit"><a href="http://thispointer.com/how-to-be-self-motivated-as-a-software-developer/" target="_blank">Be Self Motivated As A Software Developer</a>
<p style="text-align: left;"><a href="https://hbr.org/2015/03/to-form-successful-habits-know-what-motivates-you" target="_blank">Form Successful Habits</a></p>
<p style="text-align: left;"><a href="http://iqtell.com/2014/04/how-to-find-what-motivates-you-and-use-it-time-and-again/" target="_blank">Find What Motivates You</a></p>
<p style="text-align: left;"><a href="http://winmerge.org/" target="_blank">WinMerge</a></p>
</div>
</div>
Hosted on Acast. See acast.com/privacy for more information.
In this the tenth episode Will and BJ discuss ten reasons a programmer or hobbyist might not want to go into full time development. It is best to know early on in your career or training if this is the life for you. The guys are not out to discourage anyone from going into the field but want those entering to be able to make an informed decision. They address some of the challenges that face developers as well as aspects of the working environment that make a career as a developer unique. The episode concludes with a discussion on the matter of programming as a job or programming as a craft. To be successful a developer needs to be a craftsman.
<h3 style="text-align: left;">Links</h3>
<div class="container">
<a href="http://learncpp.com" target="_blank">Learn C++</a>
<a href="http://www.geraldmweinberg.com/Site/Programming_Psychology.html" target="_blank">Psychology of Computer Programming</a>
<a href="http://www.makeuseof.com/tag/6-signs-meant-programmer/" target="_blank">Six Signs You're Not Meant To Be A Programmer</a>
<a href="http://notepad-plus-plus.org" target="_blank">Notepad++</a></div>
Hosted on Acast. See acast.com/privacy for more information.
<h2>But They Are NEVER Wrong!</h2>
<p style="text-align: justify;">In Episode 9 Will and BJ discuss a common misconception in the workplace. The idea that the customer is always right. They begin by looking at why this attitude is hurtful to employees, other customers, and management explaining why the customer is not always right. Then the guys delve into why the customer is never wrong and how it is the job of employees to guide the customer. Next they take a look at who is the customer from direct customer access in freelance work to internal customers within the same company. The show ends with a detailed look at each of these customers and how developers can best serve them by realizing that they may not always be right but should never be wrong.</p>
<h3 style="text-align: center;">Links</h3>
<div class="left-link">
<a href="https://www.raspberrypi.org/forums/viewtopic.php?p=74457" target="_blank">StartX Fails on Raspbian</a>
<a href="http://www.huffingtonpost.com/alexander-kjerulf/top-5-reasons-customer-service_b_5145636.html" target="_blank">Customer Service</a>
<a href="http://www.forbes.com/sites/jaysondemers/2014/09/02/no-the-customer-is-not-always-right/" target="_blank">No, The Customer is Not Always Right</a>
<a href="http://www.entrepreneur.com/article/243004" target="_blank">Entrepreneur</a>
<a href="http://www.dtelepathy.com/blog/business/why-developers-always-say-no" target="_blank">Why Developers Always Say No</a></div>
<div class="right-link">
<a href="http://programmers.stackexchange.com/questions/68213/difference-between-software-development-and-production" target="_blank">Development vs Production</a>
<a href="http://blog.codinghorror.com/vampires-programmers-versus-werewolves-sysadmins/" target="_blank">Vampires and Werewolves</a>
<a href="http://techcrunch.com/2015/06/06/on-managing-developers/" target="_blank">Managing Developers</a>
<a href="https://www.quora.com/Why-do-many-programmers-believe-they-know-better-than-their-customers-what-features-they-need-and-usually-force-them" target="_blank">Why Programmers Think They Know Best</a>
<a href="https://justgetflux.com/" target="_blank">f.lux</a></div>
Hosted on Acast. See acast.com/privacy for more information.
<div class="post-justified">This week BJ keeps his promise and brings an episode on understanding the roles and relationship of sales to development. The guys begin with a discussion on the importance of sales and what they do for the company. Next BJ takes us through an abbreviated Sales School 101. They then talk about differences in pay structure between development and sales with emphasis on why pay better matches ability with sales. The episode finishes with a discussion on how this effects programmers and how both sales and development teams can interact to better their work environments.</div>
<h3 style="text-align: center;">Links</h3>
<div class="left-link">
<a href="https://azure.microsoft.com/en-us/solutions/iot-suite/" target="_blank">Azure IoT Suites</a>
<a href="https://www.getdonedone.com/developers-vs-sales/" target="_blank">Developers vs Sales</a>
<a href="http://baselinescenario.com/2009/12/24/salespeople-and-programmers/" target="_blank">Salespeople and Programmers</a>
<a href="http://www.steadysales.com/the-7-steps-of-the-sales-process/" target="_blank">Seven Steps of the Sales Process</a>
</div>
<div class="right-link">
<a href="https://www.pipelinersales.com/sales-process-steps/" target="_blank">Sales Process Steps</a>
<a href="http://programmers.stackexchange.com/questions/229352/how-to-support-the-sales-team-and-avoid-the-often-the-sales-team-gets-us-into-t" target="_blank">How to Support Sales</a>
<a href="http://www.dodgycoder.net/2011/11/why-do-programmers-get-paid-less-than.html" target="_blank">Why Programmers Get Paid Less</a>
<a href="http://browsershots.org" target="_blank">Browsershots</a>
</div>
Hosted on Acast. See acast.com/privacy for more information.
<div class="shownotes"><p>In this episode the guys discuss beliefs that developers hold (or act as if they hold) that simply are not true. They delve into commonly held yet erroneous beliefs that developers tend to have about work, employers, other departments, and more. While it is not an exhaustive list they cover everything from interacting with others to interacting with databases, to changing specs mid project, and misunderstandings about how business works. These are the sort of critical mis-communications and non-optimal behaviors that distinguish a less experienced and less professional developer from those that have played the game a while and gotten some life experience. Being aware of these will help improve your employer's (and fellow coworker's) perception of you, as well as steer you away from problems that can cause you grief later.</p>
<h3 style="text-align: center;">Links</h3>
<div class="left-link">
<p><a href="http://fresh2refresh.com/cprogramming/c-language-history/" target="_blank">Learn CPP</a>
<a href="http://fresh2refresh.com/cprogramming/c-language-history/" target="_blank">C Language History</a>
<a href="http://computer.howstuffworks.com/c.htm" target="_blank">How Stuff Works</a>
</p>
</div>
<div class="right-link">
<p>
<a href="http://c.learncodethehardway.org/book/" target="_blank">Learn C The Hard Way</a>
<a href="http://www.ontechnicaldebt.com/blog/bad-code-isnt-technical-debt-its-an-unhedged-call-option/" target="_blank">Unhedged Call Option</a>
<a href="https://github.com/unindented/palette-chrome">Palette for Chrome</a>
</p>
</div>
</div>
Hosted on Acast. See acast.com/privacy for more information.
In this episode of The Complete Developer Podcast, the guys discuss strategies for getting through boring meetings, which are the bane of software developers everywhere. Packed into this episode are a number of strategies you can use to turn boring, time-wasting meetings into something that helps your career, rather than something that simply wastes your productive time.
<a href="http://bitesizebio.com/306/free-mind-mapping-software/"><img class="wp-image-438 alignleft" style="padding-right: 4em;" src="http://completedeveloperpodcast.com/wp-content/uploads/2015/10/mindmap-150x150.jpg" alt="" width="206" height="163" /></a>
<h3>Links</h3>
<a href="http://www.codenewbie.org" target="_blank">Code Newbies</a>
<a href="http://morphosource.org" target="_blank">Morpho Source
</a>
<a href="http://www.draw.io" target="_blank">Draw.io</a>
<a style="color: #ff1493;" href="http://completedeveloperpodcast.com/susan-g-komen-5k/" target="_blank">Breast Cancer 5K</a>
<h3></h3>
<h3>Editor's Note:</h3>
We had some issues with our recording for this episode. Please bare with us as we are learning to use the recording and editing equipment.
Hosted on Acast. See acast.com/privacy for more information.
Finishing out our series on Health Concerns for Developers we delve into the realm of financial health.
In this episode, we discuss a number of issues that can derail software developers from effectively managing their finances. We start out with a breakdown of some pretty alarming statistics regarding average household debt levels in America and how those are broken down across a number of categories.
Next, we discuss some ways that developers can deal with their financial problems. Without getting too technical, we suggest some strategies to being digging out from under debt, including ways to reduce expenses, reduce outstanding debt, and increasing income. Finally, we point a couple of things that may help you get through it all successfully.
<h3 style="text-align: center;">LINKS</h3>
<div class="container" style="margin-left: 2em;">
<div class="grid col-300"><a href="http://www.informationweek.com/mobile/mobile-applications/11-iot-programming-languages-worth-knowing/d/d-id/1319375?itc=edit_in_body_cross&image_number=3" target="_blank">11 IoT Programming Languages</a>
<a href="http://www.programmingthrowdown.com/2015/09/episode-46-r.html" target="_blank">Programming Throwdown</a>
<a href="http://www.iwillteachyoutoberich.com/" target="_blank">I Will Teach You to be Rich</a></div>
<div class="grid col-300">
<a href="http://www.thesimpledollar.com/the-state-of-american-credit-card-debt-in-2015/" target="_blank">The State of American Credit Card Debt</a>
<a href="https://www.nerdwallet.com/blog/credit-card-data/average-credit-card-debt-household/" target="_blank">Nerd Wallet</a>
<a href="http://www.fool.com/investing/general/2015/01/18/the-average-american-has-this-much-debt-how-do-you.aspx" target="_blank">Motley Fool</a></div>
<div class="grid col-300 fit">
<a href="http://www.cnbc.com/id/100840148" target="_blank">CNBC</a>
<a href="http://time.com/money/3654746/get-out-of-debt-credit-cards/" target="_blank">Time</a>
<a href="http://nimbletext.com/" target="_blank">Nimble Text</a>
</div>
</div>
Hosted on Acast. See acast.com/privacy for more information.
Continuing our series on health concerns for developers we delve into the mental health of developers. Originally this began as one episode but the information and conversation extended so we divided it into three separate episodes. This first mental health episode we discuss the more prevalent concerns that are less clinical in nature but if left unchecked may lead to a more serious problem.
In Episode 4 we discuss the topics of workaholism, stress, and sleep problems. A workaholic is a person that feels the irresistable urge to work excessively long hours to the exclusion of family, hobbies, and even personal health. This can be for many reasons including feelings of inadequacy or overbearing bosses. The important take away is this is not something that is desired or enjoyed but a need that must be fulfilled. It can lead to several problems including anxiety and stress. Sleep is something we all need that helps our bodies to refresh and reset. We discuss a non-exhaustive list of common sleep ailments that affect programmers from occasional snoring to sleep apnea to various forms of insomnia. These can lead to a person feeling mental or emotional strain or tension which is commonly known as stress. We go into detail about some of the more severe signs and symptoms of stress and its effects on the body as well as some ways to prevent and reduce daily stress.
<h3>LINKS</h3>
<a href="http://laserkids.sourceforge.net" target="_blank">LaserKids DIY Laser</a>
<a href="http://www.webmd.com/balance/features/are-you-a-workaholic" target="_blank">Are you a workaholic?</a>
<a href="http://www.amazon.com/Death-March-Edition-Edward-Yourdon" target="_blank">Death March</a>
<a href="http://www.smashingmagazine.com/2014/01/dealing-with-workaholism-on-web-teams/" target="_blank">Workaholism on Web Teams</a>
<a href="http://www.webmd.com/sleep-disorders/guide/sleep-disorders-symptoms-types" target="_blank">WebMD Sleep Disorders</a>
<a href="http://www.stress.org/stress-effects/" target="_blank">50 Signs and Symptoms of Stress</a>
<a href="http://www.everydayhealth.com/anxiety-pictures/scary-symptoms-of-stress-0118.aspx#02" target="_blank">Scary Symptoms of Stress</a>
<a href="http://www.mayoclinic.org/healthy-lifestyle/stress-management/in-depth/stress-symptoms/art-20050987" target="_blank">Common Effects of Stress</a>
<a href="http://www.telerik.com/fiddler" target="_blank">Fiddler</a>
Hosted on Acast. See acast.com/privacy for more information.
In episode 3, we continue our four part series about health concerns for software developers (part 1 can be found <a href="http://completedeveloperpodcast.com/episode-2-physical-health-concerns-for-developers/">here</a>). The series will examine multiple aspects of our lives and provide some stumbling blocks and dangers to watch out for as well as tips and tricks to avoid them and stay healthy. We will be following the format of Physical Health, Social Health, Mental Health, and finally Financial Health.
In this episode, we will discuss the social health concerns that often face developers. The specific topics discussed in this episode are the differences between introverts and extroverts, the differences between shy and outgoing (not the same as introvert and extrovert) and how that impacts developers working in different types of offices. Next, we discuss overconfidence and impostor syndrome. After that, we discuss boundaries and how incorrect boundaries cause problems, along with discussing the particular social problems that come up during remote work and e-learning situations.
<h3 style="text-align: center;">LINKS</h3>
<table class="noborder" style="width: 100%; table-layout: fixed; height: auto;">
<tbody>
<tr>
<td>
<h4><a href="https://www.rabbitmq.com/">RabbitMQ</a></h4>
<h4><a href="http://masstransit-project.com/">MassTransit</a></h4>
<h4><a href="http://thethingbox.io" target="_blank">ThingBox</a></h4>
</td>
<td>
<h4><a href="http://www.huffingtonpost.com/2014/10/16/understanding-introverts-_n_5989656.html">Introverts</a></h4>
<h4><a href="https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAAahUKEwiMuI-n3obIAhUJkA0KHXsECag&url=https%3A%2F%2Fchrome.google.com%2Fwebstore%2Fdetail%2Fedge-the-web-ruler%2Fnjlkegdphefeellhaongiopcfgcinikh%3Fhl%3Den&usg=AFQjCNFZ2dfwqE3MEc9UFyVI48RHx7lbjA&sig2=KyzV1uLgM580NqLL7wMMiQ" target="_blank">Edge Web Ruler</a></h4>
<h4><a href="http://www.boundariesbooks.com/" target="_blank">Boundaries Books</a></h4>
</td>
</tr>
</tbody>
</table>
<h3>Editor's Note:</h3>
An error that we caught post production was BJ mispronouncing ThingBox early in the IoTease section.
Hosted on Acast. See acast.com/privacy for more information.
In episode 2 we begin a four part series on health concerns for developers. The series will examine multiple aspects of our lives and provide some stumbling blocks and dangers to watch out for as well as tips and tricks to avoid them and stay healthy. We will be following the format of Physical Health, Social Health, Mental Health, and finally Financial Health.
The specific topics discussed in this episode are obesity/diabetes, back/neck issues, RSI (Repetitive Strain Injuries), Computer Vision Syndrom, and DVT (deep vain thrombosis). We will define each term or disorder then address some of the signs and symptoms, finally we will discuss ways to reduce or avoid the symptoms or treat the problem.
<hr />
<h2 style="text-align: center;">Links</h2>
<table class="center">
<tbody style="text-align: center;">
<tr>
<td style="font-size: 1.5em;"><strong>IoTease and Tricks</strong></td>
<td style="font-size: 1.5em;"><strong>Obesity/Diabetes</strong></td>
</tr>
<tr>
<td><a href="https://www.raspberrypi.org/blog/beer-and-wine-fridge-of-awesomeness/">Beer Fridge</a></td>
<td><a href="http://www.webmd.com/diabetes/guide/type-2-diabetes">Type 2 Diabetes</a></td>
</tr>
<tr>
<td><a href="http://jsonformatter.curiousconcept.com">JSON Formatter</a></td>
<td><a href="http://www.diabetes.org/diabetes-basics/type-2/">www.diabetes.org</a></td>
</tr>
<tr>
<td style="font-size: 1.5em;"><strong>RSI</strong></td>
<td style="font-size: 1.5em;"><strong>Back and Neck Pain</strong></td>
</tr>
<tr>
<td><a href="http://jaoa.org/article.aspx?articleid=2094358">Carpal Tunnel Syndrome</a></td>
<td><a href="http://www.spine-health.com/conditions/neck-pain/workplace-ergonomics-and-neck-pain">Spine-health</a></td>
</tr>
<tr>
<td style="font-size: 1.5em;"><strong>Vision</strong></td>
<td><a href="http://www.osteopathic.org">American Osteopathic Association</a></td>
</tr>
<tr>
<td><a href="http://www.aoa.org/patients-and-public/caring-for-your-vision/protecting-your-vision/computer-vision-syndrome?sso=y">Computer Vision Syndrome</a></td>
<td><a href="http://www.webmd.com/fitness-exercise/stretching-exercises-at-your-desk-12-simple-tips">Desk Stretches</a></td>
</tr>
<tr>
<td><a href="http://www.allaboutvision.com/cvs/irritated.htm">10 Relief Steps</a></td>
<td><a href="http://www.spine-health.com/wellness/ergonomics/simple-office-chair-stretch">Chair Stretches</a></td>
</tr>
</tbody>
</table>
<h4 style="text-align: justify;">Editor's Notes:</h4>
<p style="text-align: justify;">Later in the episode BJ states that AOA stands for <a href="http://www.osteopathic.org">American Osteopathic Association</a>, while this is true and we did use resources from their website the link to <a href="http://www.aoa.org">www.aoa.org</a> is for the American Optometric Association.</p>
Hosted on Acast. See acast.com/privacy for more information.
In this episode we discuss how to talk about technology with non developers such as bosses, customers, or coworkers. We provide seven tips for how to explain yourself and your ideas to those that don't speak geek. These are:
<blockquote>1. Use of analogies
2. Be empathetic: avoid jargon, don't talk down
3. Phrase your statements in terms of how it can help the business
4. Rephrase complaints and requests back
5. Give them an out. If there's still contention
6. Present a solution rather than a problem. Present a symptom, not a problem.
7. Catch them at a good time.</blockquote>
<h3>Links</h3>
<a href="http://js13kgames.com">js13kgames.com</a>
<a href="https://en.wikipedia.org/wiki/Internet_of_Things">Wikipedia on IoT</a>
<a href="http://www.dummies.com/how-to/content/conflict-resolution-summarizing-and-rephrasing-com.html">Rephrasing Blog</a>
Hosted on Acast. See acast.com/privacy for more information.
In this preview episode we use a question and answer format to give some insight into our individual backgrounds and where the show gets its origins. The audio quality is not the best as we were learning to use the equipment and figuring out how to best record and master the show. This was a great learning experience and we both learned a little about the other.
<h3>Links</h3>
<a href="http://www.canakit.com/sparkfun-inventor-s-kit-for-arduino-with-retail-case.html">Canakit</a>
Hosted on Acast. See acast.com/privacy for more information.