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
Growth Strategies for Software Developers
Explore top LinkedIn content from expert professionals.
Summary
To grow as a software developer, focus on continuous learning, mastering collaboration, and taking ownership of your career by building skills, seeking challenging opportunities, and fostering a team-oriented mindset.
- Embrace new challenges: Step outside your comfort zone by tackling complex projects at work or proposing innovative solutions to persistent team issues.
- Document and share knowledge: Create comprehensive documentation, mentor junior developers, and share insights to help others while expanding your own impact.
- Prioritize learning and feedback: Actively seek opportunities to learn, stay updated on industry trends, and use constructive feedback to improve and adapt continuously.
-
-
Stop waiting for the "perfect mentor" to appear. Take ownership of your growth and success with these 10 actionable steps: 1️⃣ Create a "Shadow Board" 🔹 Follow 5 industry leaders online and analyze their decisions, strategies, and mistakes. 🔹 Learn from their wins and failures instead of waiting for personal mentorship. 2️⃣ Start a Weekly "Learning Loop" 🔹 Document 3 key lessons from your work each week. 🔹 Brainstorm how to apply them in real time to improve performance. 3️⃣ Join 2-3 Professional Communities 🔹 Surround yourself with peers in LinkedIn groups, industry Slack channels, or networking events. 🔹 Exchange insights with others facing similar challenges. 4️⃣ Schedule Monthly "Reverse Mentoring" 🔹 Learn from junior colleagues or industry newcomers. 🔹 Their fresh perspectives can help you see blind spots and adapt faster. 5️⃣ Build a "Career Archive" 🔹 Keep a record of your achievements, project recaps, and client feedback. 🔹 Review quarterly to spot patterns in your growth and refine your strategy. 6️⃣ Practice "Decision Journaling" 🔹 Write down major decisions and track their outcomes over 3, 6, and 12 months. 🔹 Identify patterns in your thinking and improve future choices. 7️⃣ Create Your Own "Board of Directors" 🔹 Instead of one mentor, have different experts for: ✅ Tech Trends ✅ Leadership Growth ✅ Industry Insights ✅ Personal Development 8️⃣ Set Up "Learning Sprints" 🔹 Dedicate 30 days to mastering one specific skill. 🔹 Use online courses, books, and hands-on practice to accelerate learning. 9️⃣ Do "Future-Self Reviews" 🔹 Write a performance review for yourself, one year ahead. 🔹 Ask: What would my future self want me to improve today? 🔟 Build a "Failure Résumé" 🔹 Document your biggest setbacks and the lessons learned. 🔹 Mistakes are your best teachers—treat them as stepping stones. 💡 The most successful people don’t wait for guidance—they create their own path. 💬 Which of these will you try first? Drop your thoughts below! ⬇️ ♻️ Repost to help others take control of their growth. ➕ Follow Ricardo Cuellar for more career insights.
-
Software Engineering: How do you scale yourself? This changes throughout your career, but it generally revolves around this fact: You can only write so many lines of code in a day. As you move out of feature implementation into project direction, a single person can't finish in the amount of time required to deliver the product. Here are some ways to scale yourself at different stages in your career. - As a junior developer (and forever onward), document what you do. Good documentation is an incredible scale factor because countless people can refer to it, and you never know how popular a feature or tool you develop will be. - As a junior developer (and forever onward), write good tests. Tests scale your code because they allow people to make changes in the future with some confidence that the changes do not change data. They decrease the iteration cycle and this is an automatic scale factor. - As an intermediate developer (and forever onward), train and teach those more junior to you. 20% of my time this week may result in 100% productivity increase for that developer. As you develop larger, more complex features, bring people along. Give them features to work on. Scale the complexity of those features so that they are growing with the code base. When the project is in a good place, you should be able to hand the project off to them. This allows you to work on more complex projects, while giving them ownership of something. This helps both of your careers. - As an intermediate developer (and forever onward), present your work. Don't miss opportunities to showcase what you've done. This scales you differently - it gets your name in front of people, it shows what you've contributed, and ultimately, it allows others to learn from your ideas. This often translates into greater collaborations and more complex projects that will help you get to that next level. - As a senior developer (and forever onward), delegate work. This begins happening when you lead projects. Put a timeline on the project, break down the tasks into epics, break down the epics into work items. Assign these to your team. You are now sharing the development effort. Recognize the talent in your team. If you have a rockstar dev, let them code. Your goal as a lead is to deliver the project on time, report status, present work. Let the badass devs you work with shine. Give them all the credit for the work. - As a senior developer (and forever onward), give your teammates ownership of parts of your project. Setup syncs to discuss progress, blockers, or brainstorming sessions. Let them lead the development. They may even have a small team dedicated to what they are working on. They can present the work, attend the meetings, and give status updates to the broader group. Communicate constantly, and make sure the work moves forward. Let them have all the credit, they deserve it. If you like my content, feel free to follow or connect! #softwareengineering #scale
-
Once you’ve worked as a software engineer long enough, you realize: # 1. Thinking about business impact matters more than just writing code Your cool design and code doesn’t mean much if it doesn’t solve a real problem - Engineers who understand business-needs build things that actually matter. - Spending time to perfect the code without thinking about how will it be used is a waste of effort # 2. Being a multiplier makes you irreplaceable The best engineers don’t just solve problems, they help others do the same. - Teach what you know, mentor juniors, and document everything. - The fastest way to grow is by making those around you better. # 3. Getting things done beats being perfect An unfinished project delivers no value. - Ship early, iterate, and refine: progress is better than perfection. - Striking the right balance between quality and efficiency is what truly matters. # 4. Working alone is a career limiter Lone wolves burn out and limit their impact. - Collaborate, share ideas, and involve others in your work. - Big projects require alignment, not just technical brilliance. # 5. Taking ownership sets senior engineers apart The best engineers don’t wait to be told what to do. - Keep stakeholders informed, flag blockers early, and drive execution. - Leaders take responsibility before being asked. # 6. Focus is your greatest asset Deep work separates good engineers from great ones. – Reduce distractions, keep meetings minimal, and protect your time for high-value tasks. – One uninterrupted hour of focused work can achieve more than five hours of scattered effort. # 7. Feedback is your best shortcut to growth Growth comes from iteration, not just experience. – Actively seek feedback, apply it quickly, and treat it as a learning tool. – The best engineers improve through adaptation, not just years on the job. # 8. Communication is as important as technical skill Even the best ideas fail if you can’t explain them clearly. – Write well, simplify complex topics, and drive meaningful discussions. – Great engineers don’t just build, they influence, collaborate, and lead. # 9. Learning never stops If you don’t actively learn, you’ll become outdated—fast. - Build side projects, contribute to open source, and read industry trends. - The ability to adapt is more valuable than any single skill. # 10. Teaching is the highest form of mastery If you can’t teach it, you don’t understand it well enough. - Share knowledge, mentor others, and document processes. - Teaching scales your impact beyond just your own work. — P.S: I’m starting a new mentorship program for software engineers where I’ll do a Live Q&A. I’ll be taking batches of 5-10 people per session. My LinkedIn DMs always have more requests than I can answer. This is a good way to talk to everyone. If you’d like me to answer your questions in this small group, fill this form for more details: https://lnkd.in/g7dp8Z-H
-
The best way to level up is by working on challenging projects that stretch the limits of your current skills and force you to learn new skills. The best place to do this is at work because you get paid for the time. The experience at work is also considered more legitimate when applying to future roles compared to side projects because building a project for a real company with real users is more challenging, has a higher quality bar and proves you can deliver under business priorities/timelines. Your company does provide opportunities for growth...but indirectly. In general most people kinda wish they were working on more interesting projects. Shift your mindset from just accepting/waiting for the company to give you tasks and instead start identifying opportunities for projects either existing ones you can ask to contribute to or new ideas that you pitch to your team and manager. For example if there is a big project that has a lot of work that needs to be done, you can ask your team if you can own/contribute to an area that would be challenging for you. Or if there’s some persistent problem that’s always being complained about or the team is always talking about some tech debt you can propose spending a % of your time to tackle the issue. But only do that if it’s a project that will expand your skills. The goal isn’t more work, it’s replacing some of the work you’re currently doing with more challenging work that can help you grow. --- This was originally posted in Algorythm—a group of 14,000+ Black software engineers preparing for tech interviews. Let’s learn, teach, and grow together. Join the group here. Everything is 100% free and community lead 👉🏿 https://lnkd.in/d9UpbzPC