TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What tech stack would you choose to bootstrap a side project in 2020?

12 pointsby yagodragonover 5 years ago
I&#x27;m a college student trying to choose a language&#x2F;framework to build some side projects. Other than the classic CS languages(java,python,c&#x2F;c++), I&#x27;ve learned some JS and Vue.js and now I&#x27;m looking into a proper backend language and framework.<p>After searching online and asking friends I&#x27;ve gathered some feedback on the most popular solutions.<p>Rails: Proven and mature. 3rd party gems that can help you with anything web-related. The ecosystem is thriving and most developers are happy using it.<p>Laravel: Made PHP cool again. Took lessons from Rails and probably provides the best Developer Experience when it comes to building a monolith app from development to deployment. PHP is also the most popular backend language.<p>Django: People love python. I hear that Django Rest Framework is a great tool, plus, the ability to add ml features on your existing app is a big plus.<p>Node.js: Full-stack Javascript is great but the backend landscape is a mess. Probably a thin backend without complex rails-like structure.<p>Phoenix&#x2F;Go&#x2F;Rust: Good options for specific use cases where performance matters.<p>Java&#x2F;C#: Complex and enterprisey. C# is gaining traction but the 3rd party ecosystem is still lacking behind other options.<p>Backendless: SPAs, Next.js&#x2F;Nuxt.js&#x2F;Ember, JAMstack. Use services like Firebase&#x2F;Auth0 and 3rd party APIs for backend logic or serverless functions.<p>What would you suggest someone learn in 2020? I know the answer is &quot;it depends&quot; but I know that for example Rails, Laravel and Django are basically tools for the same job, building CRUD applications on the server. Would you suggest someone to learn Ruby or PHP in 2020, though many consider them dead?

11 comments

mindcrimeover 5 years ago
It doesn&#x27;t matter. Pin a bunch of names on a dart board, throw a dart, and pick the one closest to the dart. Seriously, it really just doesn&#x27;t matter. Not even a little bit. At least not in terms of whether or not your side project succeeds. You will NOT succeed or fail based on whether you chose Node over Ruby, or Java over Erlang, or Angular over React, or PostgreSQL over MySQL, or Mongo over CouchDB, etc., etc., yada, yada, yada.<p>Now if the question you&#x27;re really asking is &quot;which one should I learn from a long-term career standpoint?&quot; or something along those lines, the equation changes a little bit. BUT even there, the simple reality is, you can be gainfully employed, making good money, doing fun work, using any technology you listed, and plenty you didn&#x27;t.<p>If you&#x27;re coming at it from the career &#x2F; long-term perspective, and want an objective measure, then scan the job boards, and see what you find the most open reqs for. Go with that. Otherwise, pick two or three off your list, dabble in each, and see which one feels right to you.<p>The only thing I&#x27;d explicitly advice against is going with something really outside the (modern) mainstream, like COBOL, or some really new&#x27;ish languages which may or may not catch on (Nim, something like that), or any &quot;esoteric&quot; languages: Brainfuck, Intercal, Whitespace, Befunge, etc.<p>As to what <i>I</i> personally would pick? Groovy and Grails, along with PostgreSQL, and one of the popular JS frameworks for front-end (React, Vue, Angular, etc.). But that&#x27;s just down to familiarity and personal preference.<p>Edit: let me add one bit of clarification... I don&#x27;t mean to slag Nim, or any of the other newer&#x27;ish languages. And I don&#x27;t mean &quot;don&#x27;t learn it&quot; in the general sense. I just wouldn&#x27;t &quot;bet the farm&quot; one of those just yet. By all means, dabble with lots of different languages, and constantly pay attention to how they are evolving over time, and how they are (or are not) gaining industry acceptance.
omarhaneefover 5 years ago
If I wanted to answer your question, I would basically repeat everything you said. Not sure what you need to know beyond what you know. It depends, and depending on your use case you should pick from the options you laid out for the reasons you laid out!<p>Having said all that, obviously the right answer is Django.
otrasover 5 years ago
What are your goals?<p>If your goal is to build something to have a product&#x2F;service&#x2F;business, build what you know. That will let you build and iterate quicker. Startups don&#x27;t fail only because they were built on &lt;framework A&gt; instead of &lt;framework B&gt;.<p>If your goal is to learn a new framework, just pick one and give it a shot! There are many concepts you can learn that extend across stacks.<p>If your goal is to list languages&#x2F;frameworks on your resume, that&#x27;s a little tougher. One not very scientific way to decide is to do a brief search for job listings in your target location and pick the BE mentioned most frequently.
davidwover 5 years ago
Rails is hard to beat for getting something up and running quickly and then iterating on it.<p>&gt; though many consider them dead?<p>Anyone who says that, you can safely ignore.
评论 #21696490 未加载
cdnsteveover 5 years ago
My advice, look at what employers are actively hiring for and work backwards. Generally speaking, many value an MVC type frameworks, specifically Rails&#x2F;Django, they are well-known, easy enough to hire for since they are &quot;standard&quot; and have broad application use and are quick to work with. Most of the knowledge is transferable between them. Understanding database migrations, app structure, authentication, etc is common.<p>I&#x27;d focus on that first, then when you&#x27;re comfortable, move towards front-end. Again, focus on what employers are hiring for, React being top of the list, Angular is loosing market share.<p>Node isn&#x27;t very complicated to develop in, front-end experience like ES6&#x2F;7 will help you figure out JS and you can learn the event loop model later on.<p>This way you&#x27;ll have a solid foundation in backend, front-end and can expand out from there as needed and specialize but this is a good starting point to be a full-stack developer. Spend time looking at development workflow, learn Git, write tests, etc.
tmm84over 5 years ago
Based on the year 2019, I think learning Python (AI&#x2F;ML, Scripting, etc), Java (legacy code, enterprise systems, etc) and JavaScript (ES6, Node and a bundler because JavaScript has turned into something that is more than just some simple script on a page at this point.) are worth it. I say learn PHP if you are aiming for entry level rudimentary stuff. PHP is still out there and there are loads of clients asking for people to work on it. Anything else will revolve around how experienced of an engineer they want and the market you live in.<p>Aside from languages&#x2F;frameworks, I would say focus on the container&#x2F;orchestration area of development. This is becoming the real focus I am seeing from someone who has been working in software development for over 5 years. More and more it is containerized micro services that are being produced and it is people who can weave them together with kubernetes or similar software that is the real ticket.
Antoninusover 5 years ago
I don’t think it matters. Learning a stack because there are a lot of hot job postings for it will only keep you in framework hell. If you had to choose, choose the one with a community that you like and want to be around. I’m happy I stuck by Node’s side all these years, sure its not perfect but part of the journey is growing with a technology as it matures in the market. From my experience, mid-range developers with a few years of experience working in different stacks rarely make high quality contributions to the project. The only exception is if they’re gifted cs students first. The devs with for eg. 10+ years working with Perl Dancer projects have so much you can learn from.<p>So my advice would be to pick one and commit to it for as long as you can. To the point where you both love and hate it. Get to a point where you can contribute to an well known open source project that is built in it’s domain.
philipkielyover 5 years ago
I built a few applications using Django in college (still am, actually) and it gave me the foundational skills I needed to pick up other frameworks later. I think it balances convention and configuration well for both learning and doing and provides an intuitive learning curve for web development. While most tutorials are for server-side rendered CRUD-based applications you can use DRF to build an API for a single-page app and the framework is flexible enough to build all sorts of applications.<p>Django set me up with the tools and skills I needed a couple years ago. The other ones probably would too. Echoing other commenters you can build anything in any of these frameworks and shouldn&#x27;t spend too much time choosing stack. Despite it not mattering, my vote is for Django.
EnderMBover 5 years ago
I think the main thing you can take from the language&#x2F;framework descriptions above is that you should outright ignore what people say about tools they don&#x27;t actively use.<p>Java and C# absolutely do NOT lack a third-party ecosystem. If anything, both have immensely powerful frameworks behind them and thriving package ecosystems.<p>IMO, your choice only matters if the product you&#x27;re building is tied to a given library. For example, you might have more luck doing ML in Python&#x2F;Java than in Ruby, although there is no reason why you can&#x27;t mix and match depending on what you need to do and what you&#x27;re trying to accomplish with each.
snyenaover 5 years ago
If you are uncertain, perhaps one extra factor to consider would be the future earning potential.<p>I am in a somewhat similar situation (albeit considerably older, almost 41) and still considering my options. I have used plain PHP + MySQL to build web applications in the past but I am now trying the same with Python&#x27;s Flask and liking it so far. Later down the road I&#x27;ll either try Django or go fullstack Javascript (Node, React, Express, ...) because it is in such a high demand and not going anywhere.
muzaniover 5 years ago
I&#x27;m surprised Parse Server doesn&#x27;t make anyone&#x27;s list. It takes about 30 mins to set up. It&#x27;s easy to scale, free to start with. It fills the complexity hole left by Node&#x2F;Express. It&#x27;s a lot faster to code than using APIs. It&#x27;s been used by enough people for long enough that all the stability bugs have been ironed out.