Programming & Tech

Fix, build, and tweak with Buxonline developers — WordPress, websites, and code jobs from $1.

About programming & tech

Programming and tech work encompasses writing, modifying, and maintaining software, building systems that run on servers or in the cloud, creating databases that store and retrieve information, and integrating different technologies so they communicate reliably. It includes backend development that handles logic and data invisible to users, frontend work that constructs the interface people interact with, mobile applications for iOS and Android, scripts that automate repetitive tasks, and APIs that let one system talk to another. The work also covers debugging existing code, optimising performance so applications respond faster or handle more users, and configuring infrastructure so software runs securely at scale.

Doing this work well means writing code that other people can read and modify months later, choosing appropriate tools and frameworks rather than forcing a favourite into every situation, anticipating edge cases that break assumptions, and structuring systems so a failure in one part does not cascade. It means understanding trade-offs between speed of delivery and technical debt, writing tests that catch regressions before users do, and documenting decisions so future maintainers understand why something was built a certain way. Poor work often runs initially but becomes unmaintainable, scales badly under load, exposes security vulnerabilities, or depends on undocumented assumptions that break when circumstances change. The difference emerges over time, when requirements evolve or the system needs to handle ten times the original traffic.

Guides related to programming & tech

Programming & Tech — questions and answers

What happens when code written in one language needs to interact with a system built in another?
You typically use APIs, libraries with foreign function interfaces, or inter-process communication protocols like gRPC or message queues. Each language exposes functions or endpoints the other can call, often exchanging data in JSON, XML, or Protocol Buffers. The challenge lies in matching data types, handling errors across boundaries, and managing performance when serialisation adds overhead.
How do you decide whether to build something from scratch or use an existing library?
Consider maintenance burden, licensing constraints, whether the library solves your exact problem or introduces bloat, and how actively it's maintained. A library saves time initially but adds a dependency you do not control. Building from scratch takes longer but gives full control and avoids inheriting someone else's bugs or abandoned code. Evaluate based on complexity and criticality.
What does it mean when code is described as tightly coupled, and why does that matter?
Tightly coupled code means components depend heavily on each other's internal details, so changing one requires changing several others. It makes testing difficult because you cannot isolate parts, slows development because modifications ripple unpredictably, and increases bug risk. Loose coupling uses interfaces or abstractions so components interact through defined contracts, making each independently replaceable or testable.
Can software written for Linux run on Windows without modification?
Rarely without adjustment. Differences in file paths, line endings, case sensitivity, available system calls, and library locations usually require changes. Code written in interpreted languages like Python or JavaScript often runs with minimal tweaking if dependencies are cross-platform, but compiled languages need recompilation and sometimes conditional code for platform-specific behaviour. Containers or virtual machines can bypass some issues.
Why would a database query that worked fine suddenly become slow as data grows?
Without proper indexes, the database scans every row to find matches, which scales poorly. A query returning ten results from a thousand rows feels instant; from ten million rows it times out. Missing indexes, inefficient joins, or queries fetching unnecessary columns all degrade as volume increases. Execution plans change when statistics update, sometimes choosing worse strategies. Regular analysis and indexing prevent this.
What distinguishes a REST API from a GraphQL API in practice?
REST APIs use multiple endpoints, each returning fixed data structures, so clients often over-fetch or make multiple requests. GraphQL uses a single endpoint where clients specify exactly which fields they need, reducing round trips and bandwidth. REST is simpler to cache and reason about; GraphQL offers flexibility but adds complexity in query parsing, security, and preventing expensive queries that strain servers.