Articles

branching strategies chart End-of-Release Branching Strategies

This two-part article explores branching strategies—development tactics that allow teams to work concurrently on different features and maintain the relationship between them. In part one, Steve Berczuk explains what branches are, common types of them, and the tradeoffs between branching styles.

Steve Berczuk's picture Steve Berczuk
taking notes Test Software before You Code

Testing doesn't have to begin after the code has been written. In this column, Jeff Patton resurrects the oldest and most overlooked development technique, which can be used to test a product before any piece of it materializes.

Jeff Patton's picture Jeff Patton
settings database table How to Merge XML Data with a Database

In his article "Data Crunching Tips and Techniques," Greg Wilson taught us how to translate legacy data into XML. In the second half, he explains how to merge new data into an existing database. Developers will always face these types of data crunching problems, and knowing the standard data crunching tools can save you a lot of time. Greg also shares the basic knowledge about relational databases that every developer should possess.

Greg Wilson

Better Software Magazine Articles

cyber thief What if Someone Steals Your Code?

Bob Zeidman, an expert in software forensics, provides a great overview of how to protect your software from predators. You'll learn the difference between copyrights, trade secrets, and patents.

Bob Zeidman's picture Bob Zeidman
The Rules for Writing Maintainable Code

We've all been burned working with software code that, if not designed for long-term maintainability, results in expensive support over a product's lifetime. Kaushal explores three approaches that provide guidelines to ensure that software is designed with maintainability in mind. If you're a software developer, read this!

Kaushal Amin's picture Kaushal Amin
Alternative JVM Languages For Java Projects

Java Virtual Machine has become a successful platform for applications written in many languages, not just Java. Alternatives like JRuby, Scala, Clojure, and Groovy can be more concise and offer new ways to approach problems.

Daniel Wellman's picture Daniel Wellman
An Introduction to Scala

Scala is a programming language that blends functional and object-oriented language features. Scala programs run on the Java Virtual Machine and can easily interact with Java code. Learn how Scala can yield concise, safe, and compatible code and how you can start learning Scala on your own.

Daniel Wellman's picture Daniel Wellman

Conference Presentations

Mobile Dev Test Connected Devices, Connected Code, and Connected Teams: The Challenges of IoT Software Delivery
Slideshow

Developing software for the Internet of Things (IoT) comes with its own set of challenges and issues, including security, privacy, and unified standards. Each IoT product is comprised of (at least) three separate application components: the software embedded in the device, the backend...

Anders Wallgren
Mobile Dev Test IoT—Let’s Code Like It’s 1999!
Slideshow

Everyone is drawn to the cool new ways to connect devices to the Internet and make life easier—and a little more futuristic. But, do you know that IoT has been around since the past century? Theresa Lanowitz is one of the early advocates of what is now IoT and is thrilled that the pace of...

Theresa Lanowitz
Collocated West Logo The Soft Skills of Great Software Developers
Slideshow

Are you creating clean, high performing code? Are you following the right development practices, but still don’t feel you are getting the recognition or success you deserve? The truth is that working harder and improving your programming skills are not enough. Great developers must...

Raul Suarez
When Code Cries: Listening to Code
Slideshow

What is the best way to learn a new programming language or improve coding skills with the language you already use? Cory Foy has developed a new method for learning—and teaching—new programming languages and improving programmer expertise on their current languages. 

Cory Foy, Cory Foy, LLC

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.