Hey everybody! My name is Logan McLaughlin and today I just finished Day 1 of my journey down the road of my Software Engineering education! If you unclear about where my journey began, please visit the navigation links below, which I will begin to add at the end of every post for the sake of user convenience, to both take you to the very first post in this series as well as Previous and Next links!
Small Talk
Thoughts About Today's Lesson
+What is Programming?
+What Does a Software Engineer Do?
+What are the Differences Between Front-End and Back-End Engineering?
Final Thoughts
Navigation
Small Talk
So regrettably, I was just super tired today, so I wasn't exactly able to get too much learning done, but I did get some! It's just... not a lot of actual programming or coding knowledge. Basically "What is Software Engineering?" stuff.
As this is kind of my first post of this type, I hope you will forgive me as I may find myself fumbling a bit with a proper format that I'd like to approach this with. I am going to do what I feel like would be most comfortable to me and attempt to explain, in my own words based on the notes I've taken elsewhere, a basic summary of the subject. This will be primarily for my own benefit as, if I feel like I can explain a subject with a reasonable amount of confidence, it can basically show that I kind of understand the subject material.
In the case of these Post-Learning Summaries, I encourage people to read what I have to say in my summaries and correct me where I am wrong so that I am not committing bad knowledge to memory.
Thoughts About Today's Lesson
What is Programming?
So first, what IS programming? We learned that Programming is a form of collaboration between human programmers and computers. The programmer first works out a set of instructions they wish to tell the computer to perform. Then, those instructions are then translated by the coder into a programming language the computer can understand. Finally, the computer executes the instructions as translated by the coder.
Computers are very literally minded and require a lot of context for things human beings might take for granted. Humans have the capability to think creatively and beyond the scope of what they know. A computer is only really able to understand a very limited number of things by comparison.
Humans can communicate through inference, they can understand things that may not be quite spelled out for them. Computers are very literal and must be told things literally for them to comprehend the instructions given to them.
Humans can discern vague patterns in information where as a computer might need the pattern to be far more precise. However, a computer can calculate information far, far more quickly than a human mind.
Humans can be inconsistent in their thinking, often doing the same process over and over, but with several slight variations. A computer is consistent to a fault unless directed otherwise and will always perform the same instructions precisely and to the letter.
A human mind can become fatigued with repetitive processes, requiring fresh stimulation to reinvigorate it. As long as a computer has the energy it requires, it can process things over and over, regardless of what they are, and never really require that added stimulation.
What Does a Software Engineer Do?
Next, we went into the basics of the basics of what a Software Engineer actually does. in essence, they are an Engineer that specializes in Software. Now, this may sound tautological, but if we look at what an Engineer typically does, they're a person who applies knowledge and experience to solve problems. For a computer engineer, this means innovating in the field of robotics or computer chips. For a chemical engineer, it may involve discovering and applying knowledge of chemistry to develop new forms of chemicals (pharmaceutical researchers come to mind).
And, of course, a Software Engineer is much the same. And one thing that is stressed in what I was told, and it sounds very accurate to what I have come to assume, is that any and all knowledge that I will learn through CodeAcademy, any and all college courses I take on the subject, and any further knowledge I glean up until I get into my chosen career will all be baseline knowledge. That means that, when I get into my chosen career, I will be using all of my knowledge of programming and coding to, essentially, build the foundation for the actual knowledge I will need to succeed in my career as I will be required to specialize even further in my chosen field by learning from veterans in that field. Further still, I will not truly know everything I need to know and will have to apply a lot of trial and error into my own thinking in order to develop new systems.
What are the Differences Between Front-End and Back-End Engineering?
Finally, for today, we learned about the basic differences between Front-End and Back-End Engineering.
Back-End Engineering is typically focused server side, how a server might store information in a database, for example. On the other end of that, Front-End Engineering is typically focused client side, how a user might interact with the server and display information from the server in a way the user can understand.
I was also encouraged by the lesson to learn a fair bit about Web Development languages, prioritizing HTML and CSS, then going into Javascript, and if I want to work on server infrastructure, SQL. I was encouraged to try Web Development because it is a universally helpful skill across a large number of fields and applications!
Final Thoughts
I am certain that these will get much, much longer and I will see about optimizing formatting in some way. I may attempt to do code blocks and, perhaps, look into embedding code blocks into code blocks somehow or.... I have no idea. But I will most assuredly figure it out!
It is almost 11PM here where I am as I finish up writing this post, but I wanted to say that this summary was actually kind of enjoyable to do and I hope to continue to do these before and after I tackle a subject! As today is Sunday, I will have some things I will need to take care of right on Monday, so it may take some time for me to get my Pre-Learning post out tomorrow, but I will make every effort to do so!
Once again, I want to thank you all very much for reading any of this and I also want to, once again, urge anyone who did to point out any errors in my information as well as, if you so desire, point out some style optimizations in the delivery of this post in particular!
Anyway, I gotta go to sleep, but I'll see you all tomorrow for some more learning! Until next time, Take care!
Top comments (0)