32 Opinionated Advice and Lessons Learned in Software Development

32 Opinionated Advice and Lessons Learned in Software Development

Useful advice for any developer. For the past few years, I’ve been developing software professionally for both small and large clients. Some of the software has been used in very strict environments where safety and reliability were of highest concern.

For the past few years, I’ve been developing software professionally for both small and large clients. Some of the software has been used in very strict environments where safety and reliability were of highest concern.

I’ve compiled a list of useful advice based on my experience thru the years. Without further ado, here’s my opinionated list of advice, lessons learned, and best practices.

  1. It’s okay to write trash code sometimes. Not all parts of your application are born equal.
  2. You don’t need to learn a new language to learn new things. The same thing can most often be done in many languages. Prefer depth over breadth.
  3. Write throw-away-code to test different approaches. Just don’t let the throw-away-code become production code.
  4. Code defensively.
  5. Do you remember the method parameter that you thought would never be null? Yeah, it turned out to be null anyway and your application exploded. Just write those guard clauses and get it over with.
  6. Never. Ever. Hardcode application settings. Write configurable components and pass environment variables to them. It’s easier to restart an application than to recompile and redeploy.
  7. Write code that’s easy to test. That means stop “newing” up a database object inside your command handler, service class, etc. Instead, turn it into a dependency.
  8. Only throw exceptions when exceptional things happen.
  9. Learn suitable substitutions for If-Else. If-Else is often overused and an early sign of poor design. Lots of design patterns remove the need for If-Else statements.
  10. Not every IF needs an ELSE IF or ELSE. IFs by themselves are fine and often encouraged.
  11. Refactoring means refactoring. Do not try to add new functionality while you’re on a refactor crusade. It won’t end well.
  12. When you identify trash code, take some time to clean it up and make it better — whatever “better” means in the specific context.
  13. If you’re not learning design patterns, you’ll have a difficult time. They’re everywhere and recognizing them makes your life easier.
  14. Applying design patterns will most likely improve your code.

web-development software-development programming software-engineering technology

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Offshore Software Development - Best Practices

To make the most out of the benefits of offshore software development, you should understand the crucial factors that affect offshore development.

Software Developer vs Software Engineer — Differences: Bogus or Real?

In this article, see if there are any differences between software developers and software engineers. What you’re about to read mostly revolves around my personal thoughts, deductions, and offbeat imagination. If you have different sentiments, add them in the comment section, and let’s dispute! So, today’s topic…

Software Developer vs Web Developer | Difference Web Developer & Software Developer

Software Developer vs Web Developer | Difference Web Developer & Software Developer | Software development and web development are normally used interchangeably. Although both include development, a software developer has different responsibilities from that of a web developer.

Developer or Engineer? Does It Make a Difference?

To summarise the main differences between the software developer and engineer: A developer executes. ... So the software developer is mainly focused on developing code that is a part of software development cycle. An engineer designs and plans applying the principles of engineering to software development.

ERP Software Services, POS Software Services , Application Development

Vinew Technologies focused majorly over ERP Software services and POS Software services, Web & Application development services & Woo commerce and Wordpress easy-to-use, multipurpose social media plugin for WordPress.