Best of Better Programming2022

  1. 1
    Article
    Avatar of btrprogBetter Programming·4y

    Goodbye Electron. Hello Tauri, A Rust-powered Backend Framework

    Electron is a Rust-powered Backend Framework paired with a React frontend to offer an awesome browser-less experience. Tauri is a toolkit that helps developers make applications for the major desktop platforms — using virtually any frontend framework in existence. For completeness, you can find the entire code base for my community project on my Gitlab.

  2. 2
    Article
    Avatar of btrprogBetter Programming·4y

    The Clean Architecture — Beginner’s Guide

    The Clean Architecture is the system architecture guideline proposed by Robert C. Martin. This is one of the guidelines adhered to by software engineers to build scalable, testable, and maintainable software. The Dependency Rule states that the source code dependencies can only point inwards.

  3. 3
    Article
    Avatar of btrprogBetter Programming·4y

    Please, No More Todo Apps — 5 Alternatives for Side Projects and Learning a New Language

    Todo apps are a simple, but an uncreative choice for a side project or as a tool to learn a new language. Here are some alternative ideas you can consider working on for your next side project. These projects are similar-ish enough to TODO apps that they are not meaningfully more difficult to build.

  4. 4
    Article
    Avatar of btrprogBetter Programming·4y

    Solution Architecture: Docs-as-code

    In an age where systems and technology are rapidly evolving, our approach to design and documentation remains stagnant. Documenting the AS-IS architecture is difficult, but not impossible, says Yam Yam Architect.

  5. 5
    Article
    Avatar of btrprogBetter Programming·4y

    What Makes a Senior Developer… Senior?

    Ulas Can Cengiz: What makes a senior developer? Here are some tips for junior developers to help their way up. Designing great software is a challenging process, and I suggest you learn as much as you can about it. When you design great software, everyone you work with will notice it, and they'll try to act like you.

  6. 6
    Article
    Avatar of btrprogBetter Programming·4y

    How to Outperform a 10x Developer

    Focusing on the product trumps coding skills every time, not the least because sometimes not writing new code is the best decision for the product. Writing great quality code fast is a small fraction of all the tasks required to bring a system to production.

  7. 7
    Article
    Avatar of btrprogBetter Programming·4y

    Stop Hiring Software Engineers

    Product engineers (PEs from now on) are easily identifiable in the interview process. Some reservations, anyway, end up in manual mode (eg. There’s no more availability, the price increased, etc. so you need an operator to take care of that.

  8. 8
    Article
    Avatar of btrprogBetter Programming·4y

    The Best Software Engineering Career Paths

    You can be successful in many of them, but you can make many mistakes and surpass all your goals. If you succeed, you will get a lot of respect and credit for your team’s success. It is much easier to get promoted, jump into management, or transition to a PM role in a growing startup.

  9. 9
    Article
    Avatar of btrprogBetter Programming·4y

    My Best Software Architecture Books in 2021

    My Best Software Architecture Books in 2021 With five more recommendations Saber OMRANI 6 days ago · 3 min read Software Architecture is the activity of designing software components and interactions between them. Software is in constant evolution, an architect is responsible for conducting this evolution. The following books are my top 5 as a software srchitect.

  10. 10
    Article
    Avatar of btrprogBetter Programming·4y

    SOLID Principles With (almost) Real-Life Examples in Java

    Each class should have only one sole purpose, and not be filled with excessive functionality. Open-Closed Principle Classes should be open for extension, closed for modification. Interface Segregation Principle Interfaces should not force classes to implement what they can’t do. Dependency Inversion Principle Components should depend on abstractions, not on concretions.

  11. 11
    Article
    Avatar of btrprogBetter Programming·4y

    Eat. Sleep. Code. Repeat? No, Thank You!

    As a React developer, I spend a lot of time with Visual Studio Code. I love creating components in React from predefined templates, linters, and code formatting tools to improve code quality. I often think I will remember everything forever, but unfortunately, it is invalid. That’s why cheat sheets are the answer.

  12. 12
    Article
    Avatar of btrprogBetter Programming·4y

    Write Better React Code Without Conditional Rendering Operators

    ReactJS official documentation explains how to do conditional rendering in React. But in large projects or components, the code is not very readable and maintainable. The problem in React can make the code hard to read and maintain. If your component is small enough, you can do something like this.

  13. 13
    Article
    Avatar of btrprogBetter Programming·4y

    How To Implement a TypeScript Web App With Clean Architecture

    The Ultimate Clean Architecture Template for Typescript Applications is a guide on creating a layer-based typescript project template following the principles of clean architecture medium. The user should be able to change the amount of increment/decrement for a counter. The user's counters should be saved if they close the application and open it again. We need a way to store data locally, i.

  14. 14
    Article
    Avatar of btrprogBetter Programming·4y

    Writing My First Microservice Using Go

    Go is an open source programming language supported by Google. The biggest companies using Go are Google, Netflix, Dropbox, Uber, Meta, Twitch, etc. With Go, you can create cloud & network services, web applications, and command-line interfaces. It’s a great solution to aggregate, collect, store and visualize logs from your applications.

  15. 15
    Article
    Avatar of btrprogBetter Programming·4y

    What I Learned After Interviewing More Than 100 Software Engineers

    Each software company has a unique interview process. A candidate may struggle in one and thrive in another. Prefer open-ended questions where there are many valid solutions. Let the candidate drive the approach. Pretend they are your teammate, and you are solving a problem together.

  16. 16
    Article
    Avatar of btrprogBetter Programming·4y

    The “Real” Clean Architecture in Android: S.O.L.I.D.

    Inheritance is the tightest coupling you can have, bad usage of it leads to highly-coupled and lowly-cohesive code. 99% of the things you want to do with inheritance can be done with composition so you should always favor composition over inheritance. Architecture relying on inheritance is far from being good and clean.

  17. 17
    Article
    Avatar of btrprogBetter Programming·4y

    How to Create Technical Conceptual Diagrams

    Conceptual diagrams are a visual way to show how things work. They help us simplify and make sense of technical ideas of the front-end ecosystem. These diagrams have two key building blocks: concepts and connecting lines with words. To understand JavaScript function, we would need to know concepts like function keyword, parameters and return statement.

  18. 18
    Article
    Avatar of btrprogBetter Programming·4y

    5 JetBrains Plugins To Boost Your Productivity!

    JetBrains IDEs already have a great Git integration that makes it easy to see the changes you’re making. GitLive adds a tool window that shows the collaborators from your repository where you can easily view diffs of the file changes. Code Time is an open source plugin for automatic programming metrics and time tracking.

  19. 19
    Article
    Avatar of btrprogBetter Programming·4y

    The Full-Stack Developers’ Setup for macOS Monterey

    Installing different PHP versions so that we can switch between each one. We already have PHP installed but we need to config apache too for PHP. We edit again the httpd file with the same command. Find ‘mod_rewrite’ module and add the following modules below. Leave uncommented just the module corresponding to the version of PHP used.

  20. 20
    Article
    Avatar of btrprogBetter Programming·4y

    The Micro-Frontends future

    The Future of Micro-Frontends. Luca Mezzalira: I have to understand what are the missing pieces of this puzzle and try to picture what would make this architecture approach even better. The topics covered are taking into account client-side, server-side and edge-side implementations of this architecture.

  21. 21
    Article
    Avatar of btrprogBetter Programming·4y

    How Programmers Waste Money

    People usually think that programmers spend more time writing. With testing, thinking takes more of the time, but it also accelerates the overall speed. Agile methodologies require constant change and updates of the code. The programmer cannot future-proof the code because it infringes on the simplicity principle.

  22. 22
    Article
    Avatar of btrprogBetter Programming·4y

    The Best Git Workflow for Your Software Engineering Team

    Git workflow is the strategy that you follow when you are working with Git. A lone developer’s Git workflow can be as simple as working on a single branch. But when it comes to a team, we need a proper branching strategy. The workflow we follow at our company is closely related to the popular Gitflow workflow.

  23. 23
    Article
    Avatar of btrprogBetter Programming·3y

    Elm — a Beautiful Language for Web Development

    Elm makes it easy to create clean and error-free code compared to other frameworks. The most errors are found at compile time instead of runtime. The syntax is tight, there are no curly brackets, and indentation has meaning (like in Python) Elm encourages writing composable code.

  24. 24
    Article
    Avatar of btrprogBetter Programming·4y

    Optimize WebStorm For Productivity — My Top 5 Extensions

    GitLive adds real-time features such as online presence for team members and instant merge conflict detection. Quokka is a rapid prototyping playground in your editor, with access to your project’s files, inline reporting, code coverage and rich output formatting. Protobuf provides complete protobuf support.

  25. 25
    Article
    Avatar of btrprogBetter Programming·3y

    How I Split a Monolith Into Microservices Without Refactoring

    How I Split a Monolith into Microservices Into Microservices Without Refactoring is how I split a monolith into microservices without refactoring. The idea of a modular monolith is definitely not new, but gains more attention as opposition to microservices. There are many ways (patterns) to organize a microservice architecture.