Tribal Knowledge

Tribal Knowledge shares insights on software development, leadership, and startups, emphasizing practical approaches to business, the importance of focus, user-centered design, effective collaboration, and continuous learning and adaptation. It highlights challenges like context switching, documentation, maintaining consistency, and staying current with evolving technologies.

Software Development Leadership Startups Business Strategies User Experience Collaboration Technology Trends Learning and Adaptation Documentation Process Management

The hottest Substack posts of Tribal Knowledge

And their main takeaways
19 implied HN points 20 Jun 24
  1. Working with image processing technology can involve complex math but can also lead to practical and interesting projects like a Magic: The Gathering card detector.
  2. Reflecting on past coding projects can show growth in understanding software systems and the evolution of one's skills over time.
  3. Advancements in AI, like OpenAI's Vision API, have made tasks like image processing more accessible to engineers without the need for in-depth domain knowledge, offering a quicker way to experiment and validate ideas.
11 HN points 17 Jul 24
  1. RAG provides context to an LLM by fetching data from various sources, not just vector databases. It can use any data store to enhance the language model's predictions.
  2. Context for an LLM can include system prompts, chat history, RAG, fine-tuning, and more. Any way to turn information into text can improve LLM performance.
  3. RAG can work with vectors, but it's not limited to them. By enabling the LLM to call functions, it can fetch data from a variety of sources beyond vectors, like relational or graph databases.
19 implied HN points 03 May 24
  1. Embrace the mindset of a beginner to approach problems with fresh eyes and dive into learning without overthinking.
  2. Experiment with new tools, languages, and technologies to keep yourself engaged and continuously learning in your field.
  3. Maintain curiosity and openness to new experiences in order to stay motivated and discover innovative solutions in your work.
19 implied HN points 10 Jan 23
  1. Users don't see products like creators do. They focus on the problem and need the solution to be presented clearly and function well.
  2. Understanding the technical capabilities of users is crucial. Intuitive design is key, as Apple exemplifies in their products.
  3. Building with user experience in mind is essential. Software should be intuitive, especially for everyday consumers, as clunky designs are no longer tolerated.
Get a weekly roundup of the best Substack posts, by hacker news affinity:
19 implied HN points 18 Sep 22
  1. Context switching is a focus killer, it interrupts deep work and takes time to get back into the right mindset.
  2. Multi-tasking is often just quick context switching between tasks, leading to partial effort on each. Focusing on one task at a time can improve efficiency.
  3. Transitioning between different levels of thinking - task, project, and owner level - is essential in startup environments, requiring adaptability and focus.
19 implied HN points 25 May 22
  1. Consistency is crucial in various aspects like reliability and understanding code.
  2. Introducing new patterns can be beneficial but may lead to tech debt and increased cognitive load.
  3. Startups often struggle with consistency due to rapid changes, creating tech debt that can burden growth.
19 implied HN points 02 May 22
  1. Having a high attention to detail can be both an asset and a weakness, allowing you to see the little things but potentially missing the big picture.
  2. Managing context switching can be tough, especially in roles where you need to be involved in different subjects concurrently.
  3. Taking notes and reducing the number of priorities can help in combating context switching and cognitive overload.
19 implied HN points 29 Mar 22
  1. Helping others is fulfilling and valuable, even if it may come at a cost.
  2. Explaining problems to others or to an inanimate object like a rubber duck can help improve problem-solving skills by engaging different parts of the brain.
  3. Helping others can also benefit oneself by providing a fresh perspective and removing personal doubts and reservations.
0 implied HN points 08 Mar 24
  1. AI technology, especially generative AI, is evolving rapidly in the tech world, making it challenging to keep up with the pace of change.
  2. In the AI space, the constant evolution means that engineering efforts might easily become obsolete, leading to a struggle to build and maintain stable foundations for projects.
  3. Navigating the AI landscape requires a balance between keeping up with emerging technologies and avoiding getting stuck in a perpetual tutorial mode, waiting for the 'right' tools to use.
0 implied HN points 01 Mar 24
  1. Python and JavaScript are both considered scripting languages, which are good for quick script implementation but can become challenging for managing large code repositories
  2. Python offers a wide range of packages for AI development, but some aspects like its 'magical' nature and unintuitive design in frameworks like Django may pose challenges for developers transitioning from other languages
  3. While Python can enable faster development, it may also lead to falling into bad patterns and lacking a deeper understanding, compared to the functional and intricate nature of JavaScript
0 implied HN points 02 Feb 24
  1. Understanding the full stack is valuable for engineers to make connections between different parts of an application and solve problems more holistically.
  2. Having a breadth of knowledge across the full stack can lead to building higher quality features at a faster pace and creating a better overall system.
  3. Developing a generalist approach with knowledge spanning from CSS to database architecture can benefit software engineering teams, especially in startups with limited budgets.
0 implied HN points 16 Feb 23
  1. Estimation is a significant part of a software engineer's job, even though it might not always be explicitly stated in job descriptions.
  2. Uninformed estimates can lead to significant issues, such as underestimating the time needed due to lack of understanding or unforeseen challenges.
  3. Setting deadlines through estimates can promote productivity but may sometimes result in rushed work and a compromise on quality.
0 implied HN points 05 Feb 23
  1. Programming languages are like spoken languages in that people can be fluent in some, conversational in others, and have different dialects within each.
  2. The logical structures underlying programming languages are universal, making it easier for programmers to understand and learn new languages.
  3. Programming languages serve as a universal language that allows people to communicate and collaborate, even if they can't speak the same spoken language.
0 implied HN points 22 Jan 23
  1. Agile methodology focuses on iteration and adapting to changes, while Waterfall emphasizes on planning everything upfront. Both have their tradeoffs and can work well for different reasons.
  2. The iterative approach involves delivering incrementally, receiving constant feedback, and adjusting along the way. It allows for flexibility but can lead to bugs and customer frustration initially.
  3. The planning approach involves detailed upfront planning, building according to the plan, and announcing the product only after completion. It provides a structured process but may lead to delayed reactions to customer feedback and potential rework.
0 implied HN points 31 Jul 22
  1. The author shares their experience with cryptocurrency trends and technologies like Coinbase, Nexo, MetaMask, and more, emphasizing the vastness of Blockchain technology.
  2. The author is working on a startup utilizing web3 technology, referencing data on the blockchain and facing data challenges with NFT contracts on Ethereum chain.
  3. The author looks forward to exploring different NFT contract types and working with various blockchains beyond Ethereum, such as Polygon, Solana, Cardano, and Tezos, each presenting unique data challenges and scale issues.
0 implied HN points 12 May 22
  1. When developing a tool, it's crucial to balance usability and features for user adoption and retention.
  2. Self-service tools can lead to organic growth and better user understanding, ultimately benefitting the long-term success of the product.
  3. Engineers play a significant role in advocating for usability improvements in tools, which can enhance user experience and overall product success.
0 implied HN points 05 May 22
  1. GraphQL provides an intuitive and flexible way to describe data requirements and interactions for client applications, simplifying development by having a defined schema and aiding with debugging.
  2. While REST is a standard widely taught in software engineering, GraphQL offers a more elegant approach by simplifying data contracts, debugging, and allowing for a more complex backend and simpler frontend development.
  3. Using GraphQL can help divide tasks among team members more effectively, with senior engineers focusing on backend problem-solving and junior engineers concentrating on frontend tasks like data mapping, ultimately making APIs more discoverable and user-friendly.
0 implied HN points 25 Apr 22
  1. Transparency is essential in business and life to show the reality behind successes and encourage honesty.
  2. Promoting transparency involves celebrating behind-the-scenes efforts and debunking the 'get rich quick' mindset.
  3. In teamwork, transparency about skills and expectations is crucial, while leadership should provide clear business outlooks for better decision-making.
0 implied HN points 21 Mar 22
  1. Tribal knowledge refers to information known within a group but not outside of it, commonly seen in fast-moving teams like startups where documentation might be lacking.
  2. Onboarding new team members to a system built on tribal knowledge can be challenging and time-consuming, taking up to 6 months for full understanding.
  3. Building a community to share collective knowledge can help individuals survive and thrive in various fields by leveraging unique experiences and backgrounds.
0 implied HN points 15 Feb 24
  1. Large language models have been trained on dominant languages to generate legible and coherent language, a significant accomplishment.
  2. GitHub Copilot can be helpful for writing boilerplate, refactoring code, and exploring different patterns, but may suggest distracting or lazy coding options at times.
  3. While GitHub Copilot can save time in certain scenarios like code refactoring, some developers may not fully trust it due to potential debugging challenges and a desire to personally write and understand the code.
0 implied HN points 29 Oct 22
  1. Documentation often gets neglected in fast-paced environments like startups due to time constraints and prioritization of immediate tasks.
  2. In software development, trade-offs are inevitable, and sometimes opting for 'good enough for now' is a valid choice to balance business needs with engineering solutions.
  3. Documentation should focus on improving code readability, saving time for both current and future developers, and should be informative yet concise to serve its purpose effectively.
0 implied HN points 18 Jan 24
  1. Bugs in your app should be seen as valuable feedback from users, not just negative issues to fix.
  2. Having a few bugs can indicate that people are actively using your application and engaging with its features.
  3. Non-bug issues like FAD bugs and lack of documentation also provide important insights that can help improve your app and user experience.
0 implied HN points 12 Oct 23
  1. The author feels confident in their ability to solve problems, enjoying the process and putting in hard work to figure things out.
  2. The author gets frustrated when unable to solve a problem, particularly struggles with emotional issues that cannot be fixed with a problem-solving mindset.
  3. As a leader, the author recognizes the importance of allowing others to learn and figure things out on their own instead of always stepping in to solve problems for them.
0 implied HN points 06 Apr 23
  1. When programming, focus on zooming in rather than zooming out to improve productivity and solve problems efficiently.
  2. Treat certain parts of your work as 'black boxes' where you focus solely on inputs and outputs, allowing you to tackle complex tasks one step at a time.
  3. Address unknowns in your project by compartmentalizing them as black boxes, enabling you to focus on what you do know and make progress without feeling overwhelmed.
0 implied HN points 11 Dec 22
  1. Data migrations in software engineering can be incredibly challenging due to the complexity and inconsistency of data.
  2. Routine database backups are crucial for quickly restoring data and avoiding catastrophic losses.
  3. Utilizing blockchain technology for building databases can provide benefits like easy recreation of data structures and decentralized app development.
0 implied HN points 06 Aug 23
  1. Humans are not great at communication, so we build tools to help us communicate better across all industries.
  2. Software development is heavily focused on improving communication, making it easier, faster, and clearer.
  3. When evaluating new features in software, always consider if it will enhance communication for users, as communication is key in building successful tools.