DEV Community

Joseph Mania
Joseph Mania

Posted on • Originally published at techmaniac649449135.wordpress.com

I Want To Be a Software Engineer

A software engineer is a person who can develop, debug, and come up with complete, better software that can solve problems. She\He is always ready to make changes when the program has some problems. The best thing about this subject or course is that you create things that cannot be touched, they are virtually confined. Becoming a software engineer is not as easy a task as it may sound. But it’s the only engineering that you can get without a university degree or diploma.

Learn the Right Programming Languages

This is the key foundation of software development. You can either decide to be a back-end developer with languages such as java, python, C#, C++, C, etc., or you can decide to be a front-end engineer with languages such as JavaScript, HTML5, CSS, and their frameworks. Alternatively, you can decide to be a full-stack developer working both front-end and backend with additional knowledge in database languages i.e. MySQL and SQL.

Data structure and algorithms.

Many people will complain about the difficulty of understanding this unit. But it is the building unit of a software engineer. There are many algorithms to be used in developing complex software. Dealing with large projects you need some sort of array, hash maps, a stack which are all data structures. This is the area where most big companies will test their interns to see how they approach difficult problems. For those who are self-taught programmers, make sure you take a course in this topic, it will broaden your mind to start seeing projects more than just writing codes and compiling them.

Sharp and open-minded.

‘Think like a programmer’s the obvious quote in computer science class. You have to be that person that can come up with several ideas to solve one problem. See the problems from different angles, and have different methods to tackle the problem. In addition, you should also be an open-minded person to learn new things as technology is developing day and night. Be that person who can improve the existing solution to make it more useful.

The field calls upon some Math foundation.

Not all the math that you are being taught will apply to this course, but always make sure you understand some important concepts rather than cramming math formulas. The best units that are helpful include Linear Algebra, Calculus, Vector Mathematics for Computer science, Discrete math, etc. This is essential math that you need to equip yourself with. Always have a deeper understanding of each because you will be required to apply at a certain point.

Finally, focus on your goals.

Have a team with whom you can take on small projects. Remember, everyone starts from zero to a hero. The technology industry is growing fast, and many potholes are yet to be filed. The industry is calling for more software engineers to re-engineer models that can be used even by developers such as compilers. Trust God!.

Top comments (2)

Collapse
 
raibtoffoletto profile image
Raí B. Toffoletto

""... it’s the only engineering that you can get without a university degree or diploma.""

I think in order to call yourself a software ENGINEER you need to have a proper diploma. I have 2 degrees and a masters in Music but I work as a full stack developer. And the key word is Developer, I studied by myself, did certifications, and I'm a good developer, but I'll never call myself an engineer. I think it's kind of disrespectful to others who invested in their degrees... it's kind of calling someone that works in a dentist office without never been to nursing school or got a proper medical degree a Doctor.

Call me a Developer, a Coder, but I am not an Engineer.

I know people have different opinions on this, but this is my vision, we should respect those who invested years in getting their diploma. 😉

Collapse
 
techmaniacc profile image
Joseph Mania

True , tehre is a difference between a software developer and a software engineer, self-taught programmers will take time to become a software engineer, but when you take a course like computer science, you get to learn alot more than just writing codes.