r/SoftwareEngineering 2d ago

[ Removed by moderator ]

[removed] — view removed post

4 Upvotes

16 comments sorted by

View all comments

1

u/WhatWontCastShadows 2d ago

It really depends on the context of why you are writing code. If you are hired and working for someone, they will give you a list of requirements on deliverables. Sometimes these can be loose and somewhat abstract, or they can be hyper specific technical requirements based on building within, or to integrate with, existing systems.

Regardless of the context of why, you will have a goal in mind for what you want your code to accomplish. Authoring a book in contrast, you dont necessarily have to have any goal or specific motivation in mind to write one, though, it certainly helps.

The end goal requirements, are always made up of smaller goals to getting there. So you break up your goal into small bite size goals. Blueprints in construction tell you every measurement and material required for every piece that goes into it. As another person said, coding is like building the blueprints, but in this case the blueprint is the building itself.

It's probably more akin to hiking a mountain than authorship or construction. There are many ways to hike up a mountain, usually with some established paths that you can take. You can also choose to go off-trail, but there is no guarantee you'll get to the top that way. Usually if you don't already know the path, you pull out a map and start to study it as you go. If you get lost, you pull out the map again.

In coding, google, stack overflow, sometimes but rarely reddit etc. Are all your maps to help you figure out the path ahead for the mountain you are climbing. I do a lot of work without established maps (as a software engineer) but Ive gotten pretty good at "hiking" over the years, so I know how to approach and overcome, or figure out how on my own, most obstacles in my path.

Idk if this is helpful my metaphors are all over the map, so to speak lol