1
17 Comments

What do you prefer to work on when developing?

Hello!

If you have a spare moment I have some questions for you regarding your preferences.

Consider the following: you're asked to build a typical SaaS product from the ground up. You'll need a database, a server, authentication, users and a UI.

The UI consists of typical SaaS components, date pickers, buttons, modals, inputs, etc.

What parts of the system will you enjoy working on?
What parts of the system will you not like working on?
What work would you prefer to outsource?
Anything you dislike having to maintain?

Bonus question:
How do you like to prototype?

Thanks in advance!

on October 5, 2020
  1. 1

    I am a backend dev, so I usually least enjoy UI, which is mostly because I just don't know it well enough!

  2. 1

    Most developer split on front/back end
    I highly dislike doing UI and love the database, servers and such.
    outsourcing unless already productized is a pain by itself

    1. 1

      Thanks for the reply. How do you feel about UI frameworks? Have you ever tried to use one to facilitate the UI development?

      1. 1

        I recently got into Bootstrap themes. This one's my favorite - https://www.creative-tim.com/product/argon-dashboard.

        It was a big learning curve getting it integrated with Rails, but once I did, it's been a gamechanger. I'm not great with front-end and design; having a theme really simplifies a lot of design decisions and reduces development time. And my product ends up looking better than if I had designed it myself.

        1. 1

          Creative Tim does great work! Out of curiosity when you say "it was a big learning curve getting it integrated with Rails" what specific problems did you run into? Or better yet what would have made it easier to integrate for you?

          1. 2

            I remember it being pretty tedious. I had to figure out where to put all the JS and CSS and make it all play nicely with webpacker. I had to convert all url paths to use rails helpers. I had to pull out shared code into layout files. I had to manually tweak some JS files and stylesheets just to get things working.

            I'm not sure what would've made it easier. The package is well-written but it's not meant for rails out of the box.

      2. 1

        Personally I most like hacking on top of a full system like wordpress even if I keep little from the original system.
        I recently used hugo cause it had the 99% of what I wanted in a specific template.
        I used visual generators.
        I did things from scratch (used to do pure html/css/..), used meteorjs with react.

        Not sure what you categorise as "UI frameworks" exactly, but I'd probably used one ^^, I try not to do much UI, I don't talk UI/front end lingo, maybe a little UX at best.

        1. 1

          Sorry, should have been more specific. By UI framework I mean some 3rd party package that you can install that brings along all those pain-to-develop UI components. Here's an example: https://material-ui.com/
          Never heard of Hugo, thanks for sharing that 👍🏽

          1. 1

            Hugo is like one of a category of static page generators...

          2. 1

            my initial reaction to the landing page, looks too much like composing stuff.. like actually developing/building constructing.. I want something to only edit, usually remove stuff, change text and images and minimal on anything else.. font colours and various location moving at worst. (like no-code but I'm ok with code for allowing me more advance control)

            As I said, I don't really want to develop anything front-end if I don't have too...

            1. 1

              Fair enough. I gave Hugo a look over and it's cool, but it's also very opinionated. It even has it's own templating language. I'm wondering if there's some middle ground where devs such as yourself who want nothing to do with the frontend can use a product that gives you everything you need, without being overly opinionated and with minimal effort on your part to integrate it.

              1. 1

                drupal used to interest me as you could create your own objects and workflow, but I never got around to getting technical with it.

                I'm find with opinionated as long as it's close to what I'm trying to do.
                un-opinionated means I need to decide/think/know more to use it.

                MeteorJS might be closer to what your looking for IMHO, it's nodejs, but has like data syncing done, it's very plugable, like it's just a collection of libs, so you can use react or you can use another framework, you can use db 1 or db 2, you can change the data moving protocol, it's like fully made yet all components are changeable, like the concept of the fairphone, only actually having an eco system of modules to interchange
                Yet out of the box you get stuff that's quite impressive IMHO, life updating server+client, plugins that get to CMS level, so you can plug something that does login back+frontend, create menus and such...

                1. 1

                  I'm familiar with Meteor. You know the thing about something like Meteor, IMO is that it's great until it isn't. Either you'll need to do something they don't support so you have to hack it in, or build around it. Or they change APIs and you now have all of this busy work to just keep up. If you also rely on them for something important like security, authorization, etc, that can be quite the black hole of trust.
                  I think for my money, I'd like to find a niche of developers that hate the UI and build all of that for them, but do it in a way that they can plug into their system of choice.
                  So in your case, let you do what you like to do. If you need some UI then bring in the library and do something like <Table data={myData} /> and tada, table with sortable columns. Not just the UI, but also the front end logic that goes along with that. A lot of frameworks just give you the HTML and CSS, but none of the time consuming logic or boring work that goes into these components. I mean once you built a modal once or twice, you've kind of built them all.

                  1. 1

                    I think what's actually missing are standard connection points for systems...
                    like connectors on hardware...

                    A full functioning component for a web app let say (could be website and or app....)
                    is a composition of

                    • back-end logic
                    • front-end logic
                    • display stuff... like the html and css component, which lets you customise look...
                      • a sub component of display is assets like images and sometimes fonts... (game engines like godot make that part obvious...)
                    • Data
                    • Technical components that connect stuff like databases, programming languages, frameworks...

                    Like if you could abstract stuff to the level of a game engine lets say...
                    But rather than be the game engine, define standard connectors and convince stacks to use them.

                    Than you might be your utopia of sorts

                    I do wish app components could be tech independent..
                    For backend and cli utils it's kinda easier... like some things can just use container abstraction..

                    1. 2

                      Our thread got super long so couldn't reply to your last comment :)
                      Thanks for all the feedback. Gave me alot to think about.

                    2. 2

                      Sorry for the late reply, been chewing a bit on what you said.
                      So, for example how I can take one usb cable and use it across many different peripherals, a sort of UI utopia would be a UI library that could be used across many different stacks.
                      Ideally, there would be some kind of abstraction layer the stack would talk to that would then communicate the stacks intent to the UI library.

                    3. 1

                      @robb when it was static html/css the closest was a templating language that was supported across languages.

                      Nowadays react (and it's alternatives) is kinda playing some for of it for dynamic pages

                      There aren't common stuff that cross to the server side, unless you go for very specific stacks already... in that realm I'd say like wordpress plugin or a meteor component live...

                      I think for the DB part, active record style stuff could almost be a plugable point, not sure if the level rails does it with schema, migrations and seeding is common elsewhere...

                      You could have taken an active record DB manager + docker container for backend component in any language + react for dynamic frontend with a more common/cross platform html/css templating engine
                      And suppose that could be a full package? maybe you might need some cross package routing of sorts...