Tips for Excelling in Software Development

Explore top LinkedIn content from expert professionals.

Summary

Excelling in software development involves balancing strong technical skills, problem-solving ability, and clear communication, while cultivating a mindset focused on continuous learning and collaboration. By breaking tasks into manageable steps and prioritizing clarity, developers can grow faster and deliver impactful work.

  • Focus on the fundamentals: Master basic programming concepts, write clean and maintainable code, and understand how systems and architectures function to effectively contribute to projects.
  • Think incrementally: Divide large tasks into smaller, easier steps to ensure consistent progress and avoid being overwhelmed by complexities.
  • Emphasize collaboration: Engage with peers, ask thoughtful questions, and seek feedback to improve understanding and build strong professional relationships.
Summarized by AI based on LinkedIn member posts
  • View profile for Josh George

    Founder | Web App & E-Com Solutions Without The Stress | Writing Nerd

    2,416 followers

    I have been programming for 18 years (43% of my life 🤯). These are 10 things I wish I knew when I started: 1. 𝗦𝘁𝘂𝗰𝗸 𝗼𝗻 𝗮 𝗯𝘂𝗴 𝗳𝗼𝗿 𝗼𝘃𝗲𝗿 𝗮𝗻 𝗵𝗼𝘂𝗿? 𝗧𝗮𝗹𝗸 𝘁𝗼 𝘀𝗼𝗺𝗲𝗼𝗻𝗲 𝗮𝗯𝗼𝘂𝘁 𝗶𝘁. It doesn't even have to be a programmer. Explaining it out loud will either lead to the answer, or you'll realize the problem mid-sentence. 2. 𝗟𝗲𝘀𝘀 𝗰𝗼𝗱𝗲 𝘂𝘀𝘂𝗮𝗹𝗹𝘆 𝗺𝗲𝗮𝗻𝘀 𝗳𝗲𝘄𝗲𝗿 𝗯𝘂𝗴𝘀. Writing code is easy. Writing less code that does the same thing? That's where the magic happens. 3. 𝗚𝗲𝘁 𝘀𝗹𝗲𝗲𝗽 - 𝗶𝘁'𝘀 𝘁𝗵𝗲 𝗯𝗲𝘀𝘁 𝗱𝗲𝗯𝘂𝗴𝗴𝗲𝗿. I've spent 6 hours debugging something that I solved in 6 minutes the next morning. Don't be like me. 4. 𝗠𝗮𝗸𝗲 𝘀𝘂𝗿𝗲 𝗼𝘁𝗵𝗲𝗿𝘀 𝘂𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱 𝗶𝘁. Your future self is "others", so use descriptive logic. Write clear comments. Leave clues for the next person (even if that person is you). 5. 𝗞𝗻𝗼𝘄 𝘄𝗵𝗲𝗻 𝘁𝗼 𝗽𝘂𝘀𝗵 𝗯𝗮𝗰𝗸. One time, I was given 10 minutes to complete a task. I laughed, and they backed off. Sometimes, pushing back is the only way to protect quality. 6. 𝗕𝗿𝗲𝗮𝗸 𝗹𝗮𝗿𝗴𝗲 𝘁𝗮𝘀𝗸𝘀 𝗶𝗻𝘁𝗼 𝘀𝗺𝗮𝗹𝗹𝗲𝗿 𝗼𝗻𝗲𝘀. "Build a feature" is overwhelming, but "Write a function" is manageable. Keep breaking it down until the next step is obvious. 7. 𝗘𝘃𝗲𝗿𝘆 𝗯𝘂𝗴 𝗱𝗼𝗲𝘀𝗻'𝘁 𝗵𝗮𝘃𝗲 𝘁𝗼 𝗯𝗲 𝗳𝗶𝘅𝗲𝗱 𝗶𝗺𝗺𝗲𝗱𝗶𝗮𝘁𝗲𝗹𝘆. Some bugs are fires while others are just weird quirks. Learn the difference. 8. 𝗦𝗵𝗶𝗽 𝘀𝗺𝗮𝗹𝗹, 𝗹𝗲𝗮𝗿𝗻 𝗾𝘂𝗶𝗰𝗸𝗹𝘆. Your first version is a draft. Your users will tell you what's wrong faster than your test suite ever will. 9. 𝗧𝗲𝗰𝗵𝗻𝗶𝗰𝗮𝗹 𝗱𝗲𝗯𝘁 𝗶𝘀 𝗮 𝗯𝘂𝘀𝗶𝗻𝗲𝘀𝘀 𝗱𝗲𝗰𝗶𝘀𝗶𝗼𝗻. Sometimes you write messy code to hit a deadline, which is fine. Just don't pretend it doesn't exist later. 10. 𝗗𝗼𝗻'𝘁 𝗯𝗲 𝗮𝗳𝗿𝗮𝗶𝗱 𝘁𝗼 𝗹𝗼𝗼𝗸 𝗱𝘂𝗺𝗯. The best programmers I know ask "dumb" questions. The worst programmers pretend to know things they don't. I wish I had known all this when I started. Now you do. What would you add?

  • View profile for Raman Walia

    Software Engineer at Meta | Follow for content on Software Engineering, Interview Prep and Dev Productivity

    26,302 followers

    I am a Software Engineer at Meta with almost 2 decades of experience. Here’re the 5 learnings if you want to grow faster as a SWE: 1. Know the next level before promotion After you are performing well at your current role expectations, start approaching the next level. - Learn from seniors, understand their perspective - Look for areas you can help & can get noticed In short, prove that you deserve the promotion before you ask for it. 2. Become your own user - go on reddit or twitter threads - read through the users feedbacks and conversations - be empathetic & maybe have a conversation with few users This shift helped me move beyond just shipping features to actually improving the experience. 3. Data is your saviour Start diving into logs, events, and exceptions more deeply. - Where are users spending the most time?  - What’s making them drop off? - What are the most common exceptions?  - Which workflows are unintuitive? You can make better engineering decisions if you spend some time consuming the data 4. Every problem is not yours to solve Ask yourself: - Is this issue truly high-impact, or am I just trying to get it off my plate? - Is this a problem I should solve, or is it better to guide someone else to take it on? - Delegating was tough at first. But it’s crucial to identify your problems and delegate rest. The best engineers I’ve worked with aren’t the ones who take on the most work—they’re the ones who ensure the right work gets done by the right people. 5. Be a force multiplier - document more to save others time - build tools and scripts that automate tedious tasks - Guide others to help achieve their goals   Your team will move faster, and you will become more valuable—not just as an engineer but as a force multiplier. => Final Thought: The biggest shifts in my career didn’t come from just writing better code—they came from these small shifts. If you’re looking to grow as an engineer, try incorporating some of these steps into your own journey. Raman Walia

  • View profile for Chandrasekar Srinivasan

    Engineering and AI Leader at Microsoft

    46,319 followers

    About five years ago, I had a junior engineer on my team who was brilliant but struggled so much he was about to have a low performance review. Let’s call him Anthony He was fresh out of college and eager to prove himself, but his code reviews often came back with extensive feedback. The root of the issue wasn’t his intelligence or effort it was his approach. Anthony had this habit of jumping straight into the deep end. He wanted his code to be optimized, elegant, and perfect from day one. But in that pursuit, he often got stuck either over-engineering a solution or ending up with something too complex to debug. Deadlines were slipping, and his confidence was taking a hit. One day, during a particularly rough code review, I pulled him aside and shared a principle that had profoundly shaped my own career: “Make it work, make it right, make it fast.” I explained it like this: 1. Make it work – First, solve the problem. Forget about how pretty or efficient your code is. Focus on meeting the acceptance criteria. If it doesn’t work, nothing else matters. 2. Make it right – Once it works, step back. Refactor the code, and make it clean, modular, and maintainable. Code is for humans who’ll work with it in the future. 3. Make it fast – Finally, if performance is critical, optimize. But don’t sacrifice clarity or maintainability for marginal speed gains. The next sprint, he followed this approach on a tricky API integration task. When we reviewed his work, the difference was night and day. Not only had he delivered on time, but the code was a joy to read. Even he admitted it was the least stressful sprint he’d had in months. Six months later, Anthony came to me and said, “That principle you shared, it’s changed everything. Thank you for pulling me aside that day.” Today, Anthony is a senior engineer leading his team, mentoring others, and applying the same principle that once helped him. We’re still on good terms though he moved to another org. Sometimes, the most impactful advice is the simplest. As engineers, we often get caught up in trying to do everything perfectly all at once But stepping back and breaking it into manageable steps can make all the difference.

  • View profile for Sujeeth Reddy P.

    Software Engineering

    7,825 followers

    Imagine you’ve just been hired as an SWE and deployed to one of the core teams in the company. You access the codebase and find millions of lines of code & your manager assigns you a task to make changes. Now, as a new hire, you’re scared…..(I would be too) Here’s what I’ve learned from my experience when dealing with a new codebase: 1/ Connect with Tenured Engineers   Leverage 1:1s with experienced engineers to clarify broader or specific questions about the codebase and services. 2/ Add Simple Telemetry   Implement basic telemetry to gain insights into the service's performance and behavior. 3/ Start with Bug Fixes   Engage in small bug fixes to familiarize yourself with different parts of the codebase and improve problem-solving skills. 4/ Understand the Workflow   Gain a high-level understanding of what the service does and its interactions within the system. 5/ Identify Dependencies   Know what the service depends on and how these dependencies affect its functionality. 6/ Review Service KPIs   Examine the service dashboard to understand its key performance indicators and how they measure success. 7/ Explore Architecture Documents   Go through architecture and design documents to understand the service's structure and design decisions. 8/ Watch Past Sessions   Review previous sessions on the codebase to get a sense of historical decisions and common issues. 9/ Debug with Integration Tests   Use integration tests to debug the codebase, helping you see how components work together. 10/ Review Code Reviews   Study code reviews from other engineers to learn best practices and common pitfalls in the codebase. 11/ Embrace Ambiguity   Accept that you won't know everything in a large codebase and focus on the most crucial parts first. 12/ Navigate Regularly   Dive into new parts of the codebase regularly to build familiarity and confidence over time. 13/ Use Bug Fixing as Learning   View bug fixing as an opportunity to explore different codebase interactions and expand your understanding. 14/ Trust the Code   Rely on the actual code over documentation, as it provides the most accurate and up-to-date information. 15/ Check Git History   If you are confused about a component, review its git history to understand its recent changes and interactions with other parts. There is no specific way of dealing with a new codebase; it’s challenging, but these tips can help refine your approach. What would you add from your experience?

  • View profile for Ravindra B.

    Senior Staff Software Engineer @ UPS | Cloud Architecture, Platform Engineering, DevEx, DevOps, MLOps, AI Infrastructure

    23,968 followers

    99% of high-performing software engineers I’ve worked with share one belief: → Speed of feedback decides the speed of growth. 🔁 Shorter loops always win: ∟ 20-line PRs > 200-line PRs   You ship faster, get reviewed quicker, and avoid the “merge paralysis” trap. ∟ “Push & test” > “Think & overthink”   Most bugs are in your assumptions. Push early, learn faster. ∟ Staging traffic > Unit test coverage   Tests are helpful. But watching a real request hit your endpoint? Unmatched insight. ∟ Slack check-ins > Waiting for the weekly sync   Fast decisions move projects. “Let’s wait for the standup” kills momentum. ∟ A 10-minute spike > 3 days of planning   You don’t need perfect answers. You need fast signals. The best engineers know this: → The longer you wait for feedback, the more expensive your mistakes get. Tighten the loop. Feel the pain sooner. Get better faster. That’s how you grow. That’s how you win.

  • View profile for Caleb Mellas

    Engineering @ Olo | Author of Level Up Software Engineering Newsletter 🚀

    37,601 followers

    They say it takes 10,000 hrs to master your craft… I first started learning html, and css in 2007. A year later I started dabbling in php and Wordpress. I learned AngularJs back in the early 1.0 days. I wanted to fully build out my ideas, so I learned Node.js, and SQL. Now 20,000+ hrs later, I sat back and reflected on my journey so far. Here are 30 lessons I would go back and tell my junior self👇 1. Consistency beats random hustling 2. Anyone can learn software engineering 3. Join a team with smart engineers who are willing to help you level up 4. Take on challenging projects to stretch yourself 5. Freelancing is a business, you have to be good at coding and running a business 6. Drive the screen while screen sharing 7. Git is a lifesaver, “git” good at it  8. Learn how to learn, it will help you grow quicker  9. Don’t be afraid to make mistakes 10. Develop a bias for action, just try things 11. There are no stupid questions, ask more  12 Spend 15-30 extra mins to understand the larger system when you work on bugs 13. Clean coding design patterns really help reduce spaghetti code 14. Read one or two books a year to help you grow more depth in your skills 15. Take some basic design training, you’ll need it some day 16. Build yourself a support system of 2-3 engineers, you’ll need it during hard times 17. Find a mentor who really cares about you 18. Take breaks and acknowledge your humanity 19. Imposter syndrome is a sign you are in a season of 🚀 growth 20. Work hard and never say that’s not my job 21. Soft skills are the hard skills to master 22. Be a kind and genuine human. Empathy is a superpower. 23. We are problem solvers first, not coders 24. Communication skills are huge, both written and verbal 25. Learn about the business, it will help you be a better dev 26. Some company cultures are just toxic, it’s ok to leave 27. Don’t hold yourself back from applying for that stretch dream job 28. Keep a brag doc for encouragement and resume building 29. Your skills are worth a lot, research salaries and make sure you are paid well 30. Senior engineers, stop only focusing on coding and become a force-multipler I deep-dive into each of these lessons in my newsletter article: https://lnkd.in/eW7p_-iG - - - - - - - - - - - - - - - - - - - - - - - - - - - - What are some things you wish you could go back and tell your junior self? See you in the comments 🙋♀️🙋♂️ Repost to share with others if it was helpful ♻️

  • View profile for Brij kishore Pandey
    Brij kishore Pandey Brij kishore Pandey is an Influencer

    AI Architect | Strategist | Generative AI | Agentic AI

    691,630 followers

    After creating my software development roadmap, I wanted to share a straightforward path for those starting their journey: 1. Start with Python as your first programming language. It's versatile and beginner-friendly. 2. Move on to web development basics: HTML, CSS, and JavaScript. This will give you a solid foundation in front-end technologies. 3. Learn a web framework like Django (Python-based) to understand back-end development. 4. Dive into database management, starting with SQL (MySQL or PostgreSQL). 5. Get comfortable with version control using Git and GitHub. 6. Study data structures and algorithms - crucial for problem-solving and interviews. 7. Explore cloud basics with AWS or Azure. 8. Learn about containerization with Docker. 9. Pick up DevOps practices and continuous integration/deployment concepts. 10. Throughout this journey, work on your soft skills like problem-solving, communication, and time management. 11. Build projects and contribute to open-source to apply your skills practically. 12. Start applying for internships or junior developer positions to gain real-world experience. Remember, this path isn't set in stone. Adjust based on your interests and industry demands. The key is consistent learning and practice. What has your learning path looked like?

  • View profile for Sumit L.

    Software Engineering | Amazon | Java | Full-Stack | Ex-Apple

    53,636 followers

    The best advice I got from a senior engineer at Amazon (whom I met during my code review) Earlier in my career, I was too focused on writing the perfect code, but I was falling short & had a big backlog on my work. He told me to keep 3 things in mind: - First, make your code work and know why it works - Second, make sure there are no bugs. Make it right - Third, now take the time to add comments & optimize Writing code can be complex, especially when working with vast codebases. Make sure you keep your processes simple. This is something I use every day. Make sure to make good habits early as an SDE.

Explore categories