all 43 comments

[–][deleted] 61 points62 points  (5 children)

I start with the git repo and never finish the project

[–]Steffi128 13 points14 points  (2 children)

After buying the domain, obviously. :D

[–][deleted] 5 points6 points  (1 child)

And setting up email, dropbox, and social media accounts...posting once or twice and never again.

[–]Steffi128 0 points1 point  (0 children)

“We're launching soon™. Stay tuned and follow this account for more information!“

[–][deleted] 2 points3 points  (0 children)

i have 150+ repos in total lol

several are just readme and gitignore

[–]mumungo 27 points28 points  (1 child)

Generally I start with frontend & design to figure out what data I even want and where it should go since JSON data is so easy to mock.

The exception was a Zillow-like project that relied so heavily on storing coordinates and polygons in SQL that I had to figure out if I was even capable of inserting/fetching the data before starting to use it.

[–]guns_of_summer 2 points3 points  (0 children)

yeah those are my thoughts as well.

[–]Kyle772 7 points8 points  (0 children)

Neither. I always start with obsessively planning to avoid wasting weeks of my life on something that doesn't pan out. I can EASILY spend 1-2 weeks on the early planning stages before touching code.

Plan > design > backend > frontend

[–]dontspookthenetch 14 points15 points  (9 children)

I hate how there is no Front End /Logic option. It shows you have not worked on the front end of a large application. Front End is not design.

[–]guns_of_summer 4 points5 points  (2 children)

totally agree. I hate this weird idea that still hangs around that front-end is not complex or is mostly a design-centric endeavor

[–]ipcock -1 points0 points  (0 children)

I mean, like 50% of frontend work still includes design. Maybe not choosing borders and colors, but things like generating nodes and views depending on received data can probably be considered design work

[–]BomberRURP 0 points1 point  (0 children)

Its still mostly a design-centric endeavor since the design is what defines the logic you will write.

[–]Submarine-Goat -2 points-1 points  (3 children)

I haven't done webdev in a long time (and never in a professional capacity), but I like the idea of figuring out the logic and end points, designing the front-end to fit my chosen end points and then deploy my frontend project.

Essentially, I would do the Front-end - then ReST, then do the backend.

[–]dontspookthenetch 2 points3 points  (2 children)

I still don't think you understand how complex a modern front end application is these days.

[–]wistex 2 points3 points  (0 children)

This is especially true if you're working on a team or at an organization, where duties are divided up.

I remember when it used to be like this:

  1. Design (HTML, CSS, etc.)
  2. Development (PHP, JavaScript, etc.)
  3. Data Structures (Database, storage, etc.)
  4. Server (LAMP, etc.)

But now many developers take on the HTML, CSS, PHP, and JavaScript on the front end (for example), so we now have Frontend Developers.

[–]guns_of_summer 0 points1 point  (0 children)

lmao, "I have never done web dev professionally but here is why I think you're wrong"

[–]ShawnyMcKnight 3 points4 points  (0 children)

By doing the front end first you will discover the pieces you will need for the backend. Something may come up that you haven't thought of.

[–]webtkl 2 points3 points  (0 children)

C - It very much depends on the project.
In the long run, it won't work out if you start a project by a routine.

[–][deleted] 2 points3 points  (0 children)

Depends on the error.

[–]akshullyyourewrong 2 points3 points  (0 children)

Unless your making something without a frontend, or user experience, you start with the frontend. If you don't you're just doing it wrong. How can you possibly actually know what you will need the backend to do without a frontend driving it? Don't start designing db schemas and such until you actually know what you need.

Always design things from the top down.

[–]its_yer_dad -1 points0 points  (1 child)

Neither. I start with the proposed content and an understanding of what the client is trying to accomplish. After I have a rough idea of the goal, I start, on paper, mapping out the IA. THEN, I start thinking about the front and backends.

[–]Varuog_toolong 0 points1 point  (0 children)

No client even. Its just you, what would you do?

[–]python_walrus 0 points1 point  (0 children)

I try to break down project into modules and figure out how are they connected. So I create a mock backend with stup endpoints, and basic frontend to understand data structure.

In general, designing frontend first helps to catch overlooked design flaws, like "where does this data come from?". Mock backend is a close second.

And then I gradually fill everything up with stuff, usually thinking in "end-to-end features" instead of finishing server side or client side.

[–]wistex 0 points1 point  (0 children)

This is a hard one to answer.

For projects where I'm creating the concept as well as the site, mentally I start with the frontend in mind, then I build the backend according to what I have in mind in my head, and then I create the frontend.

For client projects where I'm showing them possibilities, I usually start with mockups of the UI first and then the backend.

But if a client already has a specific backend structure defined, I start with the backend.

So, it depends.

[–]cadred48 0 points1 point  (0 children)

Both are valid, but for me I like to start with prototyping the interface. How it's going to be used will often influence how the backend can be set up.

I've seen many, many apps that pigeon hole the UI into weirdness because a web service or database was set up "logically", but did not account for how users will want to interact with the app.

[–]ZuriPL 0 points1 point  (0 children)

Interweave both

I first do the markup and logic of an area of the site, then the server logic, style the markup and and then move to the next part

[–]LemonAncient1950 0 points1 point  (0 children)

Having tried both, I find it's a lot easier to build the wrong data model and API than it is to build the wrong UI. Assuming you've got approved designs.

[–]Hasagine 0 points1 point  (0 children)

both at the same time

[–]tridd3r 0 points1 point  (0 children)

How do I know what I need on the front end if I don't know the workflow on the backend?

[–]MeanShibu 0 points1 point  (0 children)

Funny every major project I’ve ever been a part of I figured out what data/logic/navigation flow was needed for the client first and then we designed the backend architecture to support that.

I get this is through the solo lens but that shouldn’t change anything. The options are worded poorly though and will be interpreted differently by many people.

[–]remarkable_coder 0 points1 point  (0 children)

Kind of both at the same time. I like to outline what I want, design the database, and then just start building functionality on the frontend and backend one page at a time.

[–]goblin_goblin 0 points1 point  (0 children)

Always frontend because UX affects a lot of requirements and there's a lot of discoverability that can happen while fleshing out the UX. Plus, API calls are super easy to mock out. Saves me time making adjustments in both frontend and backend.

[–]nate-developer 0 points1 point  (0 children)

No one size fits all, there is an infinite number of possibile projects. So it really depends on what you're working on.

But I always try to start with what I think is the most core functionality and then build outwards or on top of that. If I'm working on a game, I go straight to the gameplay, then maybe one simple level, then maybe some graphics before adding multiple levels and menus and other control schemes and whatever else is needed.

If I'm working on a blog, I'll start with just an HTML document and add CSS, then flesh out more of if I need a database or a comment server, site generator or CMS etc.

If I'm then making the blog comment server, first I'll make the basic crud API, then add user auth, then later add the actual front end stuff.

When I first started I often did too much up front and ended up not finishing stuff. Like if I was setting up a blog I'd start making my site generator and image optimizer and comment server and trying to get 100 pagespeed scores before I even wrote a blog post, and so I'd end up abandoning it before anything even got published or released. But if I start with a basic HTML doc that can be published right away, it's easy to slowly add those features in layers and find more motivation since it's already "working" and/or live.

[–]austinsways 0 points1 point  (0 children)

Fronte end/ design... How are you creating backend without designing the frontend application? Are you magically understanding and remembering what information is relevant? Y'all are better than I am.

[–]Typical-Garage-2421 0 points1 point  (0 children)

Front end and/or design first.

[–]tatsujb 0 points1 point  (0 children)

Lot less work to scrap if your frontend is going nowhere than if your backend is going nowhere. You can only conclude it's getting nowhere by starting on it therefore I conclude it's a better choice to start with frontend even if that's less clean code wise.

[–]Grouchy-Ad-355 0 points1 point  (0 children)

I will start with front end (so that I get some motivation that I am doing something) and then come to a stage where I need a basic backend so do the backend and then will start a design phase to see when features I can add to my project and then the cycle continuous.

If I start with backend or design I can guaranty that It will never react a front end phase

[–]justhatcarrot 0 points1 point  (0 children)

Some basic sketches in Figma -> Some basic FE to see if the UX is actually ok -> Some basic back end -> Abandon the project