Reddit reviews The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life)
We found 13 Reddit comments about The Passionate Programmer: Creating a Remarkable Career in Software Development (Pragmatic Life). Here are the top ones, ranked by their Reddit score.
Pragmatic Bookshelf
Here's my list of the classics:
General Computing
Computer Science
Software Development
Case Studies
Employment
Language-Specific
C
Python
C#
C++
Java
Linux Shell Scripts
Web Development
Ruby and Rails
Assembly
They seem a like reasonable starting point I think. Repetition is the mother of mastery, the more books the better (in addition to applying what is learned).
Since Mosh is calling out learning fundamentals as important to becoming a good C# developers, I would personally also recommend some general (non C# specific books) too for who are starting out in software development:
There's a ton more, but those are a few that stood out to me. Essentially the more the merrier in my opinion - books, courses, videos, tutorials, and so on. The books I'm recommending here focus on adopting the developer mindset and being successful at it. That's part of the puzzle.
The other part is understanding the technical details including the programming language and frameworks you intend to use.
And finally, for learning about C#, I do highly recommend Mosh's videos/courses (some are free on YouTube, others available on Udemy). He's got a unique ability to explain things clearly and simply in a way that beginners can pick up quickly.
What I'd do is check out his free content first, and if you agree his style is ideal for learning, an investment in one of his courses is well worth it since he'll cover a lot more breadth and depth on each of the topics and they're organized into a super consumable package rather than scouring the internet for various topics.
There are a number of books that I think you ought to read to get a better understanding of office politics and how to cope/deal with them. All offices have politicking going on, and any company that claims otherwise is lying to you. Any time more than 2 people get together, there will be some sort of jostling for power and attention. When that happens at work, we call it "office politics".
Your library may have these, and if you get them, read them at home. Don't ever bring them into the office.
Corporate Confidential. HR is your enemy, not your friend. Gives a number of examples of what will destroy your career with companies, many of which you (and I) probably do without realizing the consequences.
The Passionate Programmer. The first edition of this book was called "my job went to India". While aimed at programmers, the points are to keep your mind and skills up to date as technology and business move too rapidly to let things get rusty.
To Be or Not to Be Intimidated.
Looking out for number one.
Million Dollar Habits. I feel that these 3 by Robert Ringer are very important. If you think his first book was about to intimidate others, you only read the press coverage. If you think his books are about real estate, then you only skimmed them. There are a lot of people in the world who will try to intimidate you into giving up what is yours, and he shows you what some of them are like, and what countermeasures you can use.
The Art of Deception. Bad title - it is about arguments, how to make them, win them and tell if you're hearing a bad one. Used to be called "rhetoric" when Plato and Aristotle taught the subject.
Snakes in Suits. There are some evil people out there. You'll work for some of them. You will be stabbed in the back by some of them.
Bullies, Tyrants, and Impossible People. One book on office politics and dealing with some of the worse sort.
The Gentle Art of Verbal Self-Defense at Work. Some folks are very good with verbal manipulation, this book and the others in the series, cover how to deal with such people.
Winning with People. Most of the books this author writes are about managers and leadership. This book is more about people skills. It will be focused more at managers, but I think it is a good one.
The 48 Laws of Power. They have it. You want some. Light read with anecdotes. I like his other books as well.
Games At Work. Office politics.
It's All Politics. Yes it is.
Moral Politics. Liberals and conservatives, why do they think that way? You'll work with some of the opposite persuasion some day, so understanding where they come from is a reasonable idea. Most books on this subject are insulting and degrading, but I think this one is pretty much judgement-free.
> When I walk by him going to the bathroom, he will stop talking until I walk by.
Do the same. When they come to your desk, always brush them aside with "I'm sorry, I can't talk now, I'm busy working".
Just an FYI, it is cheaper on amazon http://www.amazon.com/The-Passionate-Programmer-Remarkable-Development/dp/1934356344
Its the same ISBN from what I could see, even though amazon says 1st edition and the publisher says 2nd edition.
I've posted this before but I'll repost it here:
Now in terms of the question that you ask in the title - this is what I recommend:
Job Interview Prep
Junior Software Engineer Reading List
Read This First
Fundementals
Understanding Professional Software Environments
Mentality
History
Mid Level Software Engineer Reading List
Read This First
Fundementals
Software Design
Software Engineering Skill Sets
Databases
User Experience
Mentality
History
Specialist Skills
In spite of the fact that many of these won't apply to your specific job I still recommend reading them for the insight, they'll give you into programming language and technology design.
It does look like spam. Sorry.
I did not buy the course, but I've watched a few of his videos on YouTube. His thesis is to think of your career as a business, and to learn how to market yourself so that work comes to you, not the other way around. Pretty insightful stuff.
Irregardless, $299 is way overpriced. You can find the same advice in Chad Fowler's The Passionate Programmer.
Congratulations! That's a big step. Be proud that you were able to make the switch. Not many people manage to transform ideas into results.
I think there are four areas on which you need to focus, in order to go from mediocre to great. Those areas are:
Now, these areas don't include things like marketing yourself or building valuable relationships with coworkers or your local programming community. I see those as being separate from being great at what you do. However, they're at least as influential in creating a successful and long-lasting career.
Let's take a look at what you can do to improve yourself in those four areas. I'll also suggest some resources.
​
1. Theoretical foundation
Foundational computer science. Most developers without a formal degree have some knowledge gaps here. I suggest taking a MOOC to remediate this. After that, you could potentially take a look at improving your data structures and algorithms knowledge.
​
2. Working knowledge.
I'd suggest doing a JavaScript deep-dive before focusing on your stack. I prefer screencasts and video courses for this, but there are also plenty of books available. After that, focus on the specific frameworks that you're using. While you're doing front-end work, I also suggest you to explore the back-end.
​
3. Software engineering practices.
Design patterns and development methodologies. Read up about testing, agile, XP, and other things about how good software is developed. You could do this by reading the 'Big Books' in software, like Code Complete 2 or the Pragmatic Programmer, in your downtime. Or, if you can't be bothered, just read different blog posts/Wikipedia articles.
​
4. Soft skills.
​
Some closing notes:
- For your 'how to get started with open source' question, see FirstTimersOnly.
- If you can't be bothered to read or do large online courses, or just want a structured path to follow, subscribe to FrontendMasters and go through their 'Learning Paths'.
- 4, combined with building relationships and marketing yourself, is what will truly differentiate you from a lot of other programmers.
​
Sorry for the long post, and good luck! :)
Working in Legacy one of the areas you can make an impact on a system. Bar none. You can pretty much refactor until your hearts content, you can make wrappers to old calls in new fancy ways, cook up solutions to problems you've identified and present these to your colleagues. Because that's what good developers do..
It's rare you get to work on exactly what you want to all the time in this game.
So what are your alternatives now?
To be honest I do think you have made a mistake. But an important one. If you learn from it, then that's all good and you shouldn't worry about it.
Sometimes you'll learn people don't know why things are a good idea or a better option... you've got to steer them and let them think it's them that's making the decision on something great, when really, that was your plan all along.
You know where you get the real money and make the real difference in our game? Working at either end of the spectrum. Either bleeding edge, or with tech so old no one else wants to touch it. If you want the middle ground, the easy predictable stuff then be prepared to not be making much of a difference in your day to day duties. It's just the way the game works.
Suggested reading; The Passionate Programmer;http://www.amazon.com/The-Passionate-Programmer-Remarkable-Development/dp/1934356344
Apprenticeship Patterns; http://chimera.labs.oreilly.com/books/1234000001813/index.html
Best thing to do is put a period in it and move on.
Good luck!
http://www.amazon.com/Passionate-Programmer-Remarkable-Development-Pragmatic/dp/1934356344/ref=sr_1_1?ie=UTF8&qid=1422574454&sr=8-1&keywords=A+passionate+programmer&pebp=1422574452299&peasin=1934356344
Read that. Seriously. I am half way through it and it is amazing
If I was to make a guess, it is that your problem is not your technical skills. You can be the best programmer in the world, but if there are behavioral or cultural red flags you can have huge problems finding a job. What does a Google search for you turn up? How do you act in interviews? How are you to interact with? Those kind of things. A good starting point for addressing these issues is Land the Tech Job You Love. For general career development I have enjoyed The Passionate Programmer personally.
There're these books, with the sort of meta, job/project wisdom I think, being glancingly familiar with them (though I haven't read either, they just look like what you're looking for). For what it's worth they're both well-known developers.
97 Things Every Programmer Should Know: Collective Wisdom from the Experts
And -
Chad Fowler's "The Passionate Programmer: Creating a Remarkable Career in Software Development"
I am sorry you are having a hard time.
When I feel low about programming/engineering, I sometimes find a good book or two for motivation. The Passionate Programmer is one of my favorites.