57 ms·
My first piece of advice is to ignore what everyone tells you and find a path you're comfortable with. :) What's been hard for me is deciding when to explore an
by Jach 15y ago
My first piece of advice is to ignore what everyone tells you and find a path you're comfortable with. :) What's been hard for me is deciding when to explore and when to exploit. With a full time programming job that's mainly applying my knowledge, not doing real research, I have much less time to explore, but back in high school and the summers in between I had lots of free time to learn a little of this and that and play around a lot. I started with a PHP+MySQL book and for the first couple of months or so just plowed through it, typing in the examples manually or doing my own variations of the topics. When I learned about the "ternary operator" I made a web page that just printed out alternating rows of color.
My second piece of advice is to find a problem, ideally a bunch of problems, that you want to solve and that programming can help you solve. Solve them. Definition of problem: something to solve. ;P e.g. a program that prints the Bottles of Beer lyrics out, increase the start number until you can crash/slow down your computer or server, build a blog website, image gallery, video game with PyGame, or in text, native QT app calculator, project Euler math problems, robots, whatever. The key is you have to have a desire to work on whatever you're working on. When you lose that desire for your current project, procrastinate by switching to a different project.
My third piece of advice is to learn how to use the git source control manager and interfacing with GitHub. Then troll some Python repositories ( https://github.com/search?type=Repositories&language=&q=language%3Apython&repo=&langOverride=&x=0&y=0&start_value=1 https://github.com/search?type=Repositories&language=... ), find some with an open issues list and an issue that isn't assigned to a particular person, fix the issue if you want/can, and submit a pull request. Now you can say you've contributed to open source software!
Edit: if you really have no ideas of your own, which I'd find hard to believe, you can do a small project I've been meaning to get around to for a while so I can blog about it. (I blog mostly to my past self.) Implement a clone of the game Pong three times in an imperative, Object-Oriented, and functional style of programming.