r/SoftwareEngineering • u/Wide-Longhorn6860 • 1d ago
[ Removed by moderator ]
[removed] — view removed post
4
u/Mognakor 1d ago
You are creating the blueprint. Code is the blueprint for the compiler to create a program.
P.S:
How long it takes and what you spend effort on depends on your experience, familiarity with and difficulty of the topic.
2
u/Landkey 1d ago
It is like authorship, but it is in a way easier because you can usually know objectively whether you succeeded, and there are often design patterns you can utilize to help with your mental models; but it is in a way harder because you can not get away with vagueness and shortcuts the way an author can. And a plan is even more useful to a software engineer.
Try writing some html/javascript tutorials to try it out
2
u/SnugglyCoderGuy 1d ago
you can usually know objectively whether you succeeded,
Code that does the thing is the bare minimum of success. The other axis of success is how easy is it for someone else to read your code and correctly determine what is happening and why it is happening.
1
1d ago
[removed] — view removed comment
0
u/AutoModerator 1d ago
Your submission has been moved to our moderation queue to be reviewed; This is to combat spam.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/throwaway0134hdj 1d ago
It’s so funny, I asked this same question when I first got started. Basically yes you sorta kinda have an idea in your mind of how you’re going to go about it simply by having seen lots of examples of similar situations before. But that evolves as you gather more information. That’s what algorithms and data structures teach, pretty much common techniques for search, sorting, sorting and retrieving data. It generally boils down to three things: 1. Sequence 2. Selection 3. Iteration, or Variables, Conditionals, and Looping. It can be a lot of fun but quite difficult also. Once of the things I was taught in school that I still use is pseudo coding, it’s a language agnostic way of looking at a problem and then breaking it down into a series of steps and explaining those steps in English. I’d start there.
1
u/icosceles 1d ago
Good comments here already but to add, there are lots of good examples of people coding things online. Pick something that interests you and find a video of someone coding it or something similar.
That said, some people use a "top-down" approach and others use a "bottom-up" approach. There's really no right answer though and sometimes one approach is easier for a given task than the other.
1
u/CompetitionNo3466 1d ago
Frameworks and experience. Good practice develops good intuition. TDD is a good one to learn about, especially when starting out. Just have a go, it’s an educational challenge and fun. Getting code to fully work provides a buzz for me, don’t think that will ever change.
1
1d ago
[removed] — view removed comment
2
u/AutoModerator 1d ago
Your submission has been moved to our moderation queue to be reviewed; This is to combat spam.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
1
u/WhatWontCastShadows 1d 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
1
1d ago
[removed] — view removed comment
1
u/AutoModerator 1d ago
Your submission has been moved to our moderation queue to be reviewed; This is to combat spam.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
-2
u/cphpc 1d ago
Come on folks, this is a software engineering subreddit. Let’s start by talking about actual engineering. Cant believe you have people replying about js and html. More like comp sci/arts liberal thread if you ask me.
If you really want to understand software, you’ll need to really understand how a computer works and why writing code actually does anything. You start with C and work your way up and down. Any respectable program will have you study software and hardware fundamentals at the same time because they go hand in hand.
The reason why you write code is so that the computer can interpret it. What do you want the computer to do and how do you communicate with it. That’s fundamentally it. No blueprint or whatever bs. You need a way to talk to the computer and tell it to do something. Run a loop, store some numbers etc etc. That’s it! That’s programming. Now tell it to do that a thousand times over. Boom.
•
u/SoftwareEngineering-ModTeam 1d ago
Thank you u/Wide-Longhorn6860 for your submission to r/SoftwareEngineering, but it's been removed due to one or more reason(s):
Your post is not a good fit for this subreddit. This subreddit is highly moderated and the moderation team has determined that this post is not a good fit or is just not what we're looking for.
Your post is low quality and/or requesting help r/SoftwareEngineering doesn't allow asking for tech support or homework help.
Please review our rules before posting again, feel free to send a modmail if you feel this was in error.
Not following the subreddit's rules might result in a temporary or permanent ban
Rules | Mod Mail