5 answers
Updated
475 views
What should we do to improve ourselves if we are programmers?
What skills are most essential for a programmer? How can we improve our skills? How could we get into a better company? What should we do to improve ourselves in college?
Login to comment
5 answers
Updated
Dima’s Answer
To get better as a programmer, focus on nailing the fundamentals, building real projects, and getting comfortable with your tools. Read other people’s code, keep learning without chasing every shiny new tech, and practice communicating clearly with teammates. And don’t forget to take care of yourself—burnout wrecks progress.
Updated
Sherry’s Answer
The essentials: build strong command of one primary language like java or C/C++, and know your core data structures and algorithms cold like sorting, searching, string handling, recursions, etc.
Improvement can only happen via consistent practice on SPOJ, CodeChef, and GeeksforGeeks(or other forums) to sharpen problem-solving and speed. I used to implement classic algorithms from scratch to deepen understanding, then apply them in small projects. I also used to go over interview question bank like amazon provides those and try to implement them for practice purposes.
To get into big companies, pair strong coding fundamentals with clear project evidence—if possible have a project on github, develop soft skills and practice interviews regularly. Try to intern in some company and get an experience. Find mentors who can guide you. Use AI to improve your coding skills and code structure. More you come out as clear, sorted and strong personality, more the people will like you.
Improvement can only happen via consistent practice on SPOJ, CodeChef, and GeeksforGeeks(or other forums) to sharpen problem-solving and speed. I used to implement classic algorithms from scratch to deepen understanding, then apply them in small projects. I also used to go over interview question bank like amazon provides those and try to implement them for practice purposes.
To get into big companies, pair strong coding fundamentals with clear project evidence—if possible have a project on github, develop soft skills and practice interviews regularly. Try to intern in some company and get an experience. Find mentors who can guide you. Use AI to improve your coding skills and code structure. More you come out as clear, sorted and strong personality, more the people will like you.
Updated
Sandeep’s Answer
That is a fantastic set of questions that shows you are thinking like a career professional, not just a student. The core of improving as a programmer and getting into a better company is shifting your mindset from simply "writing code" to "creating scalable value." The three most essential skills you must focus on are Data Structures & Algorithms (DSA), which is the foundational language of efficient computing; System Design and Architecture, which demonstrates your ability to build complex, real-world systems (like a major website or service); and Communication & Debugging, which is the high-value skill of clearly articulating technical problems and solutions to engineers and non-technical stakeholders alike. To improve in college, you should focus on gaining depth, not just breadth: master your core CS courses (especially Operating Systems and Networks), build one or two complex, end-to-end portfolio projects using modern tools like Docker and CI/CD, and actively seek out opportunities to contribute to open-source projects to learn professional code review standards. Getting into a better company often follows a predictable path: prioritize securing an internship at a top-tier firm, as this is the easiest route to a full-time offer, and structure your interview preparation by dedicating focused time to mastering DSA, studying System Design trade-offs, and practicing behavioral questions using the STAR method. By consistently mastering these technical and communication fundamentals, you will significantly improve your skills and career prospects.
Teklemuz Ayenew Tesfay
Electrical Engineer, Software Developer, and Career Mentor
517
Answers
Ethiopia
Updated
Teklemuz Ayenew’s Answer
To improve as a programmer, it is important to have a solid foundation in computer science fundamentals, develop mastery of at least one programming language such as C or C++, strengthen understanding of data structures and algorithms, sharpen debugging skills, and learn to write clean, maintainable code. Progress can be further supported by engaging in code reviews, participating in hackathons, attending tech meetups, and earning relevant certifications. Regular practice on platforms such as LeetCode, HackerRank, Exercism, CodeChef, Codeforces, AtCoder, Coderbyte, FreeCodeCamp, and GeeksforGeeks enhances problem-solving abilities. Learning platforms such as Coursera (audit mode), edX (audit mode), MIT OpenCourseWare, and Kaggle Learn offer opportunities to build skills without cost. Hands-on experience can be developed through personal projects, contributions to open-source repositories on GitHub or GitLab, early applications for volunteer roles or internships, and thorough preparation for both behavioral and technical interviews before entering the job market.
To enter a better company, it is essential to build strong technical knowledge, demonstrate practical experience, and develop soft skills such as communication, collaboration, problem-solving, time management, adaptability, and attention to detail. Networking opportunities can be found through online communities and professional platforms such as LinkedIn, GitHub, Stack Overflow, Stack Exchange, Reddit programming subcommunities, Hacker News, and Discord or Slack developer groups. Membership in associations such as ACM, the IEEE Computer Society, and local tech organizations can further support professional growth. Participation in student clubs, university programming societies, robotics teams, and technical organizations provides valuable collaboration experience and exposure to real projects. Above all, maintaining curiosity, staying updated with modern tools, frameworks, and industry best practices, and exploring diverse areas within computer science contribute to becoming a well-rounded and capable programmer.
To enter a better company, it is essential to build strong technical knowledge, demonstrate practical experience, and develop soft skills such as communication, collaboration, problem-solving, time management, adaptability, and attention to detail. Networking opportunities can be found through online communities and professional platforms such as LinkedIn, GitHub, Stack Overflow, Stack Exchange, Reddit programming subcommunities, Hacker News, and Discord or Slack developer groups. Membership in associations such as ACM, the IEEE Computer Society, and local tech organizations can further support professional growth. Participation in student clubs, university programming societies, robotics teams, and technical organizations provides valuable collaboration experience and exposure to real projects. Above all, maintaining curiosity, staying updated with modern tools, frameworks, and industry best practices, and exploring diverse areas within computer science contribute to becoming a well-rounded and capable programmer.
Updated
Sherwin’s Answer
I like this question, and in the face of AI changing what it means to be a programmer/developer. We all need to be thinking about this. I have seen videos on YouTube where they ask a 12-year-old kid to build an app. The child builds the app in half an hour. The kid now says, "I am an engineer". No, he is not an engineer. There is so much more that goes into engineering software that AI does not take into account right now, out of the box, in my experience using Warp Terminal. I agree with Khandelwal. You have to know more than the AI that is writing the code. You have to know what good coding structures are. No one should depend on AI to just do it right. I have had to build a complex set of rules to guide my tool to write code. We plan together. I always check its work because it can and will stray. I have to know where it went wrong or got off track. Mastering the rules of engagement in building the extraordinary systems will make you stand out from being just a grunt to being a thought leader.
Start building a small project now. Read the code. Understand the language.
Start building a small project now. Read the code. Understand the language.