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?

#11

imenload
imenload
    Offline
    0
    Rep
    0
    Likes

    The Young Master

Posts: 19
Threads: 1
Joined: Aug 05, 2018
Credits: 0
Five years registered
#11

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)

Thanks for the help, i really appreciate it very much
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

#12

stacysummers
stacysummers
    Offline
    0
    Rep
    0
    Likes

    Lurker

Posts: 4
Threads: 0
Joined: Oct 10, 2023
Credits: 0
Half year registered
#12

To become a software engineer with a focus on

Please Login or Register to see this Hidden Content

and

Please Login or Register to see this Hidden Content

, you should acquire a combination of technical skills, knowledge, and practical experience. Here's a roadmap to guide your learning:

Programming Languages:

Learn a programming language commonly used in software development. Python, Java, JavaScript, or Go are popular choices. Proficiency in scripting languages (like Python) is particularly beneficial for automation tasks.
Version Control:

Master version control systems, especially Git. Understand branching, merging, and pull requests, as version control is fundamental to collaborative software development.
Operating Systems:

Gain a solid understanding of operating systems (Linux, Unix, and Windows). Learn how to navigate the command line, perform basic system administration tasks, and troubleshoot issues.
Networking:

Acquire knowledge of networking principles, including TCP/IP, DNS, HTTP/HTTPS, and load balancing. Understand how networks operate to troubleshoot and optimize application performance.
Cloud Platforms:

Familiarize yourself with cloud platforms such as AWS, Azure, or Google Cloud. Learn how to deploy, manage, and scale applications in the cloud. Understand key cloud services and concepts.
Infrastructure as Code (IaC):

Learn IaC tools like Terraform or AWS CloudFormation to automate the provisioning and management of infrastructure. Understand the benefits of treating infrastructure as code.
Containerization and Orchestration:

Master containerization technologies like Docker and container orchestration tools like Kubernetes. Understand how containers streamline deployment and enhance scalability.
Continuous Integration and Continuous Deployment (CI/CD):

Implement CI/CD pipelines using tools like Jenkins, GitLab CI, or Travis CI. Learn how to automate testing, build, and deployment processes.
Monitoring and Logging:

Gain expertise in monitoring tools (e.g., Prometheus, Grafana) and logging solutions (e.g., ELK stack - Elasticsearch, Logstash, Kibana). Understand how to analyze logs and metrics to troubleshoot and optimize.
Security Practices:

Understand security best practices and integrate security into the DevOps pipeline. Learn about container security, network security, and secure coding practices.
Site Reliability Engineering (SRE):

Familiarize yourself with SRE principles, which focus on reliability, scalability, and performance. Understand concepts like Service Level Objectives (SLOs), Service Level Indicators (SLIs), and error budgets.
Automation and Scripting:

Develop strong scripting skills for automating repetitive tasks. Use tools like Ansible or Puppet for configuration management.
Collaboration and Communication:

Enhance your communication and collaboration skills. DevOps emphasizes teamwork and communication between development and operations teams.
Soft Skills:

Develop soft skills such as problem-solving, adaptability, and a continuous learning mindset. These are crucial in dynamic and fast-paced DevOps environments.
Certifications:

Consider obtaining relevant certifications, such as AWS Certified DevOps Engineer, Kubernetes Certified Administrator, or others, to validate your skills.
Remember that hands-on experience is crucial in the world of DevOps and SRE. Practice what you learn by working on real-world projects, participating in open source contributions, and experimenting with different tools and technologies. Stay updated with industry trends and be proactive in adapting to new technologies and methodologies.


  • 0

#13

EGOISTSERVICE
EGOISTSERVICE
    Offline
    0
    Rep
    1
    Likes

    EGOIST REFUNDS

Posts: 62
Threads: 2
Joined: Oct 10, 2022
Credits: 0

One year registered
#13

it depends on what field i would go for c++ and assembly


  • 0

#14

everyone1234
everyone1234
    Offline
    0
    Rep
    0
    Likes

    Lurker

Posts: 5
Threads: 0
Joined: Dec 15, 2023
Credits: 0
#14

i mean if u want d


  • 0


 Users browsing this thread: