What IS software engineering all about
I am femete, a student studying software engineering in siantou university Yaoundé (Cameroun). M'y dream is to becam a genius in software engineering #software-engineer
4 answers
Mary Ann’s Answer
Over my career, I've gotten better at taking a step back (or 10) when I get stuck, not being biased toward my ideas because they're mine, and being comfortable thinking through possible solutions and weighing them against each other. I think this, as much as learning new technologies, has made me a better engineer.
It's also so hard to know everything, so knowing where to find answers (Stack Overflow) and how to ask questions is incredibly important.
Mary Ann recommends the following next steps:
Shaurya’s Answer
Software Engineering is all about creating solutions using computers. In this computer age, software engineering is undoubtably the most impactful trade. As a software engineer, you will be expected to work on a specific problem or scenario, and then figure out a solution which can be implemented digitally. You should have good understanding of how computers work and how to program them using programming languages. The work computer itself is very broad and can refer from a standalone PC, a shared server or a cloud-based platform . Applications of software engineering are truly endless.
Shaurya recommends the following next steps:
Tim’s Answer
I would just add that software engineering is really about creating solutions that are used by humans across the globe and the goal is to make those tasks that we all do on our phone, computer, or even in person at a device like an ATM, Point of Sale, or Self Checkout machine in a grocery store.
The goal of a software engineer is to make things simple by using technology for end users.
You can start simple with something like python and then grow from there.
Good luck.
Leo’s Answer
When you create code, you'll spend ~20% of your time writing the solution (the code) and ~80% of the time fixing the code you just wrote.
When you code something, you'll inevitably make mistakes. The main problem is that computers don't do what you want them to do: they do what you *tell* them to do. Many times, the disconnection between what you want, and what you tell the computer isn't obvious. So you'll spend a lot of time just trying to understand what's wrong.
On top of that, there's errors that break other things in very creative ways, and there's errors when the computer doesn't even understand what you're saying.
Very often, my work day looks like this: "Today, I'm going to do X. Oh wait, in order to achieve X, I first need to do A, B, and C. Oh wait, A needs some additional steps. OK, that's taken care of. Oh wait, now nothing's working because I just broke it. What? The day's over already? Oh well, I'll eventually get to do X."
So, if you take all that into consideration, there's a lot of "I want to do this, but I can't because I have to fix other stuff". That can lead to frustration. In fact, I would argue that you'll *intentionally* put yourself in the path of frustration every day. So you'll need lots of tenacity and patience.
But, in the end, it's all worth it. When you finally solve something, you get a great sense of satisfaction.