3 answers
Updated
400 views
What is the best way to get into the computer science field? What programming languages are best to know?
I am a computer science student who has some experience with coding machine learning programs in python. I will be graduating this spring.
Login to comment
3 answers
Updated
Sandeep’s Answer
Hello Elizabeth,
The best way to get into the computer science field when graduating this spring is to shift your focus entirely from learning new concepts to demonstrating immediate job readiness and depth in your specialization. Since you already have a foundation in Python and machine learning, your path is not about finding the "best" general language, but about leveraging your existing knowledge to land your first role.
Regarding programming languages, since you are specializing in machine learning, Python is, and will remain, your most important language. However, to become a more well-rounded and versatile candidate which is often necessary for entry-level roles you should gain basic fluency in a second, complementary language. For someone focused on machine learning, the best secondary language is often JavaScript (for front-end web development to build those necessary user interfaces) or a compiled, performant language like Java or C++.
The best way to get into the computer science field when graduating this spring is to shift your focus entirely from learning new concepts to demonstrating immediate job readiness and depth in your specialization. Since you already have a foundation in Python and machine learning, your path is not about finding the "best" general language, but about leveraging your existing knowledge to land your first role.
Regarding programming languages, since you are specializing in machine learning, Python is, and will remain, your most important language. However, to become a more well-rounded and versatile candidate which is often necessary for entry-level roles you should gain basic fluency in a second, complementary language. For someone focused on machine learning, the best secondary language is often JavaScript (for front-end web development to build those necessary user interfaces) or a compiled, performant language like Java or C++.
Updated
Andras’s Answer
Great question! Having some hands-on experience is always an advantage and serves as good basis for discussion on any job interview. As fresh graduate it is of course not expected to have years of experience, but having an individual or team project at school, for example in the machine learning topic you mentioned, is a good path to get some feeling about software development flow. Also, doing any hobby project has many benefits, even if it is just a small tool you developed just for yourself. It shows that you are interested in this profession on top of the mandatory school topics, and that you are able to succeed in self-learning.
When it comes to programming languages, it depends on your preferences. If you prefer being close to the machine and you like scripting or low-level linux stuff, then Python is an excellent way forward. If you are interested in how the web pages and applications are built in the background, then Java or JavaScript are there pretty much everywhere and are easy to start with.
Hope this helps a bit. Feel free to ask if you would like to get more insights in any topic.
When it comes to programming languages, it depends on your preferences. If you prefer being close to the machine and you like scripting or low-level linux stuff, then Python is an excellent way forward. If you are interested in how the web pages and applications are built in the background, then Java or JavaScript are there pretty much everywhere and are easy to start with.
Hope this helps a bit. Feel free to ask if you would like to get more insights in any topic.
Teklemuz Ayenew Tesfay
Electrical Engineer, Software Developer, and Career Mentor
517
Answers
Ethiopia
Updated
Teklemuz Ayenew’s Answer
As graduation gets closer, think about your specialization because it will shape your career. With your background, software engineering could be a great fit. To get ready, focus on key skills like data structures, algorithms, debugging, and using Git and GitHub for version control. Learn tools like Linux, Docker, and cloud platforms such as AWS, GCP, or Azure. Improving your Python skills is essential, and picking up Java or TypeScript can also help. If you're interested in machine learning, review Python, NumPy, Pandas, SQL, and basic machine learning concepts.
Getting hands-on experience is key. You can do this with personal projects, internships, or volunteering in areas like frontend, backend, or cloud development. It's also important to develop soft skills like communication, documentation, teamwork, and attention to detail. Create a strong portfolio with at least three standout projects that show your problem-solving skills, clean code, and testing. Share your work on GitHub, LinkedIn, or a personal website. Practice problem-solving on platforms like LeetCode, HackerRank, Exercism, and CodeChef. Explore virtual experiences with Forage to understand software engineering workflows better.
When applying for jobs, customize your résumé for each role and prepare well for both technical and behavioral interviews. Join meetups, hackathons, and conferences, and become part of online communities to connect with mentors and professionals. Check out Discord servers like The Coding Den, DevCord, Reactiflux, Python Server, and TensorFlow Server for support and networking. Reddit communities like r/learnprogramming, r/cscareerquestions, r/programming, r/softwaredevelopment, and r/leetcode are great for asking questions, sharing projects, and learning from others. Engaging actively in these communities will boost your skills, grow your professional network, and help you on your way to a computer science role. By combining technical skills, a strong portfolio, professional connections, and solid interview preparation, you'll be ready to land your first job in computer science.
Getting hands-on experience is key. You can do this with personal projects, internships, or volunteering in areas like frontend, backend, or cloud development. It's also important to develop soft skills like communication, documentation, teamwork, and attention to detail. Create a strong portfolio with at least three standout projects that show your problem-solving skills, clean code, and testing. Share your work on GitHub, LinkedIn, or a personal website. Practice problem-solving on platforms like LeetCode, HackerRank, Exercism, and CodeChef. Explore virtual experiences with Forage to understand software engineering workflows better.
When applying for jobs, customize your résumé for each role and prepare well for both technical and behavioral interviews. Join meetups, hackathons, and conferences, and become part of online communities to connect with mentors and professionals. Check out Discord servers like The Coding Den, DevCord, Reactiflux, Python Server, and TensorFlow Server for support and networking. Reddit communities like r/learnprogramming, r/cscareerquestions, r/programming, r/softwaredevelopment, and r/leetcode are great for asking questions, sharing projects, and learning from others. Engaging actively in these communities will boost your skills, grow your professional network, and help you on your way to a computer science role. By combining technical skills, a strong portfolio, professional connections, and solid interview preparation, you'll be ready to land your first job in computer science.