Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trial
Kaitlyn Dodds
32,545 PointsAttention all wise programmers! (Treehouse teachers especially)
So summer has just gotten started and I'm looking for a little advice from experienced programmers on how to use all this extra time I have to improve myself as a programmer.
My goal this summer is to get a ton of experience in programming. I have two semesters of college programming courses, some independent learning, and of course Treehouse courses under my belt and I'm looking for advice on what I can do to really impact my skills.
Any ideas on projects, books, and special skills that could help me improve my worth as a programmer would be greatly appreciated. I'm working through the courses offered on Treehouse, but I'd like to branch out a bit, practice my skills, and learn some more advanced topics.
If you have a project that you think helped you learn a lot, or a book that every new programmer should read, or just tips on how to get better, please let me know!
Thanks!
3 Answers
Christopher Loyd
Courses Plus Student 5,806 PointsIt's one thing to learn to program, it's a whole different ball game in understanding how programming languages actually work and what's going on behind the scenes.
If you're interested in this level of a deep dive, I'd recommend the book below. It's a behemoth, and some pretty advanced material - but it makes as a great reference for understanding the logic behind programming languages.
Programming Language Pragmatics
Some other great books to help with becoming a well-rounded programmer I've linked below. I feel like any serious programmer should have these on their bookshelf at some point or another, and I've went back and reread them many times myself.
Design Patterns: Elements of Reusable Object-Oriented Software
(If you do decide to buy any of these books, or get yourself copies of them by other means, I would highly suggest a paper/hardback to the digital versions. These will be books that you continually reference throughout your career, and there's a good chance that they'll have coffee stains, highlighter marks, penciled-in comments, etc. after a couple of years).
Additionally, if you have a math focus and you'd like to work on your problem solving and data manipulation skills, I would suggest checking out Project Euler. It has a plethora of mathematical problems that are aimed at software developers, and they progressively get harder as you go along. These will definitely challenge the way you think about dividing up problems.
Note: My background is in traditional desktop and relational database development, and I'm brand new to web development and design. These books were written with a focus on traditional programming languages and desktop development. While some of the content in these books may not be directly related to web development, the concepts described are still applicable to any software developer.
alex gwartney
8,849 PointsAdding on to Christopher Loyd post of lists of books one other book i suggest you defiantly read it has helped me a lot so far its called soft skills by John sonmez from simpleprogrammer.com really good read.
Stefan Hoffmann
24,811 PointsThose are all very good answers. And very good books. Most of them I did read already.
Additionally I'd recommend to get yourself a real world project.
Maybe in a company, maybe something in the nonprofit area. Something where it is not so bad if you mess it up. So do not try to get involved into something they "really urgently need because a lot of money or lives depend on it".
This will put your skills to test. And you get an impression of how it is like to work with business people or people that do not have any idea, what you do there. Communication is a challenge and its opportunities are amazing once you figure out a few things about it. It is quite interesting and it will help you a lot in building great software.