Almost 4 years in software engineering and that's what I have learned.
- The cost of time and engineering is more higher than that of servers.
- Developer productivity and a technology's ecosystem are more valuable than a runtime's efficiency or the raw speed of a programming language.
- Programming languages that are often considered slow and criticized for technical deficiencies or poor design are usually the most used and favored for building real-world software, from small to large scale, due to the flexibility they provide to engineers.
- The choice of a tech stack, often said to depend on project requirements, is misleading and untrue; in reality, it depends on the expertise of the senior engineer and team.
- Real agile teams don’t follow agile practices rigidly; instead, they develop their processes to maintain agility.
- Best practices are often biased.
- Healthy communication is key to a team’s success.
- GitHub is the best tool for tracking and managing software development.
- The first priority is to make it work.
- Mastery of the basics makes you advanced.
Top comments (5)
What else can I say but a resounding "Yes" - I can't find much else to say. What a great list.
Here's one thing - (1) isn't true if you scale a lot, a bad choice in architecture by throwing hardware at the problem, rather than designing the right system, can make a business unprofitable if not addressed.
4 really depends. For example, I can easily see a team, who chose Angular instead of React, achieve great results if they are more experienced in the former. But if such team chose JavaScript instead of Go or Gleam to do real time, high concurrency backend, it would have real consequences for productivity and the service itself.
Nice. 9 good points there!
On pointer 3, out of 10 how much is this referring to Python?
8 followed by 6 🤣
I don't disagree, just thought it was funny 😄