ALERT!
Click here to register with a few steps and explore all our cool stuff we have to offer!

Jump to content



Photo

"question" What do i have to learn to be an software engineer?


  • Please log in to reply
"question" What do i have to learn to be an software engineer?

#1

imenload
imenload
    Offline
    0
    Rep
    0
    Likes

    The Young Master

Posts: 19
Threads: 1
Joined: Aug 05, 2018
Credits: 0
Five years registered
#1
I googled a lot and all of them talked about python and html and css and JavaScript, but i want to know from seasoned warrior, where can i start? And what are the best places to start in? And what are the best free among the free courses and such to start with? And is there an estimation to how long do i have to wait to get a stable work?

  • 0

#2

DaRob2
DaRob2
    Offline
    49
    Rep
    1113
    Likes

    stop quoting

Posts: 986
Threads: 679
Joined: Jun 27, 2022
Credits: 0

One year registered
#2

bump really interested 


  • 1

sig2.png

 

 

In case of an investigation by any federal entity or similar, I do not have any involvement with this group or with the people in it, I do not know how I am here, probably added by a third party, I do not support any actions of the members of this group.


#3

FaithHF
FaithHF
    Offline
    36
    Rep
    234
    Likes

    SESH

Posts: 408
Threads: 36
Joined: Dec 04, 2016
Credits: 0

Seven years registered
#3

At least in Canada, there's a distinction between Software Engineers and normal developers.

 

An Engineer has the ability to sign off on official documents in a court of law. This is especially important for stuff like urban planning and development (i.e. a hospital is getting a contractor to install a new software system --> they will need to audit the system extensively and ensure that it works perfectly all the time --> Engineer can sign off and approve the development.)

 

The only way to get this accreditation is, well, to actually go to school and get an engineering degree.

 

But, the way you worded the question makes it seem like you don't mean 'engineer', you mean 'developer.'

 

In which case:

--> Learn a popular language in your current job market

--> Learn whatever frameworks are in-demand in your current job market

--> Learn theory of computer science (algorithms design and analysis, digital systems, some level of math like early calculus and discrete math at the very least and linear algebra if it's applicable to the field of your choosing)
 

And land yourself a junior position.

After that, you'll figure out what you might need to learn (project management, devops, basic system administration, theory of the systems you're using, for example cloud-native architecture) and all you need to do is learn it.


  • 0

#4

Anon9213
Anon9213
    Offline
    0
    Rep
    8
    Likes

    Advanced Member

Posts: 75
Threads: 5
Joined: Jun 06, 2019
Credits: 0

Four years registered
#4

You need to start solving problems, but you are looking at it from the wrong perspective. I started with runescape. Its grindy as f**k and it was boring. So I found a bot, but I did not like how it worked. So I found a script that I could modify and then got it to do what I wanted. You need a lot of curiosity. Just find something that you think needs to be done, and then start looking into how to get it done. Dont try to find the best way to get it done, just how to get it even barely working. Test test test.


  • 0

#5

finnwhite
finnwhite
    Offline
    0
    Rep
    0
    Likes

    Member

Posts: 51
Threads: 0
Joined: Jan 23, 2023
Credits: 0
One year registered
#5

I googled a lot and all of them talked about python and html and css and JavaScript, but i want to know from seasoned warrior, where can i start? And what are the best places to start in? And what are the best free among the free courses and such to start with? And is there an estimation to how long do i have to wait to get a stable work?

I think you need to master low level programming language like C++ and C# which will make you understand more on how systems work and such


  • 0

#6

FaithHF
FaithHF
    Offline
    36
    Rep
    234
    Likes

    SESH

Posts: 408
Threads: 36
Joined: Dec 04, 2016
Credits: 0

Seven years registered
#6

I think you need to master low level programming language like C++ and C# which will make you understand more on how systems work and such

 

...

How are either of those low-level...?


  • 0

#7

JohnnyBeGood40
JohnnyBeGood40
    Offline
    0
    Rep
    1
    Likes

    Member

Posts: 34
Threads: 1
Joined: Jan 21, 2023
Credits: 0
One year registered
#7

I would get into linux. Learn everything you can about linux.


  • 0

#8

finnwhite
finnwhite
    Offline
    0
    Rep
    0
    Likes

    Member

Posts: 51
Threads: 0
Joined: Jan 23, 2023
Credits: 0
One year registered
#8

...

How are either of those low-level...?

C++ allows direct memory manipulation which helps you understand systems more

C# allows you to understand .net and Windows applications more


  • 0

#9

FaithHF
FaithHF
    Offline
    36
    Rep
    234
    Likes

    SESH

Posts: 408
Threads: 36
Joined: Dec 04, 2016
Credits: 0

Seven years registered
#9

C++ allows direct memory manipulation which helps you understand systems more

C# allows you to understand .net and Windows applications more

Do me a favour, write an abstract class in C++, then make an actual class that inherits from it. Whatever is in that class doesn't matter, so long as there is one property and one method. And of course, use that method somehow (e.g. print the data with std::cout)

Now, after compiling it, throw it into x64dbg, and try to make ANY sense of it.

(Easy mode: use whatever additional tooling you want, but that would prove that it's not understandable at low-level.)

(Hard mode: compile without symbols, like an actual release-version of any software.)

 

As for C#, yeah you learn the .NET framework, which is, well, a runtime. It's inherently high-level since it's a compatibility layer between the OS and your code. That's like saying Java is low-level.

inb4: "I can call a native DLL with C#!" Yeah, Java can do that too through JNI. The native DLL isn't written in C# or Java though since the bytecode is completely different.

Learning winternals is learning Win32. Not learning .NET

 

Low-level access does not mean low-level language. You need to already have a good grasp of low-level fundamentals before you use low-level access in a language, and low-level access is still mostly optional in both those languages.


  • 0

#10

finnwhite
finnwhite
    Offline
    0
    Rep
    0
    Likes

    Member

Posts: 51
Threads: 0
Joined: Jan 23, 2023
Credits: 0
One year registered
#10

Do me a favour, write an abstract class in C++, then make an actual class that inherits from it. Whatever is in that class doesn't matter, so long as there is one property and one method. And of course, use that method somehow (e.g. print the data with std::cout)

Now, after compiling it, throw it into x64dbg, and try to make ANY sense of it.

(Easy mode: use whatever additional tooling you want, but that would prove that it's not understandable at low-level.)

(Hard mode: compile without symbols, like an actual release-version of any software.)

 

As for C#, yeah you learn the .NET framework, which is, well, a runtime. It's inherently high-level since it's a compatibility layer between the OS and your code. That's like saying Java is low-level.

inb4: "I can call a native DLL with C#!" Yeah, Java can do that too through JNI. The native DLL isn't written in C# or Java though since the bytecode is completely different.

Learning winternals is learning Win32. Not learning .NET

 

Low-level access does not mean low-level language. You need to already have a good grasp of low-level fundamentals before you use low-level access in a language, and low-level access is still mostly optional in both those languages.

Interesting point of view but you still need to manage some of the memory by hand in C++


  • 0


 Users browsing this thread: