The Passionate Programmer Creating A Remarkable Career In Software Development Pdf

2 views
Skip to first unread message

Anjali Reyome

unread,
Aug 5, 2024, 1:44:48 PM8/5/24
to eritogsi
Ireally love this book by Chad Fowler. I read it in a period in which I was struggling to grow in my career, working in a very toxic environment, and dazed and confused about what I was looking for in the software development world.

At that time I was asking myself: What should I study now? Am I a full-stack developer? Should I focus on backend? Or frontend? What programming languages should I learn? This book has helped me a lot to answer all of these questions.


The book is strictly about career development and it has a lot of insights about how to perform better as a programmer and explore the best opportunities for you. With this book, I discovered how much I really love to work with programming and it has opened my eyes to some ways to improve.


A masterpiece by David Thomas and Andrew Hunt. This book is about career development too, showing topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.


Just brilliant. This book by Todd Hoff presents some very interesting and complex concepts about networks, cloud services and it explains what happens under the hood when you watch something on a huge streaming service like Netflix.


Not only having these hard concepts being explained in a very enjoyable way to read but this book has also opened my mind about presenting content. The terminology, the images, the analogies, all of these aspects in this book have helped a lot to make my own presentations.


Chad explains that the first part of the problem is recognizing that there even is a problem. "Strangely, we don't all set out on the quest to lead remarkable lives when we start our careers. Most of us are content to go with the flow. Our expectations have been lowered for us by the media and by our friends, acquaintances, and family members. So, leading a remarkable life is something you have to discover as even being a reasonable goal. It's not obvious."


Success in today's IT environment requires you to view your career as a business endeavor. In this book, part of the new Pragmatic Life series, you'll learn how to become an entrepreneur, driving your career in the direction of your choosing. You'll learn how to build your software development career step by step, following the same path that you would follow if you were building, marketing, and selling a product. After all, your skills themselves are a product.


The choices you make about which technologies to focus on and which business domains to master have at least as much impact on your success as your technical knowledge itself--don't let those choices be accidental. Chad will walk you through all aspects of the decision-making process, so you can ensure that you're investing your time and energy in the right areas.


You'll develop a structured plan for keeping your mind engaged and your skills fresh. You'll also learn how to assess your skills in terms of where they fit on the value chain, driving you away from commodity skills and toward those that are in high demand. Through a mix of high-level, thought-provoking essays and tactical "Act on It" sections, you will come away with concrete plans you can put into action immediately. You'll get a chance to read the perspectives of several highly successful members of our industry from a variety of career paths, and new tips have been added through the book to reflect new lessons to learn and new actions to take to improve your career.


As with any product or service, if nobody knows what you're selling, nobody will buy. With the help of The Passionate Programmer, you'll see an effective way to navigate the often-neglected world of marketing, and you'll create a plan to market yourself both inside your company and to the industry in general.


For a review copy or more information please email pragp...@oreilly.com. Please include your delivery address and contact information. Chad Fowler is an internationally known software developer, trainer, manager, speaker, and musician. Over the past decade he has worked with some of the world's largest companies and most admired software developers. He is co-organizer of RubyConf, RailsConf, and RailsConf Europe and author or co-author of a number of popular software books.


Additional Resources

For more information about the book, including errata, discussions, full table of contents, excerpts from the book and more, see the catalog page for The Passionate Programmer.


The Pragmatic Bookshelf features books written by developers for developers. The titles continue the well-known Pragmatic Programmer style, and continue to garner awards and rave reviews. As development gets more and more difficult, the Pragmatic Programmers will be there with more titles and products to help programmers stay on top of their game.


Fowler makes a great point about how as software developers we should be setting our sights to be as great as we can be rather than just good enough to hold on to a job. You may have been asked the question by some well-meaning family member or friend (I know I have) about any concerns of losing your job to outsourcing.


To me, this is pretty small thinking and I'm sure the good and great developers in our profession have spent very little time concerning themselves with this fear. If you're aiming for the pinnacle of our profession you may never reach the absolute top, but chances are you'll end up far above average. This is a central theme from another book I'd highly recommend to anyone: The Magic of Thinking Big.


It's also important to keep in mind that you are a product of those around you. Fowler points out that you're better off being the worst at your craft wherever you go. This may be uncomfortable at first, but eventually being around and working with people who are more skilled than you will raise your own level. As you eventually look up and realize you've now become the best in your group. Then it may be time to look for the next challenge so that you can keep growing at a high rate.


Fowler points out that perception is reality. How people perceive you affect your career. And what your perception is based on is different between development team members and those on the business side.


Your project manager does not care how clean your code is because they will never have to read or work with it. They care about how your contributions are helping move your project and team forward and how effectively you communicate that. So tailor your message to your audience.


A critical skill for software developers is the ability to communicate effectively through writing. After all your job is to express ideas through writing in code. If you have difficulty doing so it will affect other people's perception of you.


Luckily this is a skill that's very easy to improve. Write blog articles or even a book. What better way to get your name out there as an expert in your field? For further reading on how to market yourself and skills as a developer I'd highly recommend this book: The Complete Software Developer's Career Guide: How to Learn Your Next Programming Language, Ace Your Programming Interview, and Land The Coding Job Of Your Dreams


There are no artists out there producing great work without putting their energy and enthusiasm into their work. Fowler draws a parallel with musicians and programmers in that they both require a passion for truly great results. Where the professions differ is that no one goes into music for a steady paycheck.


Software development pays well and is an in-demand profession. Not everyone goes into the field because it's their passion, for some it's just a job and for them, that's just fine. But to me, if you're going to devote a large amount of your life doing something why not do something that excites you? You'll get the most out of life if you're putting passion into your work. You'll be making the most out of your abilities and providing the most value to others.


As a software developer, you most likely won't have a real deep understanding of the problem domain that you're working in, and that's okay. But that doesn't mean you shouldn't at least try to. As developers, our job is to of course develop software, but also to provide value for the businesses we work for.


It's very easy to shrug your shoulders and say that understanding the domain is outside of your concern, but you could be missing valuable opportunities. The better you understand the domain you are working in, the easier time you'll have building solutions using that knowledge.


The author makes an interesting comparison about how a musician wouldn't practice at a paying gig and expect to be compensated for it. Musicians do their practicing behind closed doors where no one can hear. When you're practicing something you're typically stretching your abilities so the product you're producing probably isn't fit for public consumption.


As professionals, we should be dedicating some time to honing our craft. Fowler provides examples of good ideas for focusing practice time. There are coding challenge sites like Top Coder and Code Kata. Contributing to open source projects or building your own side project are also great.


Another is reading other developer's code. You can get good ideas (and bad ones), but this is a good way to show you ways to solve problems that you may have not yet been exposed to. Just Say No...Or At Least I Don't Know


I've been programming professionally for several years already and what I have observed is that the amount of good programmers out there, of great developers who love their work and can do it with quality and passion is pretty much close to zero. I probably met only one person who could teach me something. Most of what I know I have learned by myself, reading books and forums, asking in forums and googling for revelation thoughts.

3a8082e126
Reply all
Reply to author
Forward
0 new messages