Best of CareerNovember 2023

  1. 1
    Article
    Avatar of justanotherctoJust Another CTO·3y

    Habits of great software engineers

    The article discusses the habits of great software engineers, emphasizing the importance of focusing beyond coding, pursuing efficiency, enjoying tinkering, understanding the 'why' behind the code, thinking in systems, recharging beyond technology, approximating numbers, transferring knowledge to new problems, simplifying complex concepts, playing the long game, and developing a code nose.

  2. 2
    Article
    Avatar of honeypotHoneypot·2y

    How to Build a Personal Brand as a Developer

    Building a personal brand as a developer can help you stand out, gain credibility, network, and achieve your career goals. To build your personal brand, consider your ambitions and comfort level, embrace your passions and knowledge, create an online presence, build offline buzz, and measure and adapt your strategy.

  3. 3
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    Career Mistakes to Avoid as a Developer

    Learn about the career mistakes to avoid as a developer, including not setting realistic goals, failing to recognize your potential, and neglecting networking opportunities.

  4. 4
    Article
    Avatar of communityCommunity Picks·2y

    Become a better developer by improving your habits

    Improve your life by changing your habits. Small changes can lead to great results. Focus on the 'who' instead of the 'what'. Understand the structure of habits. Engineer your environment for positive change. Start with a two-minute action. Track your habits and stay consistent.

  5. 5
    Article
    Avatar of bytebytegoByteByteGo·2y

    79 Engineering Blogs To Level Up Your System Design Skills

    A list of 79 engineering blogs to improve system design skills is provided, along with information on the Postman GraphQL client and the ByteByteGo Newsletter.

  6. 6
    Article
    Avatar of freecodecampfreeCodeCamp·2y

    API Documentation Best Practices Course

    Learn how to write effective API documentation with this course. Understand the significance of API documentation, its impact on a business, and the best practices for creating high-quality documentation.

  7. 7
    Article
    Avatar of communityCommunity Picks·3y

    Slack Architecture

    Slack is a real-time messaging platform used by organizations for communication between team members. The system design of Slack depends on the design of the Real-Time Platform and Real-Time Presence Platform. The client publishes chat messages through an HTTP POST request to the web API, and the Slack client fetches the initial screen by making an HTTP POST request to the web API for login, which returns a snapshot of the entire workspace. The chat service persists the chat messages in the chat database and delegates them to the subscribed gateway servers over HTTP. The gateway server broadcasts the chat messages to the subscribed users over WebSocket.

  8. 8
    Article
    Avatar of substackSubstack·2y

    Why you should read

    Reading books can greatly accelerate the growth of a developer, teaching them valuable skills and changing the way they think. Books are underrated and can provide mentorship and guidance from experienced experts. Some top books for fast growth in software engineering are recommended.

  9. 9
    Article
    Avatar of systemdesignnewsSystem Design Newsletter·2y

    Everything You Need to Know About Micro Frontends

    Micro Frontends are an extension of the microservices concept to the Frontend. It slices the website into self-contained, domain-driven micro apps that are built, tested, and deployed independently. The container application combines every Micro Frontend and handles common page elements, authentication, and navigation. Micro Frontends can be implemented with different tools and frameworks like React, Vue, and Angular. They offer advantages like fast delivery, flexible tech stack, improved maintainability, scalable development, and more. However, they also come with increased complexity, potential distributed monolith problem, and fragmented ways of work.

  10. 10
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP85: Top 9 HTTP Request Methods

    The article discusses the top 9 HTTP request methods, including their purposes and idempotency. It also mentions a website that focuses on improving developers' debugging skills and provides a log parsing cheat sheet.

  11. 11
    Article
    Avatar of communityCommunity Picks·2y

    URL Shortening System Design

    The article discusses the design of a URL shortening system, including how it works, the terminology involved, the requirements for such a system, and the design considerations for high availability, scalability, and fault tolerance.

  12. 12
    Article
    Avatar of communityCommunity Picks·2y

    jordan-cutler/path-to-senior-engineer-handbook: All the resources you need to get to Senior Engineer and beyond

    A repository containing a curated list of resources to help software engineers reach senior engineer positions and beyond, including newsletters, books, courses, and more.

  13. 13
    Article
    Avatar of hnHacker News·2y

    The Software Engineer's Guidebook

    A comprehensive guidebook for software engineers at all career levels, covering a wide range of topics related to software engineering, collaboration, and professional growth.

  14. 14
    Article
    Avatar of substackSubstack·2y

    A good engineer thinks like a product manager

    Engineers need to think like product managers to create solutions that customers love. They should focus on solving customer's problems rather than the technical aspects. To improve product-mindedness, engineers can pair with non-tech people, explain technical solutions to non-tech people, ask business and customer-related questions, talk directly with customers, do freelance work, and take on different roles. Simplifying solutions before implementation is also crucial for better results.

  15. 15
    Article
    Avatar of substackSubstack·2y

    What is a Staff Engineer?

    The article discusses the role of a Staff Engineer, including its definition, career progression, and responsibilities. It explores how roles work in big tech firms like FAANG, the different archetypes of Staff Engineers, and the differences between Senior Engineers and Staff Engineers. It also delves into the duties and challenges faced by Staff Engineers, as well as their typical day. The article concludes with insights into the Staff Engineer career path and tips for aspiring Staff Engineers.

  16. 16
    Article
    Avatar of bytebytegoByteByteGo·2y

    EP86: CAP, BASE, SOLID, KISS, What do these acronyms mean?

    The article discusses the acronyms CAP, BASE, SOLID, and KISS in the context of system design. It explains the meanings of each acronym and their significance in designing distributed systems, databases, and object-oriented programming. The article also explores the concept of single sign-on and different programming paradigms.

  17. 17
    Article
    Avatar of swizecswizec.com·3y

    How to go from Senior to Lead

    Learn how to transition from a senior engineer to a lead engineer. Understand the qualities of a lead engineer and discover strategies to think strategically in your role.

  18. 18
    Article
    Avatar of communityCommunity Picks·2y

    System Design Pastebin

    Pastebin is an online text storage service that allows clients to store and share code snippets or configuration files. It generates a unique paste ID for each paste, which clients can use to access the content. The system uses a combination of SQL database and object storage to store metadata and content, and employs caching to improve latency. The system also includes rate limiting, encryption, and content filtering features.

  19. 19
    Article
    Avatar of tdsTowards Data Science·2y

    System Design Cheatsheets: ElasticSearch

    ElasticSearch is a powerful search engine that excels at performing full-text searches on large datasets. It can be used as a secondary database for full-text search operations, a real-time data analysis pipeline, or a recommendations system. However, ElasticSearch is not suitable for ACID compliance, complex joins, or small datasets with simple query needs. When using ElasticSearch in system design, consider its distributed architecture, scalability, document-based data modeling, real-time data analysis capabilities, and cost implications.

  20. 20
    Article
    Avatar of communityCommunity Picks·2y

    How Would My Life Change Without Programming

    The article highlights the adaptability and availability of programming work compared to niche specialties, such as chem development. It also emphasizes the flexibility and opportunities for skill development in software development.

  21. 21
    Article
    Avatar of substackSubstack·2y

    From Senior to Staff Software Engineer... A managers perspective

    To get promoted to Staff Software Engineer and beyond, you need to focus on impact and visibility. Impact involves being able to lead a wide array of projects and foresee roadblocks. Visibility includes regularly engaging with various stakeholders and measuring the success of initiatives.

  22. 22
    Article
    Avatar of medium_jsMedium·2y

    Javascript Interview Question: Write a function which deep clones a object

    A deep clone function in JavaScript creates a completely independent copy of an object or array, including all nested objects and arrays. It is important to use the appropriate cloning method in production applications.

  23. 23
    Article
    Avatar of substackSubstack·2y

    8 common interviewing mistakes

    Learn about common interviewing mistakes, the importance of asking good questions, and how to improve your coding and design patterns.

  24. 24
    Article
    Avatar of communityCommunity Picks·2y

    Distributed Counter System Design

    The article discusses the design and implementation of a distributed counter system. It explains the concept of a distributed counter, its use cases, and the working of CRDT-based databases.

  25. 25
    Article
    Avatar of communityCommunity Picks·2y

    Emotion-driven development

    The article discusses the importance of emotions in coding and development, emphasizing the need to consider and acknowledge emotions in the workplace. It explores how negative emotions can serve as warning signs and how emotions can be used as non-functional requirements in software development. The article encourages readers to reflect on their own experiences and consider the role of emotions in their work.