Real world software development practices

I have been into software development since last 2 years working on
maintenance projects that use very old vb6 language and all the projects follow just “fix bug and build exe” kind of methodology.
I want to learn new software development practices that makes projects easy to manage and test and are currently in use in real world software projects.
Request you to please share some resources/bootcamps where i can learn better real world software development practices.

Thanks in advance.
Ramesh

Hard to say what exactly might be useful to you, so here’s a list of concepts you can google to get you started:

  • version control (git is popular)
  • change/configuration management processes
  • unit and integration testing
  • continuous build, test, and integration processes
  • technical debt and refactoring

Also, if you have the skills and time, consider hooking up with an open source project and seeing how it’s actually done. There’s nothing like real world experience to learn from.

jrm

It’s not fully clear what you currently know beyond having 2 years of experience working with VB6 on what sounds like an existing stack.

So I’ll throw out what I know of the current “modern” way to develop software. You might be doing part of it, or some of it, or none of it. You also might not be able to do most of it because it is usually very radical shift that requires company buy-in to work properly, it isn’t something one person can just “do” on their own most of the time.

The “method” I’m talking about is DevOps.

A DevOps approach to building software at the highest level is all about optimizing the process of building software. This means the time between getting an idea/problem, and getting the solution to end-users is as fast and optimized as possible. This leads to a lot of “DevOps” technologies that can help optimize that process as much as possible. This also means integrating all parts of the company into the process, from developers, security, operations, to even business people.

To help manage a project, you’d optimize what you can. You’d write testing for your code to prevent regression that is automatically checked all the time, and continuously integrate your changes with your co-workers. If done correctly, you could deploy your changes to QA/testing personal who then could have their own automated tests/checks to further optimize their review, and possibly continuously deploy changes to end users.

This shortened lead time means the company as a whole can adapt and change as it needs to to meet end user demands and empower them to increase their market share.

I learned about DevOps, and bought into the idea after reading The Phoenix project. It reads well and is a novel, so its vastly more entertaining to read than most sources about software development.

There’s also classics such as: Clean Code, and The Mythical Man Month.

However in general most of these sorts of books don’t focus on specific technologies, only the ideas behind each technology.

Good luck, keep learning, keep building :+1:

For design patterns, you could search for open-source projects in VB on Github and see how they setup their applications. There are still old VB design pattern books you or your employer could purchase (if they’re not sitting around the office already):

Visual Basic Design Patterns VB 6.0 and VB.NET
ISBN-13: 978-0201702651
ISBN-10: 0201702657

Professional Design Patterns in VB .NET: Building Adaptable Applications (Expert’s Voice)
ISBN-13: 978-1590592748
ISBN-10: 1590592743

I worked on one VB application at a job and it was not MVC, it was a Windows Form application, so it might help more for Design Patterns to read a VB.NET book.

[EDIT]
Microsoft still supports Visual Basic, including .NET Core. They have good documentation: Visual Basic docs - get started, tutorials, reference. | Microsoft Docs

The books mentioned above might help with the apps you are supporting, but if you want to build something more up-to-date you could build one of the example apps and deploy it on Azure with a free account, following the other guides on setting up source control, deployment, CI/CD. If you can build a REST API in VB.NET I’d recommend trying that and then building a single-page-application with React/Vue/Angular etc since that’s closer to the current state of the art.