Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

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

81%
+7 −0
Q&A How to choose backend technology for my project?

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...

posted 4y ago by Matthewericfisher‭  ·  edited 4y ago by Matthewericfisher‭

Answer
#3: Post edited by user avatar Matthewericfisher‭ · 2021-01-15T01:13:08Z (almost 4 years ago)
  • 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 by user avatar Matthewericfisher‭ · 2021-01-07T00:00:06Z (almost 4 years ago)
  • 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 by user avatar Matthewericfisher‭ · 2021-01-04T14:35:15Z (almost 4 years ago)
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 :)