7
15 Comments

App for helping with Dev environment issues... Should I build it?

Currently the company I working at has a fairly complex architecture in docker and one of the most annoying things that happen is a broken dev environment. Especially if you are using a mac rather then linux like most of engineers (I like macbooks but now I regret being in minority of devs using it).

So the process when I get stuck for any kind of reason is try to first search for an error in slack (or even shared "dev painpoints" doc in google drive) and see if somebody found a solution. If not, then I send a message in ops channel and try to resolve it with the help of a DevOps engineer.
Usually, we need to first go back and forth where I have to execute a bunch of commands and post the output, plus answer the usual questions like which platform, which version of x do I have installed etc.

So I was thinking, wouldn't it be easier if there was an app for reporting an error, which as part of a report also provides a lot of different info defined by a devops engineer (bunch of commands that needs to be executed which output goes with the report). Then to have a sentry-like dashboard of solved/unsolved issue, maybe even see how frequent is the error that occurred (if the app can listen for logs).

I know a lot of this could be solved by something like github codespaces but that is not an option in my company (security reasons and also the fact that a lot of engineers already have good machines).

So my question is, would this idea be worth pursuing? Would you see yourself using it?

on April 13, 2024
  1. 1

    Yes, it could be worth building if you focus on a specific pain point rather than trying to solve every development environment issue. Many developers struggle with dependency conflicts, setup inconsistencies, and configuration errors across machines. An app that diagnoses problems, suggests fixes, and automates environment setup could save significant time. The key is validating demand with developers before investing heavily. You could also explore similar problem-solving approaches in other industries, such as travel mobile app development, where automation and seamless user experiences are equally valuable. Start with an MVP, gather feedback, and iterate based on real user needs.
    Visit us: jploft

  2. 3

    Docker should have solved that compatibility for you, unless your people are using it wrong...

    I don't think it's a problem worth solving, I think there are solutions but they mostly wouldn't be used for that same security factor and it's also a one-off problem for people just onboarding a new use case

    1. 1

      In theory docker should solve it, yes, but in practice it is not always the case. For example, if you want to use it in M1/M2 machine there are few images that will be differnet than linux distros.

      Also, somethimes it is an application issue - a race condition that mess things up for one dev, or if someone forgets to update dependencies which results in "half working state" that is much worse than just enviroment not spinning up. I also saw a database migration gone the wrong way because I had some unexpected things saved in my local enviroment. So in general, I think there will always be issues in a big projects like that, but that said, I am also not convinced that is a problem worth solving in this way. Solutions like codespaces are probably a better approach

      Thank you for your response! I appreciate it!

      1. 1

        Sounds like a default non optimised workflow/cicd pipeline.

        That area is something I've been thinking on multiple times, there are a lot of options to prevent these issues but are usually only address by one person who care after usually several failures and are time consuming but pretty common. Things like validators, automated testing, package installers options that verify the lock file

  3. 1

    I think you have a great idea in your mind! I always come away with a new perspective on web development. Inspired by your recent posts, I tried EchoAPI, and it’s been an incredible tool for mocking and managing API requests.

  4. 1

    There's a movement called Devcontainers (https://containers.dev/) that aims to solve this problem. It is basically only a specification with some tools already made that help with various aspects of the problem. Maube you can build your product around that? There is definitely more to do in this space.

    1. 1

      That is an interesting idea! I saw that vs code adapted it as well https://code.visualstudio.com/docs/devcontainers/containers

      Not sure what could I build there but will keep an eye on it. Thank you!

  5. 1

    This problem does exist but mostly it is one-time kind of issue. Few guinea pigs(developers 😛) do the setup, and report the issue, and the issues are usually documented thereafter and new issues happening are rare.

    I know a couple of people building a solution to even automate setting up a dev environment for users when they join the company.

  6. 1

    Sounds interesting! Although I think there may be similar solutions already out there, of a solution by Docker itself.. However if so, that would be a sign there is a market, so potential customers. You could research them and see how to differentiate your product from them to serve another niche.

  7. 1

    I think it's a very interesting application!

  8. 1

    A definitely worth pursuing idea.

  9. 1

    I think if it takes than 2 days to build and get some feedback, there probably is no need to think about it too much. probably a case of running some commands, collecting the data and include it in the report right? as a first version - maybe do it manually, but a bit better than what you have now, and get some feedback?

    1. 1

      I think that is a good idea! I will try to build a simple free tool that just sends an issue to slack with the logs included, and will see if anyone finds it useful.
      Thanks for your feedback!

  10. 1

    To me this sounds like a problem I would try to solve at the process-level, so maybe your company is doing something wrong in how they use the tools. The upside is that there might be other companies making similar "mistakes".

    I've seen other people succeed with fixing such kinds of problems on a technical level, because sometimes that's just what's needed to keep things simple. I would give it a shot.

    PS: I don't understand your problem completely but maybe something like Nix or Direnv can help

  11. 1

    Go for it! I think it will be the best way of finding out how far you can reach. Although as someone mentioned before, Docker solve some of the compatibility problems, a more simplified tool for people with different amount of experience could be really useful!

  12. 1

    This comment was deleted 2 years ago