3 ms·
Go out and buy/find/read the following books: (1) Patterns of Enterprise Software Architecture https://www.oreilly.com/library/view/patterns-of-enterprise/0321
by raydiatian 4y ago
Go out and buy/find/read the following books:
(1) Patterns of Enterprise Software Architecture https://www.oreilly.com/library/view/patterns-of-enterprise/0321127420/ https://www.oreilly.com/library/view/patterns-of-enterprise/...
WHY: What kind of things do we need to build enterprise software applications, and where should we draw lines to separate concerns for these subsystems?
(2) Gang of Four Objected oriented design patterns https://www.digitalocean.com/community/tutorials/gangs-of-four-gof-design-patterns https://www.digitalocean.com/community/tutorials/gangs-of-fo...
WHY: what are the recurring themes in doing good OOP as described by the guys who have been doing it since the beginning?
(3) Microservice Design Patterns https://microservices.io/patterns/microservices.html https://microservices.io/patterns/microservices.html
WHY: What are the recurring patterns, themes, and challenges in building good micro service architectures?
(4) Uncle Bob’s Clean Code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship https://www.amazon.com/Clean-Code-Handbook-Software-Craftsma...
WHY: Write code that somebody else could pick up, read, and not be completely baffled by. In all likelihood, the next person to read your code will be you. Here’s how to do it.
(5) SOLID Design patterns
WHY: Essentially how to do good OOP part deux.
These are basically, in my opinion, the equivalent of University Physics or Eisberg/Resnick QM textbooks. They’re seminal texts with a lot of valuable insights into patterns, jargon that other seniors throw around, etc. Also depending on your learning style I’ve seen this material covered in a billion different shapes: YouTube pseudo-lectures, GitHub repos, blog posts.
Additionally, if I understand correctly you’re lonewolfing it? You mention “writing more code” as a solution, but the infinitely better solution to becoming a senior is “reading more code.”
- terjeja 4y agoThanks a lot for this. I will look into it. And great suggestion to "read more code" I am working for a consultancy, which does most of the selling. But as much of the selling is done by presenting good candidates, I need to be seen as a solid consultant in my own right. If my resume is not good enough, the clients will never want to talk to me, and I am very hard to place. E.g. I am passed for all the interesting work. Most of the consulting assignments are companies that need another developer on their existing teams, which usually are consisting of two to five other persons or some smaller tasks which I am expected to solve for the client by myself.
- raydiatian 4y agoPick an ambitious side project(s), something that interests you and would force you to develop the skills you mentioned earlier. Work on this side project on GitHub, and then add it to your resume/portfolio, and make the code public. FWIW, if I were a hiring manager I’d be interested in the physics doctorate because of overlaps in systems thinking.
- lookagain 4y ago
- borplk 4y agoNot bashing your answer but I just want to say a junior-ish developer who has read some of those books and is now overconfident in their skills is one of the worst and most toxic combinations I have ever had to deal with. Knowing very little yet too arrogant to learn and always ready to smack you with the appeal to authority of the last book they just read on 47 principles of good code. So word of advice to OP, don't become the beginner expert who has crammed a few books and now wants to fight everybody for the best programmer championship belt. Stay humble and learn from the master craftsmen who have been going at it for decades. No amount of Uncle Famous books and blog posts is going to substitute for that experience.
- raydiatian 4y agoAgree
- raydiatian 4y agoThen again, the reason it’s toxic is because of how we put rockstars on pedestals and perpetuate company cultures where plateaus are grounds for PIPs and terminations. Sometimes finding a mentor is hard when you feel like your coworkers and superiors resent your employment as a result of a supply-side shortage of “betters” engineers.