I built my Sass app with some of the most boring technologies like Java, Spring, and Mysql. There is nothing fancy about it and is often subject to ridicule in the startup community.
I chose them because I have used them extensively in the past, can quickly get it up and running and, they also have great third party libraries and answers on Stackoverflow.
Does it matter? What about you? Do you also use boring tech?
Has cool tech made any difference to you if you are using it?
I live in fear that my users are one day going to press Ctrl-U , see that i am not using the latest and greatest SPA/haskell/AWS/Kubernetes/microservices/serverless technologies, they 'll shame me, and i m screwed. How will I ever look them in the eye and admit that my javascript hasn't been transpiled with the Officially Cool Compilers? Imagine how betrayed they will feel for enjoying a website that has PHP & jquery in it! Makes me sick to my stomach. And then i wake up because this will never happen.
This is it!
Your customers/users/target audience are, for the very vast majority of them, not interested in what technology was used to build the product they are using and enjoying. So long as it works and does the job.
So who cares about the tech snobs and what they think, hammering the keyboard in their parents' basement? :D
This comment was deleted 4 years ago.
If you are building, the boring the better. A lot of hype around new technologies is often accompanied by people not stopping a second to think about what they do. I am a Python developer, and normally default to Django for websites, which has a very powerful templating system. When I started learning React and Vue, I was shocked by the amount of examples in which the only thing you do is replacing the functionality of Django.
I even asked on reddit and the only person who came up with a valid example of why using React was actually a fellow indie hacker (@czue). All the rest were very sanguinous opinions, mostly expressed by myopic people who don't care to stop looking at their own screens and their own little bubble for more than a few seconds.
My best advice is to always start with what you already have. If you know Java and MySQL, start from there, don't let anyone believe that you need to learn React or PostgreSQL just to get started. There'll be plenty of time to decide if you need to add new tech, new frameworks, new infrastructure.
Now, if you want to learn, pick the things you find fun. That's why I started learning Vue, I thought it would be fun to dive into the JS world, even though I know I don't need it per-se.
Regarding my tech stack (your original question before I diverted):
Nginx, Django, PostgreSQL, a lot of bash and python scripts on the side ;-)
Love this response @aqui_c!
This is a little offtopic, but I'm working on a technical article that talks a lot more about my feelings related to Django and modern JavaScript. Let me know if you'd be game to give it a glance and provide quick feedback! Would love to see if it resonates with your experience.
Sure, ping me however you like!
thanks! pinged you on reddit since I couldn't find DMs here.
Thought I had my e-mail listed here... Have just added it. I'll check reddit now.
I started mine with multiple "new" tech items to me. I didn't know any of them when I started, but I researched and rationlized which tech stack would allow me to pursue it in the long run the way I wanted to manage it. I was nervous i was wasting a lot of time, but turns out I was right [enough].
I had a background of rails, php, backbonejs, knockoutjs, and MySQL.
I decided to build it in Postgres, Elixir/Phoenix, JSON:API, Emberjs
I am really glad I did.
I didn't choose it because it was "hot" or cool though, it was actually the combination of the functional programming, syntax, and concurrency for elixir, and the established conventions of json:api and emberjs.
I wanted to reduce the number of small decisions i had to make as the app grew and built out to avoid decision fatigue. This lead to steeper learning curve up front, but it has paid off.
Dot net core :) Spring is way more mature. Choosing a mature stack is always a safer bet. Dot net core and spring boot aren't that boring as people say. Dot net core has topped as the most loved framework in Stack Overflow surveys. I was surprised since everyone hated ASP.NET back then.
MyStack here:
------------------
React with T.S
dot net core
Auth0
MySQL
Stripe.
Apollo Graphql for personal side projects :D
Me too! Same stack!
I think most of them started to like dot net core. Mainly due to two brilliant IDE's VS, JB Rider.
Same here! Having tried many techs, NET core is still my favorite.
I use React for my front-end.
Cool :)
Python/Django + Bootstrap + JQuery
Mine isn't "boring" as it is "basic."
I use(d) this stack for years. Only thing I changed was I wanted to try vue.js.
I generally disagree with the "boring is better" mantra since most of the most successful startups of the 90s and 2000s did have an "interesting" tech in their stack. For example, 6 of YC's biggest 10 investing wins were in companies that built on Ruby (often before 2010), a couple of others used Python back then when it wasn't so widespread as now, Uber used Node.js when it was very new, Docker used Go when it was new, many successful 90s startups were web-based when most the industry was still focused on PCs, etc, etc, etc.
However, you're doing something in a small niche and there's limited competition, then you can definitely just copy what successful companies used in larger niches a few years ago. In general, I'd say "faster to develop is better" instead of "boring is better".
Not all technologies are identical and pretty much anytime a new one gets momentum, it's because it's bringing a new advantage to the table. The industry pretty much never moves from an estabilished technology to a new, incompatible one that has the exact same properties.
I'm doing the all but boring approach, but also consider it took me five years to learn about the trade-offs of both traditional and fancy new tech. Nowadays when I get to write software using traditional tech I'm like 'whoa this is easy', and then eventually I remember all the reasons why I did not went that way.
There are for me a few very important reasons why I did not went with traditional approaches;
So based on these factors I ended up with a stack containing .NET, GraphQL and React among other technologies. Though I would consider .NET quite boring by now, I find myself using pre-release libraries all the time just because it has something I need.
In the end your development process is just a reflection of who you are as a person.
I have used the boring stuff (like Python), or the new stuff I am currently professionally using (Elixir). If you don't have specific restrictions, it all comes down to what makes you comfortable in your experience.
I'm an Elixir fan also, I'm not using all the power it has to offer, but feel like I could switch to using Liveview later and get the power of a SPA without using a front end framework. Plus my hosting costs are a lot less than using Ruby and load times are better.
Yeah I see your point. Having a frontend and a backend apps anyway gives you more freedom, for example when you really need an API and you might want to have a web app (using react, for example) and a Flutter mobile app, maybe using GraphQL for the communication layer.
And yeah, I am very happy with Elixir, at the moment.
I supposed it depends on what your objectives are. If your objective is to have a good business (mine is), use whatever tech enables that, gets you to market fast, and makes growing you product easier - which often is the tech you know as opposed to the cool tech of the day. Ignore the naysayers.
Every time I have started a new project with "Cool I can learn FooBar framework with this project" I have regretted it and sometimes end up spending significant effort rewriting it to be more boring.
Here is a perfect example, a number of years ago Angular was all shiny and new and I wanted to learn it. So I forced myself to use it for a side project (www.novelade.com). I come to the end of that project and Im having all sorts of problems with SEO because its a single page web app so I have to go through all these contortions of server side pre-rendering. Yuck. And I end up with a performance problem because I have to load all the data into the browser in order to do filter/search and that loading takes too much time the more content I have. So, Im doing all this complicated pre-fetching of data in JS. Yuck. If I had just written it in PHP or something boring it would have been done in half the time without those pain points. I may do this some day, but for now I've mostly abandoned this side project. And knowing Angular 1.0 is a worthless skill now anyway.
TLDR: Only use latest buzzword tech if you can justify it in some way besides "I want to learn it".
For Hosted Status Page:
For Foe Email:
If it's what you know and are proficient in then it's not boring :)
With some projects you want to build them with something new so you can learn as you create, however, sometimes you just want to build it and that's when boring is just fine.
I feel happy to be reading this. I have built my app with vanilla php and mysql hosted in a shared hosting.
I am currently learning elixir. Any recommendations for books or courses?
You're in the wrong startup communities :P If the startup community cares more about the tech stack rather than the business aspect, they are not really a startup community, but rather a tech community. Tech people (myself included) often suffer from the "shiny thing syndrome". We are easily distracted by shiny new things and the old stuff becomes obsolete fast in our eyes. I am actively fighting this view, it's a tough battle with myself :P
I am using Django (Django Rest Framework) + Celery + React (no TypeScript, with Bootstrap) + PostgreSQL + MongoDB + Docker. I don't consider it boring, they are the technologies I am the most familiar with and allow me to move faster than learning a new thing just for that. I found myself squeezing a "migrate to GraphQL for the backend API" task but removed it after I couldn't answer the "Why though? What value does it bring?".
Hey, I use the same stack. I don't know why you call it boring.
If the stack is useful for you to build apps faster, it's a good stack.
well, same thing as: "if it works, it ain't stupid"
“Boring” or not the end user does not care is what I know for sure. Therefore, just using whatever stack you know makes the most sense.
For https://PathRoute.io I used the MERN stack because it what I know the most and would be able to easily ramp up.
I build platforms with similar technologies like Java, Spring, Angular 2+ etc. You don't have to build something with the newest technologies and frameworks. You don't build a successful business based on hyped technologies, stability is better in the long run.
So keep up the good work and don't give up.
Honestly, I don't understand how stack can be "boring" or not.
Stack is stack, it's just a tool to build something.
To me, boring = Stable, well tested, community support, production ready.
So yea, boring is good. Not undermining the value of tech stack for certain types of projects or companies but generally, boring works.
You're UI is amazing. How was it done?
👋 Hello fellow Java dev! I recently moved over to Node only so I can just write all my code in one language. The more boring the better!
This is completely off topic, but you should add a comma after Personalize to make it grammatically correct:
"Shorten, Personalize, and Track your Links. "
It's a small thing but it could make a difference to a potential user
Thank you so much!
This is what entrepreneurship is about! Very cool to see :)
boring but stable, I like boring tech stack
At scraper.ai we use a regular stack? not sure? If you're familiar with it and it works well in prod, then it's not boring.
We use NextJS, NestJS, Typescript, Postgres, redis and more. Why? Because we're familiar with it, it's proven to work rather well and that's what counts
https://joshmanders.com/what-tech-stack/
That being said, my stack isn't boring, but I'm very familiar with it and comfortable. (React, Node/TypeScript, GraphQL, Microservices, Kubernetes, PostgreSQL)
Boring is better than complicated!
I've sometimes been lured towards implementing a fancy framework to correct a problem rather than learning more about the capabilities of the frameworks already in use (e.g. implementing Vue with Django...)
You build with the tech stack you know and you're good at
The job of the initial build is it to prove a point
I build my project with boring php and fancy vue. I think it is good to experiment with some new technologies (vue was a good decision and helped me a lot). But in nearly no case this is really relevant for the business or for the user. I am pretty bored about all that JAMstack, headless and serverless discussions, although I am totally fine with devs who use that. I built another side-project as a headless backend api and vue frontend and, to be honest, I want to switch back to good old php-routing and some vue magic where it is needed, just because it is much easier to handle.
I am not a native developer but a product owner and former publishing specialist, so I might have a different view on technical aspects. Have seen so many companies struggling because they tried to adopt all the latest shit instead of solving the underlying problems.
I don't if I'm boring or not, I'm using angular on front with serverless database and C++ backend (rest server) with custom database deployed using docker container.
I think there is "absolutely boring" and "relatively boring." Neither is meant as a judgment, but they both revolve around who is using what.
Absolutely boring would be using the most popular, well-supported, sold framework around. That's likely a Laravel or your stack.
Relatively boring is using the stack that YOU know best and have the most experience with. My own SaaS was built on Elixir/Phoenix, which is reasonably exotic, but I had been working with that stack for a few years professionally when I picked it.
I would argue that "relatively boring" is the faster, "absolutely boring" the safer option.
Both are good.
I use the tech stack that do the job. spring java - ok, django python - ok, react, angular... whatever... is it something that can be done with plain js? then plain js it is :D
don't want to experiment with the things I don't know. product building is a complex thing by itself, I don't need another layer of complexity :D
I'm 3/4 of the way through my first web app and "boring" tech is the only reason I've made it this far.
I've tried Laravel / RoR / Django and it never clicked for me compared to raw JS / PHP / HTML. Maybe one day I'll use a framework, but I found what works for me.
I stick to the stack I’m most comfortable, I’d always want to build the MVP quickly and get it out so that I can do early market validation.
At the same time I do NOT want to spend money on servers, so most of my projects are server-less (either lambda or firebase functions) for backend and react for front end which I can host on S3.
Love this message, and I think is worth repeating again and again.
Get something built and working.
It's not boring if you know it well. I do all my projects on Python and Flask (sometimes Django). I never used JavaScript in the front end extensively. The template engine jinja works so well and is very easy to use. For database, I use MySQL or PostgreSQL all the time.
I have no idea how React or Vue even work. I love the template engine both Django and Flask provides. Also jQuery and vanilla JS is cool. Just use what you know, you don't need to learn another technology unless it's absolutely required.
Pipfeed-> JAVA + PHP + Python
Boring stack here at Pikaso as well:
I'm going to switch to TypeScript soon, though. The codebase is getting bigger and sometimes changes take too long because of the lack of static typing.
Have a look at Flow
I'm a TS guy 😁
I am using django / python, vue, docker-compose now. But devOps with dockers is taking me too much time. I'm taking a look at alternatives like aws lambda, heroku, etc.
How do you host your app, on bare metal, or docker or what?
Just take a look at your app. I also ran a URL shortener service a few years ago. There were so many spammers abusing the service so DO shutted down my server. At the end, I can't tolerate anymore and closed the service.
Docker is a pretty standardized way of deploying stuff. Clearly you can use different approaches (heroku), but don't forget that if you go for lambdas or other solutions you can have other challenges (local testing, for example).
I'd give a better chance to Docker, in your shoes.
My 2 cents ...
I was comparing docker compose vs dokku vs Flynn. The benefit gained vs overhead may not be justified.
When I was reviewing my dev process, I found that devops is obvious taking a large portion. So I am trying to see if I can optimize my efficiency on this part.
Did you try the above tools, or you stick boring docker only?
No, I normally use Google Cloud Platform and Kubernetes. Sorry.
I had a lot of spam when users did not have to login. After I added mandatory signup process, I haven't had that problem. Did you have signup flow or a free to use form?
I have a signup flow. But the users can create links during the free trial. If you have to bind with a custom domain, it may be better for you since the bar is higher. URL shortener business is more like fighting with spams, phishing, porn, disposable email, etc.
I suggest that you can sell the service to companies with an api and a backend portal, so that you can charge higher and no spam by default.
I'm using boring tech with some cool ones :D
Boring on the back (PHP + MySQL)
Cool on the front (React + Redux)
Off topic. Did you do the UI/UX yourself?
This comment was deleted 3 years ago.
This comment was deleted 5 years ago.
This comment was deleted 4 years ago.
Yeah, boring means it has been a stable platform for years. Interestingly, I use Vuejs for frontend because it reminds me of AngularJs and how easy it was.
I was just going to reply that it helped me a great deal choosing Elixir for my last major project due to all of the capabilities built into its VM that people often have to reach for external tools (such as Redis, cron, various container orchestration strategies, etc) to handle.
Elixir is closely related to Erlang, runs on the same VM and my app was a chat + WebRTC-based app, which was your example of a rare exception!
This comment was deleted 4 years ago.
Thumbs up