Skip to content
SparkTime, home
Topic · 137 pieces · page 3 of 8

Software Engineering

Architecture, backend, practices and lessons from production.

Earlier in Software Engineering

Page 3 of 8

Technology

13 min read

Streams in Practice (and When Not to Use Them)

How to process collections declaratively with Java Streams: filter, map, flatMap, sorted, reduce and collect, grouping and partitioning, why streams are lazy and single-use, what parallel streams really cost, and an honest guide to when a plain loop is the better choice.

Technology

12 min read

Lambdas, Functional Interfaces and Method References

How Java lets you pass behaviour as a value: lambda expressions, functional interfaces and the standard Predicate, Function, Consumer and Supplier, the four kinds of method reference, composing functions, why captured variables must be effectively final, and how lambdas replace the older anonymous classes.

Technology

13 min read

Generics: Type Safety, Wildcards and Erasure

What the angle brackets mean and why they exist. Generic classes and methods, bounded types, why List of Integer is not a List of Number, wildcards with extends and super, the PECS rule that makes them make sense, and type erasure with its practical consequences.

Technology

12 min read

Ordering, Queues and Choosing a Collection

How to sort objects with Comparable and Comparator, how queues, deques and priority queues work, why ArrayDeque replaces the legacy Stack, and a decision guide with complexity and memory trade-offs for choosing the right collection.

Technology

14 min read

Maps and How HashMap Works

How Java stores key-value pairs, and how HashMap finds a value in constant time: hashing, buckets, collisions, resizing and treeification, explained with a small map you build yourself. Plus LinkedHashMap, TreeMap, the everyday Map methods, and the mistakes that corrupt a map.

Technology

12 min read

Lists and Sets

How Java's collections framework is organised, how ArrayList and LinkedList really differ, what makes a Set unique, how to remove items safely while iterating, and the confusing differences between List.of, Arrays.asList and unmodifiable views. Includes sequenced collections from Java 21.

Technology

12 min read

Exceptions: Handling Errors Properly

How Java reports and handles errors: the exception hierarchy, checked versus unchecked exceptions and why opinions differ, try, catch, finally and try-with-resources, custom exceptions, exception chaining, and the habits that separate good exception handling from swallowed errors.

Technology

12 min read

Enums, Records and Sealed Types

How to model data precisely in modern Java: enums for fixed sets of values, records for immutable data carriers, and sealed types with pattern matching for a closed set of alternatives. Each is introduced from the bug it prevents, and compared with the older style you will still see.

Technology

13 min read

Strings, StringBuilder, Text Blocks and Time

Why Java strings are immutable and what the string pool really is, when to use StringBuilder, how Unicode makes length surprising, how text blocks and formatting work, and how to handle dates and times with java.time instead of the old Date and Calendar. Includes testable time with Clock.

Technology

12 min read

equals, hashCode, toString and the Object Contract

Why two objects that look identical are not equal by default, what == really compares, how to write equals and hashCode correctly, why mutable keys break HashSet and HashMap, and how immutability makes all of this safer. Includes the Integer cache surprise and the contracts interviewers ask about.

Technology

13 min read

Interfaces, Polymorphism and Composition

Starting from a payment system full of if-else branches, this article shows why interfaces and polymorphism exist, how abstract classes differ from interfaces, what default methods are for, and why composition usually beats inheritance. It also previews the idea behind dependency injection.

Technology

11 min read

Inheritance, Overriding and Overloading

How one Java class can build on another, how overriding changes behaviour at runtime, how overloading is chosen at compile time, and why inheritance is easy to misuse. With the constructor-order trap, field hiding and the exact differences interviewers ask about.

Technology

12 min read

Classes, Objects and Encapsulation

Why object-oriented programming exists and how Java expresses it: classes as blueprints, objects as instances, constructors, access modifiers, static versus instance members, and encapsulation as a way to protect the rules of your data. Built around a bank account that cannot go wrong.

Technology

13 min read

Decisions, Loops, Methods and Scope

How to make a Java program choose and repeat: if, switch (old statement and modern expression), the loop forms, and how to organise code into methods. Includes the pass-by-value rule that interviewers love and the scope rules that cause mysterious compile errors.

Technology

15 min read

Variables, Types, Operators and Arrays

How Java stores and combines data: primitive types versus references, what happens when a number overflows, why integer division surprises people, how casting and conversion work, when to use var, and how arrays hold a fixed number of values.

Technology

15 min read

Start Here: What Java Is, How It Runs and Your Roadmap

What Java actually is, how a .java file becomes a running program, what the JDK, JRE and JVM each do, and how to compile and run your first program. Plus the full roadmap of this 41-article course, from zero to a tested Spring Boot API.

Technology

14 min read

System Design Interview Practice Plan and Job-Ready Checklist

Turn the course into interview performance: an eight-week practice plan, how to run timed solo drills and mock interviews, a self-scoring rubric that separates SDE-1 and SDE-2 expectations, a drill sheet for the twelve classic problems, ten new practice problems to test transfer, common failure patterns, and the complete job-ready checklist.