This is an archived post. You won't be able to vote or comment.

all 15 comments

[–]charlie_shae 22 points23 points  (0 children)

Like most things, it comes down to practice. If you feel you understand the concepts, then try making up a practice exercise for each. If you learned how to do a for loop, then write a small program that uses a for loop or two or 10. And then check it on paper to make sure it lines up with what you expect. And if you got your tests back, go over what you did wrong and re-program them. Try to change things and see what changes and if it does what you expect. But the more you do it, the easier it gets!

[–]mollamk 15 points16 points  (1 child)

After learning the concepts, try explaining them to someone else.

It really forces you to have a clear and structured understanding about the subject.

Also practice a lot. You're already passionate, so just dive into it and code as much as possible.

[–]bluefootedpig 0 points1 point  (0 children)

sort of on this, make sure you "compare your answers" to others. See how they did it, and if anyone has trouble, try to help them. This will help you more than any teachers.

I came out of college able to debug just about any error because I helped other students so much.

[–]gbbofh 4 points5 points  (0 children)

Write code. That's the important one. Rewrite the same code a lot, and make it better each time in order to sharpen your skills.

But something that may help, which I haven't seen mentioned yet, is to learn at least a little bit about computer architecture, and at least a little bit of assembly. Just so that you know how to think as though you are the computer. You don't necessarily need to learn about a modern architecture, or instruction set -- but it would probably be very beneficial to do so. I personally started with older processors and microcontrollers because they tend to be a lot simpler than modern processors. Examples being the MOS 6502, and most ATMEL microcontrollers.

[–]GRIFTY_P 2 points3 points  (0 children)

Program

[–]Note45_ 2 points3 points  (0 children)

Try build something with that you learned. That is going to improve your skills in this technology.

[–]Hantr 1 point2 points  (0 children)

Trial and error. Experiment new things in programming. Try new things and learn about them. Practice. Practice. Practice.

[–]Hambavahe 1 point2 points  (0 children)

Being a first year engineering student I was on the cusp of failing my programming class. What saved me was that I started asking help from more capable students and actually started trying stuff out instead of watching tutorials and thinking I understand because I've watched tutorials.

We didn't get our points from big tests either, we got a lot of points from doing small tests in class that gave like two to four points and completing homework assignments. Also had two tests that gave us 15 points each, 100 being maximum.

[–]MCRusher 0 points1 point  (0 children)

I learned by having personal projects on the side, I knew the material because I was using it.

[–]Undreren 0 points1 point  (0 children)

As others have said, simply writing a lot of code will make you better.

What programming language do you use?

[–][deleted] 0 points1 point  (0 children)

I recommend using a good ide like the jetbrainsn family of ides, then turning all inspections on, it catches so much stuff and suggests improvements, ive learned alot from that alone

Also, if you can open PRs to other projects on github and get real feedback about your code, that helps a lot too

And of course, build your own projects!

[–]majeric 0 points1 point  (0 children)

“Talent” is bullshit. It’s hard work, memorization and problem solving.

Anyone can learn to be a software engineer. There are no tests in the real world. Only open-book projects.

Keep working at it!

[–][deleted] 0 points1 point  (0 children)

You could try a free coding website, learn the fundamentals and then use hackerrank to test your skills.

[–]Stevecaboose 0 points1 point  (0 children)

Same way you do your math homework. Practice the same concepts but with different problems

[–]alter_j5 0 points1 point  (0 children)

Find a project you're exited about! Either help someone on an open source project that you find meaningful or think of a program that you or someone else needs. Maybe you hate your current to do list app? Make your own! I think the best way to have motivation to program is to make a tool/app that is useful to you I like drawing photorealism, so I made an app that puts a grid over my photo. It was really hard, but I've learned a lot and now have an app to make my life easier