Skip to main content
9 answers
9
Updated 967 views

What courses provide the best trajectory for someone looking to become a Software Engineer?

A bit about myself, I'm currently attending Job Corps. for the CCNA program on Networking. My goal is to complete this and pursue an advanced training for Database Administration, I believe using Microsoft Azure Architecture. A program Job Corps. offers is a transition to a two year or four year college. I want to transfer to a four year college to pursue a BS in Computer Science for Software Engineering. What curriculums should I be looking out for that would set me apart from other prospect Software Engineers leaving college? Also, what else can I do in my spare time, such as picking up a language or getting familiar with different environments, IDE's, etc.? #college #software #computer-software #college-major #technology

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

9

9 answers


8
Updated
Share a link to this answer
Share a link to this answer

Mickael’s Answer

Hi Walter,
"What curriculums should I be looking out for that would set me apart from other prospect Software Engineers leaving college? "
As a software Engineer that has spent years in recruiting interns and hires, I think there is no best curriculum, the only part that will make you set apart is just you!

"Also, what else can I do in my spare time, such as picking up a language or getting familiar with different environments, IDE's, etc."
You can get familiar to common IDE but that won't help for interviews. VS code, vim, emacs, sublime are example of common used IDE
I do recommend you to train yourself on one language. Python, Java (and derivated), C++ are good examples of common used language. C is used but is low level so really depends on the job you target.
Python is easy to start with.
But yes, please get familiar with coding, algorithm, data structure, algorithm complexity. This is the basics of computer engineering. Train yourself to write simple or not that simple programs to get familiar with a language.


Thank you comment icon Hi Mickael, This is very informative, the specific names of some of the concepts is super helpful, I'll be researching these topics promptly! As for IDE's, I've used Atom a lot but I recent starting using VS Code as well because I find it easier to use with Github with pushing commits and edits. Thank you for your response! Walter
Thank you comment icon Really happy that this response helped you. There is no one good answer. I personally use VS code, emacs and sometimes vim on Linux and VS studio express on windows for IDE. I used eclispe once. They all have pros and cons so it's all about your preferences. Mickael Rosenberg
8
2
Updated
Share a link to this answer
Share a link to this answer

Yaroslav’s Answer

Hello! Mickael’s Answer is very good, but I want to add something.
In college will be a lot of theory, and not so much practise hours. You should not afraid to spend about 20 hours peer week for consolidation of theory. Theory if very nice, but theory with really good practise skills will be significant advantage over competitors. You can read more in Robert Martin's book "The Clean Coder".

Soft skills are essential in IT world. You should pay attention to these skills too. No one wants to deal with an introverted individualist who does not know how to work in a team.

And last one. If you familiar with Database Administration and Networking, you should know how work UNIX OS in detail.
Topics like: interprocess communication, differences between process and threads, file systems and differences, I/O, multithreading and other.

Good luck in your exciting journey!
2
0
Updated
Share a link to this answer
Share a link to this answer

Taeyoun’s Answer

"What curriculums should I be looking out for that would set me apart from other prospect Software Engineers leaving college? "
Instead of focusing on specific curriculum, try to build a portfolio and practice a lot of interview questions and study the theory. Software developers use many tools and different languages, but if you want to be efficient you need to know the fundamental theory and know how to implement it. These two things a lone will make you stand out. When other people submit a resume, you can submit resume and portfolio. On top of that if you fly through interviews because you practiced interview questions and code tests, you can go far.

There are many things you can look into, depending on your interest. If you want to be a full stack developer you can focus on Java base languages like Quarkus and JS language React. Other popular tools are NodeJS, Angular, and Spring, SQL... etc. There are also other technologies such as Streaming tech like Kafka or Pulsar.
Thank you comment icon Hi Taeyoun, thank you for your answer! I'm glad that the key idea behind setting yourself apart from the rest is comprehension of fundamental ideas related to software engineering and its practice. I'll be sure to do some research on these topics and get the ball rolling before I hit the campus. Thank you! Walter
0
0
Updated
Share a link to this answer
Share a link to this answer

Rachel’s Answer

I'm not sure that the curriculum sets you apart as much as your work experience and soft skills do. I am working as a software tester right now but I majored in statistics in college. I took a wide variety of classes, including Python, Linux/Bash, C++, and R programming. I worked for the campus attorneys doing legal research for my undergrad. All in all, my background doesn't scream software, but it doesn't always have to. From my experience, employers are looking for skills like grit, perseverance, leadership, responsibility, and a "take charge" attitude. Focus on putting 100% into everything you do and strengthening your weaknesses and you'll do great!
Thank you comment icon Excellent! I'm glad that it's not courses that set you apart but rather work ethic and comprehension of core-topics. Thank you for your reply, this helps me a lot! Walter
0
0
Updated
Share a link to this answer
Share a link to this answer

Eric’s Answer

Hi Walter, In order to pursue your goal, you should take some courses on Database design or any Microsoft certified courses for MSSQL. That will align with your preferred Microsoft Azure Architecture. In your spare time, you should learn about Microsoft .net, python or java language. Those computer language will allow you to write any program on different platform. Hope this helps to prepare well to real engineering world!
0
0
Updated
Share a link to this answer
Share a link to this answer

Ali’s Answer

I would start with programming languages that are simpler to code to get the concepts and structure down first, Python and Powershell are good ones to start. There are so many types of software Engineers depend on the applications. Today with cloud computing applications, there is a lot of demand for Java and Javascript developers. I would take some of those classes.
0
0
Updated
Share a link to this answer
Share a link to this answer

Leonid’s Answer

Hi Walter,
You already got good advices from Mickael and Yaroslav.
My advice is - try to get Azure Architect certificate.
You can prepare yourself by following Microsoft learning path for this certificate and other online resources/courses. I had a good experience using udemy.com and coursera.org.
Other areas to practice: linux/bash scripting, python, sql.

Good luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

James’s Answer

Hi Walter,

For your question about curriculums to set yourself apart from other prospects, I would focus on finding courses that include projects that you can put on your resume. Many colleges include projects in the later part of degree programs

Interviewers will ask about projects listed on your resume. You can set yourself apart by explaining a project in detail to show that you applied what you learned in the classroom to a working project.

Regards,
James
0
0
Updated
Share a link to this answer
Share a link to this answer

Raghavan’s Answer

A software engineer requires programming knowledge along with deep understanding of some of the computer science fundamentals. Some of the core courses you should look for include: computer architecture, data structures, algorithms, operating systems, compiler design. If available, include embedded systems, computer networking.
Apply what you learn in these courses through lab work.
0