The tenacious software developer dilemma.

oslon

Member
Joined
Oct 15, 2023
Messages
40
Reaction score
6
Credits
424
My problem is that I know basics of programming, but not enough. It has been 7 years since I've first touched programming. I can read code, I can modify code, I can create small code. But I feel something is missing in me.

Please suggest me some books/courses to overcome this plateau.
Books like "python crash course" are seemingly too basic. Including "automating the boring stuff with python".
I want some sort of puzzle related books.

I'm purchasing lots of computer science textbooks recently.
These are the books I've purchased.

1) Operating System
  • Godbole, Kahate
  • Galvin et al
  • Stallings
  • Three easy pieces (it's free)
  • Deitel et al

2) Computer Networks
  • Fourouzan
  • Kurose Ross
  • Douglas Comer TCP IP internetworking

3) Security
- Atul Kahate Cryptography and Network Security

4) Digital Logic
- Thomas Floyd

5) Database Management Systems
  • Ramakrishnan, Gehrke
  • Conolly, Begg
  • Korth et al
  • Rajiv Chopra
  • C.J Date
  • Elmasri, Navathe

I am planning to buy books for system design, distributed systems etc.

I really dunno what I'm doing?

I know linux, sql etc. And working as a IT helpdesk guy.

I want to learn programming, pure programming that's helpful for devops engineers, what level of book should I learn from?

I'm wondering if there are books for people who have already almost built muscle memory for programming basics but want to move further. Directly starting into projects isn't helping me. Any proxy step that I can take before I enter as a real software developer? (No, I don't want to build websites, but I'm interested in backend engineering)
 


Start reading "Effective C" : By: Robert C. Seacord

He has written other books that are helpful as well.

You can participate in open source projects to illustrate your skills as well, if you'd like.

One of our members here is on the Lubuntu Team of Developers @KGIII.
He may be able to give you some suggestions.

And, our member @JasKinasis is a professional programmer.

Wish you the best.
 
I am planning to buy books for system design, distributed systems etc.
For that specific purpose, you need to get into Software Architecture. If you want to build distributed systems, then I would recommend something like the following (there are a couple of free resources):
  • Domain-Driven Design
  • Monoliths v. Microservices:
    • Sam Newman, "Building Microservices"
    • Sam Newman, "Monolith to Microservices"
    • Chris Richardson, "Microservices Patterns"
    • Chris Richardson, https://microservices.io
  • General
    • Gregor Hohpe, Bobby Wolf, "Enterprise Integration Patterns"
    • Martin Fowler, "Refactoring"
    • Ian Gorton, "Foundations of Scalable Systems"
There's also a lot to put into the implementation of Distributed Systems -- have a look to Contract Driven Testing, e.g.: https://docs.pact.io/, aside from the more traditional Test-Driven Development and Behaviour-Driven Development.

And good luck!
 
Transitioning from beginner to advanced in programming requires a shift in approach, especially for backend and DevOps roles. Here's your roadmap:

** Advanced Programming Books:**

  • The Pragmatic Programmer: Master software development principles & best practices.
  • Clean Code: Craft clean, maintainable, & efficient code, essential for backend engineers.
  • Designing Data-Intensive Applications: Understand data systems, crucial for backend work.
** System Design & Architecture:**

  • Designing Distributed Systems: Learn the principles of distributed systems, ideal for backend & DevOps.
  • System Design Interview: Master large-scale system design concepts.
** Online Learning:**

  • Coursera & edX: Advanced programming, system design, and distributed systems courses by top universities.
  • Udemy: Deepen your DevOps knowledge with courses like "Docker Mastery" and "AWS Certified Solutions Architect."
** Practice Resources:**

  • LeetCode & HackerRank: Advanced coding challenges to sharpen your skills.
** Networking & Community:**

  • GitHub, Stack Overflow, Subreddits: Collaborate and learn from experienced professionals.
 
I want to learn programming, pure programming that's helpful for devops engineers, what level of book should I learn from?
I'm wondering if there are books for people who have already almost built muscle memory for programming basics but want to move further.
Hi Olson. Books are good!
I suggest that you search out older books, published as far back as the early 1960s. Second-hand bookshop material.
There you will find foundations of programming (as an art or as a science; books with basic truths about programming, rather than programming in a language". Today the word "algorithm" is used, but back in the 1960s people were struggling with "what makes a good programmer?".

Typical topics are discussions on:-
(1) Ability to build and use a library of source code
(2) Designing procedures that take two arguments and deliver a single result (in successive stages reducing multiple variables to a single result)
(3) Self-testing procedures
(4) much much more.

Note that all these principles are language-independent, and do not make a distinction between compiled code and interpreted code.

It's rather like "learning to drive"; the make of car is irrelevant; what matters is how you interact with other drivers on the road, regardless of what you, or they, are driving!
Cheers, Chris
 


Top