BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Artifacts & Tools Content on InfoQ

  • What Software Developers Can Do to Prevent Forgetting or Overlooking Things

    According to Ilian Iliev, software developers tend to forget to do things they do not have to think about every day, which can cause delays or impact the functionality of the product during a software project. To prevent overlooking something, he suggested starting early with automating deployment, setting up error logging, and using lists and reminders of things that were forgotten previously.

  • The Upsides and Downsides of Open Source Adoption

    Benefits of open source projects are supporting rapid innovation, the flexibility provided to customize and adapt tools, and transparency of the code which can enhance security efforts. The downsides are that security by obscurity doesn’t apply, open source is potentially prone to abuse, and when open source tools are not backed up by companies, it might result in a lower level of maintainability.

  • The Value of Repaying Good Technical Debt

    Bad technical debt is the stuff that has been lingering around; teams need to work around it or fix the fallout as a consequence of this bad technical debt. Good technical debt is intentional, enables benefits for the organisation, and is controlled. Teams can use a disciplined approach for managing and repaying technical debt, for instance by using the wall of technical debt.

  • Applying the Analytic Hierarchy Process for Tech Decisions

    The analytic hierarchy process uses pairwise comparisons and scoring for criteria between the alternatives to give insights into what the best option is and why. John Riviello spoke about applying the analytic hierarchy process to decide what JavaScript framework to use at QCon New York 2023.

  • How to Create a UI That's Both Robust and User Friendly

    The key challenge in building UIs is balancing ease of use and maintainability, with scale and complexity. It requires thoughtful component design and an understanding of common usage paths to create a UI that's both robust and user-friendly. Automation can be a game-changer when it comes to improving efficiency and consistency in your codebase.

  • A Ruthless Approach for Better Security by Identifying Key Risks and Ignoring Others

    Risk management techniques can be used to decide which security and privacy aspects are important. You can simplify the risk impact calculations by identifying low, medium and high and critical losses, and by taking likelihoods from the industry to do likelihood calculations. This helps you to identify a few key risks, and ruthlessly ignore the rest.

  • Sustainable Software Systems Using Circular Economy Principles

    The circular economy is a framework that aims to keep products and materials in use for as long as possible, reducing waste and pollution, and regenerating natural systems. As practitioners or change enablers, we can support sustainable product development using concepts from the circular economy in our daily work.

  • A Culture of Continuous Experimentation: Learnings from QCon New York

    At QCon New York 2023, Sarah Aslanifar presented Building a Culture of Continuous Experimentation. She showed how fostering a culture of continuous experimentation and leveraging the principle of continuous learning can drive efficiency, eliminate waste, and improve product outcomes.

  • Testing across a Large Number of Inputs with Property-Based Testing

    Property-based testing is an approach that involves specifying statements that should always be true, rather than relying on specific examples. It enables you to test functions across a large number of inputs with fewer tests. Every run of a property-based test will use different inputs, which can give you confidence your code works in a general case.

  • What Software Developers Can Do to Learn Effectively

    Software developers are constantly learning new languages, frameworks, tools, and techniques. It can be challenging to decide which topic to learn, estimate our competence level, prevent becoming overwhelmed, and keep our learning effective. For better learning, break it down into realistically sized phases, and repeat the same topic several times to really get to experience it properly.

  • Leading in Hybrid and Remote Environments: Skills to Develop and Tools That Can Help

    Leading in hybrid and remote environments requires that managers develop new skills like coaching, facilitation, and being able to do difficult conversations remotely. With digital tools, we can include less dominant and more reflective people to get wider reflections from different brains and personalities. This can result in more diverse and inclusive working environments.

  • Improving Web Accessibility with Semantic HTML and Testing Techniques and Tools

    Web accessibility benefits all of us. Designers, developers, and testers can check for web accessibility and can make the web and services more inclusive, for instance by using semantic HTML, following web standards when coding, and testing for web accessibility. Countries are introducing regulations to enforce inclusive standards.

  • How to Test Low Code Applications

    For low code applications there are technical things you don’t have to test, like the integration with the database and the syntax of a screen. But you still have to test functionally, to check if you’re building the right thing. End-to-end testing and non-functional testing can be very important for low code applications.

  • Applying Observability to Increase Delivery Speed and Flow in Teams

    When we design team and departmental processes, we want to know what’s happening in the software teams. Asking team members to provide information or fill in fields in tools adds a burden and distorts reality. Setting up observability in the software can provide alternative insights in a less intrusive way. Observability in the software can be an asset to organizing teams.

  • How Developer Enablement Brings Benefits to Software Organizations

    Developer enablement is about tools and approaches that can greatly increase the potential we can have as individuals. It can have an impact on productivity and happiness, on profits and retention. Developer tools make it easier for engineers to deploy products, enabling them to focus on building a product.

BT