How fast can I go from a beginner in programming to landing an internship and how can I do it?
Posted by kobebean22@reddit | learnprogramming | View on Reddit | 19 comments
For context I am a late junior in college as a computer science major and I have 3 semesters left including the current one. I lowkey feel as if I haven't learned anything while in school. I maintain good grades and do what's required of me in class. But other than that I haven't practiced coding outside of school. The only projects I've done are the ones my teacher assigns and I haven't done any leetcode problems. Seeing all my friends getting internships and me getting rejected to everything because I can't do well on the technical interview or my projects aren't good enough is pretty discouraging but to be honest its the fruits of my labor. As of right now I finished data structures in school and have a basic understanding of C++, Python, and Java but not much else. Pretty much what I want to know is that if I resolve myself to dedicate my free time to coding how soon can I get an interview and what is the path I should take? I really want to succeed at this and I know it's pretty late to start now but I am pretty serious about this.
AffectionateZebra760@reddit
3-6 months min
Comprehensive_Mud803@reddit
The former has nothing to do with the latter, so it’s hard to say.
You should practice programming by yourself, but that’s a given for this field. And it’s not like you’re training to become a surgeon for who practicing at home is rather complicated.
As for internships, networking at events and through professors or family is what usually opens doors.
kobebean22@reddit (OP)
I do have an extended family member that said to come apply for his company when i graduate but i didn’t take it as a confirmation as its just word of mouth
Comprehensive_Mud803@reddit
You could contact that extended family for an internship or a side gig later on.
Usually, it’s either a good CV/portfolio that gets you the internship, or the nepo-contact.
mandzeete@reddit
Projects and leetcode are not related really. I work as a software developer and I have never done any leetcode. Is it needed? When you are trying to target big corpos. In other places where the hiring process is not like a conveyor belt, there the interview setup can be with much more variety than just leetcode.
As I never did any leetcode then my advice is to focus more on building actually useful projects. Make something that you will be using. Or something that some of your friends, course mates, relatives, etc. will be using. No hypothetical "But people might start using my calculator app." When it is not being used then it is not being used. Simple as that. Build actually useful stuff.
Join in hackathons. Join a programming/robotics club if there is any in your university. These are both ways to build more decent projects but also means to make connections. Connections matter.
And if you do not have any idea for a project then think of your own hobbies and interests and make projects based on that. Or make a project to automate your daily tasks or to make your tasks simpler.
I recently wrote a Firefox add-on, hosted in Firefox add-on hub, and I'm actually using it quite often when watching Youtube videos. Another useful thing I did was writing an IntelliJ plugin to notify me in Slack when unit tests and project build steps will end in the project that I'm working at. You also, build stuff for your own use or for somebody else's use.
kobebean22@reddit (OP)
where would i be able to find projects where people can give me feedback on them?
mandzeete@reddit
Github. Look for open source projects and open tickets in these projects. Pick one ticket and try to solve it. Submit a merge request. See if your stuff gets accepted or rejected (most likely rejected).
esaule@reddit
cs faculty here.
Before data structures, it is really hard to get much done. Data Structure is usually the class designed to teach you the harders bits of programming. So don't worry too much.
After that, you get good at programming by programming more. What I tell my students is to aim for 10 to 20 hours per week of programming. What you program doesn't matter much in my opinion as long as you are actually programming and not playing with a piece of program. (For instance, I have seen people telling me they program a lot, but really they were only designing levels for a game; while it is not bad training for a game developer, it doesn't make you better at programming games.)
I usually recommend no project longer than 2 week ends. I also recommend not trying to learn more than 1 thing at once.
kobebean22@reddit (OP)
yeah i’m planning on brushing up my python knowledge a bit and then focus on a project using python that i can complete within a week and move up from there
DirkSwizzler@reddit
There's no real way to predict the speed with which you can rise. It all depends on ability and passion.
I myself skipped internships and landed one job before finishing college. Only to also land my dream job also before finishing college (I'm still there 21 years later).
You need to be practicing all the time if you want success to flow.
If you need to work on your mechanical skill. Work on bug fixes for an existing open source project that actually has a community of users.
If you need to work on your problem solving skills. Start your own project that's targeted at an existing community of people that will use it and provide feedback.
Both styles are aimed at real world workflows. Designing new things and fixing others' code are very common. And having customers (even if unpaying customers) is essential to keep your results accountable. You want to avoid just waffling in a dark corner without objective measurements of the results.
PhoenixBlaze123@reddit
Gotta grind leetcode if you're looking for an internship, maybe do the cs50x course and cs50p. Use Python for leetcode, but learn C for the low-level understanding. Use anki flashcards to prepare for interview tech questions. Start building projects. It'll take a couple of months tbh. In the UK its a lot easier to get an internship as they don't expect you to be cracked in leetcode.
deleted_by_reddit@reddit
[removed]
AutoModerator@reddit
Please, ask for programming partners/buddies in /r/programmingbuddies which is the appropriate subreddit
Your post has been removed
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.
harshraj05@reddit
I am literally in the same shoe man.Ditto
desrtfx@reddit
That's exactly what separates you from your peers who will get a job sooner or later.
You need to practice coding. You need to do your own projects. You need to build a portfolio.
LeetCode is a different story. It is only for interview practice so that you can even get through the first stage of getting your foot in the door.
The problem is entirely on your side. You need to start actively working instead of passively waiting to be guided and taught. You need to seek information. You need to do things.
kobebean22@reddit (OP)
Does it matter what language I start coding with because I'm having trouble finding which is the best to do projects with though I am looking to start doing projects asap
Comprehensive_Mud803@reddit
It doesn’t matter and it does matter at the same time. Some languages are easier to learn, but it doesn’t matter in the long term.
desrtfx@reddit
The only thing that can tell what would get you a job/interview are the job advertisments in your area.
Also, being proficient in programming languages does not mean that you can program. Programming happens outside, above programming languages. Programming is solving problems, analyzing, breaking them down into discrete steps that then can be implemented in any programming language.
Also, you have a false understanding of projects. Every single thing you program is a project. Every single thing you program gives you experience.
kobebean22@reddit (OP)
You're right I'm lowkey overthinking it and tbh I might be unconsciously using the language choice as an excuse to not start. I appreciate the advice.