Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
Post History
Firstly, the technology stack of a commercial project should be selected based on several different decision factors. Staff availability is paramount. The developers, QA and associated team m...
Answer
#3: Post edited
- Firstly, the technology stack of a commercial project should be selected based on several different decision factors.
- * Staff availability is paramount. The developers, QA and associated team members must have a mastery of the technology for the project. For growing projects, new team members must be available for hire in the greater community. This rule often constrains the choices to relatively mature and popular technologies.
* Industry trends should be considered. Companies need to keep up with technology or risk becoming irrelevant. This goal is increasing difficult as the pace of technological change continues to accelerate. New technologies should be considered and folded into the tech stack at the right time.* Unique tools should be considered for the problem. It may be that one tech stack is better for the job at hand but not currently used in-house. Machine Learning is heavily influenced by the python community for example. In general, python would be a better choice than NodeJS for ML project due to this factor.- * Time to market can sometimes dominate. Budget constraints and delivery pressure can push a project to use the incumbent technologies. This is usually a facet of the staff availability metric as the local team will have mastery of certain technologies.
- For hobby projects the rules are much more relaxed. I would choose on a couple of factors.
- * Personal interest. There are a myriad of IT technologies available. No one can master even a fraction of them so we all have to choose our areas of interest. For example, in recent years I have started learning, Python, NodeJS, client side JS, HTML, CSS, React (with hooks), C++ 17/20, Mongo, Electron, Kafka and just recently Elixir.
- * Industry trends. From a career perspective learning new tech is almost a certain win. I invariably end up using technologies that I have self-taught for profit. Management likes to see an eagerness to learn in software engineers so raises and promotions are possible. If the current project ends then having a wide range of skills is very marketable.
- For you hobby project, dump all the stuff you know and write it in new-to-you tech! Mongo, Python and React would be fun and perhaps profitable for example. Your simple description is less than a days work in these technologies. Host it on Heroku or one of the AWS services. Get a domain name, sort out DNS, port management and HTTPS with Let's Encrypt. Understand encryption and website vulnerabilities in your password scheme. Play around with websockets vs REST.
- Most of all, have fun, it is a hobby after-all :)
- Firstly, the technology stack of a commercial project should be selected based on several different decision factors.
- * Staff availability is paramount. The developers, QA and associated team members must have a mastery of the technology for the project. For growing projects, new team members must be available for hire in the greater community. This rule often constrains the choices to relatively mature and popular technologies.
- * Industry trends should be considered. Companies need to keep up with technology or risk becoming irrelevant. This goal is increasingly difficult as the pace of technological change continues to accelerate. New technologies should be considered and folded into the tech stack at the right time.
- * Unique tools should be considered for the problem. It may be that one tech stack is better for the job at hand but not currently used in-house. Machine Learning is heavily influenced by the python community for example. In general, python would be a better choice than NodeJS for an ML project due to this factor.
- * Time to market can sometimes dominate. Budget constraints and delivery pressure can push a project to use the incumbent technologies. This is usually a facet of the staff availability metric as the local team will have mastery of certain technologies.
- For hobby projects the rules are much more relaxed. I would choose on a couple of factors.
- * Personal interest. There are a myriad of IT technologies available. No one can master even a fraction of them so we all have to choose our areas of interest. For example, in recent years I have started learning, Python, NodeJS, client side JS, HTML, CSS, React (with hooks), C++ 17/20, Mongo, Electron, Kafka and just recently Elixir.
- * Industry trends. From a career perspective learning new tech is almost a certain win. I invariably end up using technologies that I have self-taught for profit. Management likes to see an eagerness to learn in software engineers so raises and promotions are possible. If the current project ends then having a wide range of skills is very marketable.
- For you hobby project, dump all the stuff you know and write it in new-to-you tech! Mongo, Python and React would be fun and perhaps profitable for example. Your simple description is less than a days work in these technologies. Host it on Heroku or one of the AWS services. Get a domain name, sort out DNS, port management and HTTPS with Let's Encrypt. Understand encryption and website vulnerabilities in your password scheme. Play around with websockets vs REST.
- Most of all, have fun, it is a hobby after-all :)
#2: Post edited
- Firstly, the technology stack of a commercial project should be selected based on several different decision factors.
- * Staff availability is paramount. The developers, QA and associated team members must have a mastery of the technology for the project. For growing projects, new team members must be available for hire in the greater community. This rule often constrains the choices to relatively mature and popular technologies.
- * Industry trends should be considered. Companies need to keep up with technology or risk becoming irrelevant. This goal is increasing difficult as the pace of technological change continues to accelerate. New technologies should be considered and folded into the tech stack at the right time.
- * Unique tools should be considered for the problem. It may be that one tech stack is better for the job at hand but not currently used in-house. Machine Learning is heavily influenced by the python community for example. In general, python would be a better choice than NodeJS for ML project due to this factor.
- * Time to market can sometimes dominate. Budget constraints and delivery pressure can push a project to use the incumbent technologies. This is usually a facet of the staff availability metric as the local team will have mastery of certain technologies.
- For hobby projects the rules are much more relaxed. I would choose on a couple of factors.
- * Personal interest. There are a myriad of IT technologies available. No one can master even a fraction of them so we all have to choose our areas of interest. For example, in recent years I have started learning, Python, NodeJS, client side JS, HTML, CSS, React (with hooks), C++ 17/20, Mongo, Electron, Kafka and just recently Elixir.
- * Industry trends. From a career perspective learning new tech is almost a certain win. I invariably end up using technologies that I have self-taught for profit. Management likes to see an eagerness to learn in software engineers so raises and promotions are possible. If the current project ends then having a wide range of skills is very marketable.
For you hobby project, dump all the stuff you know and write it in new-to-you tech! Mongo, Python and React would be fun and perhaps profitable for example. You simple description is less than a days work in this technologies. Host it on Heroku or one of the AWS services. Get a domain name, sort out DNS, port management and HTTPS with Let's Encrypt. Understand encryption and website vulnerabilities in your password scheme. Play around with websockets vs REST.- Most of all, have fun, it is a hobby after-all :)
- Firstly, the technology stack of a commercial project should be selected based on several different decision factors.
- * Staff availability is paramount. The developers, QA and associated team members must have a mastery of the technology for the project. For growing projects, new team members must be available for hire in the greater community. This rule often constrains the choices to relatively mature and popular technologies.
- * Industry trends should be considered. Companies need to keep up with technology or risk becoming irrelevant. This goal is increasing difficult as the pace of technological change continues to accelerate. New technologies should be considered and folded into the tech stack at the right time.
- * Unique tools should be considered for the problem. It may be that one tech stack is better for the job at hand but not currently used in-house. Machine Learning is heavily influenced by the python community for example. In general, python would be a better choice than NodeJS for ML project due to this factor.
- * Time to market can sometimes dominate. Budget constraints and delivery pressure can push a project to use the incumbent technologies. This is usually a facet of the staff availability metric as the local team will have mastery of certain technologies.
- For hobby projects the rules are much more relaxed. I would choose on a couple of factors.
- * Personal interest. There are a myriad of IT technologies available. No one can master even a fraction of them so we all have to choose our areas of interest. For example, in recent years I have started learning, Python, NodeJS, client side JS, HTML, CSS, React (with hooks), C++ 17/20, Mongo, Electron, Kafka and just recently Elixir.
- * Industry trends. From a career perspective learning new tech is almost a certain win. I invariably end up using technologies that I have self-taught for profit. Management likes to see an eagerness to learn in software engineers so raises and promotions are possible. If the current project ends then having a wide range of skills is very marketable.
- For you hobby project, dump all the stuff you know and write it in new-to-you tech! Mongo, Python and React would be fun and perhaps profitable for example. Your simple description is less than a days work in these technologies. Host it on Heroku or one of the AWS services. Get a domain name, sort out DNS, port management and HTTPS with Let's Encrypt. Understand encryption and website vulnerabilities in your password scheme. Play around with websockets vs REST.
- Most of all, have fun, it is a hobby after-all :)
#1: Initial revision
Firstly, the technology stack of a commercial project should be selected based on several different decision factors. * Staff availability is paramount. The developers, QA and associated team members must have a mastery of the technology for the project. For growing projects, new team members must be available for hire in the greater community. This rule often constrains the choices to relatively mature and popular technologies. * Industry trends should be considered. Companies need to keep up with technology or risk becoming irrelevant. This goal is increasing difficult as the pace of technological change continues to accelerate. New technologies should be considered and folded into the tech stack at the right time. * Unique tools should be considered for the problem. It may be that one tech stack is better for the job at hand but not currently used in-house. Machine Learning is heavily influenced by the python community for example. In general, python would be a better choice than NodeJS for ML project due to this factor. * Time to market can sometimes dominate. Budget constraints and delivery pressure can push a project to use the incumbent technologies. This is usually a facet of the staff availability metric as the local team will have mastery of certain technologies. For hobby projects the rules are much more relaxed. I would choose on a couple of factors. * Personal interest. There are a myriad of IT technologies available. No one can master even a fraction of them so we all have to choose our areas of interest. For example, in recent years I have started learning, Python, NodeJS, client side JS, HTML, CSS, React (with hooks), C++ 17/20, Mongo, Electron, Kafka and just recently Elixir. * Industry trends. From a career perspective learning new tech is almost a certain win. I invariably end up using technologies that I have self-taught for profit. Management likes to see an eagerness to learn in software engineers so raises and promotions are possible. If the current project ends then having a wide range of skills is very marketable. For you hobby project, dump all the stuff you know and write it in new-to-you tech! Mongo, Python and React would be fun and perhaps profitable for example. You simple description is less than a days work in this technologies. Host it on Heroku or one of the AWS services. Get a domain name, sort out DNS, port management and HTTPS with Let's Encrypt. Understand encryption and website vulnerabilities in your password scheme. Play around with websockets vs REST. Most of all, have fun, it is a hobby after-all :)