Tips for Learning on the Job in Software Engineering

Explore top LinkedIn content from expert professionals.

Summary

Starting a career in software engineering can feel overwhelming, but adopting a learning mindset and focusing on key skills can help you grow and succeed. Gaining technical knowledge, understanding work processes, and building effective collaboration are crucial for navigating your role and becoming proficient over time.

  • Start with small fixes: Work on resolving minor bugs or typos to familiarize yourself with the codebase and understand how development processes work.
  • Ask for feedback: Regularly seek constructive input from peers and mentors to clear doubts, improve your work, and gain new perspectives.
  • Understand the bigger picture: Get to know your system's architecture, workflows, and how your tasks contribute to the overall goals of the project or organization.
Summarized by AI based on LinkedIn member posts
  • View profile for Arvind Telharkar

    Software Development Engineer at AWS Health AI | Cloud computing | Cloud Infrastructure | Agentic AI | Computer Science | Artificial Intelligence | Software development

    17,922 followers

    Imagine this: You’ve just got your first job as a software engineer after grad school. You show up on your first day and just settle in. Later in the week, you see a codebase with thousands of lines of code and your manager asks you to contribute. I am sure you will be scared, I would be too. During my first job at Citrix in 2016, I remember how I struggled. I had a big learning curve as I got used to things. From learning about the code base to getting used to coding practices, I took my time, but the learning has still helped even after 6 years. If you're a junior engineer who is fresh out of college, here are the areas I would focus on- ➥ Unit Testable Code - Use dependency injection to avoid self-instantiated dependencies. - Write modular code for easier testing. ➥ Proper Logging - Maintain detailed logs for effective troubleshooting. - Use consistent logging levels (info, debug, error). ➥ Code to Interface - Ensure loose coupling for flexible code. - Implement design patterns that promote interface-based development. ➥ Remote Debugging - Master remote debugging techniques. - Use remote debuggers to diagnose issues in production-like environments. ➥ Beta Environments - Reproduce bugs in beta environments before fixing them. - Test new features in beta to catch issues early. ➥ JIRA Management - Keep tickets updated with current status. - Communicate clearly and promptly with stakeholders. ➥ Pull Requests - Collaborate and handle feedback constructively. - Follow code review best practices and standards. – P.S: What would you add from your experience?

  • View profile for Alex Nguyen

    Software Engineer | Prev. @ Google

    220,201 followers

    After switching between 3 companies in 3 years (and being on the job market again) Here's what helped me onboard as a software engineer at any level at any company. 1. Fix bugs. Typos and small bugs help learn the development flow. There's no such thing as a bug that's too small. 2. Invest in tooling. Google doesn't use Git so I had to spend hours learning mercurial and practicing commands I'd commonly use. Learn tools now to leverage them later. 3. Describe your deployments. Knowing how things are deployed and when helps you learn how to catch mistakes before they reach prod. 4. Read the requirements. Find the PRD for the big product or feature you're working on to understand why the end user even cares about what you're working on. I found it helped me understand complicated design docs easier. 5. Talk to everyone. Engineers and non-engineers. Adjacent teams, and cousin teams. Chatting with all these people over time gave me a bigger picture of how our entire system works together. More than that, I noticed people were a lot more willing and kinder to help after meeting them in person a few times. These are just a few tips I learned along the way and hope they're helpful for someone else too. #alexcancode #softwareengineer #coding

  • View profile for Dilan O.

    I use my business degree and ADHD to grow in tech | Software Engineer at Pokémon | Co-founder at Coding Allies

    2,675 followers

    I hope all the junior software engineers out there know: ✨ It's not your fault that you worked on a system that has been architected in a less than ideal way for your first job. ✨ You're already dealing with a lot of stuff: - dealing with imposter syndrome - proving your capability - thinking why nobody ever asked you whether you wanted to be a frontend or a backend developer etc. - wondering why is there absolutely no documentation on anything - worrying about how are you going to survive your oncalls Sure it's nice to land on a position with an architecture that will gain you transferable technical skills for your next role. But it's rare. And you will very likely not have any say in changing what you landed on. Let's also agree that most new grads don't actually have the privilege to not accept an offer just because they didn't like the architecture they were gonna work with. Many seniors still don't have that privilege either. Instead, just focus on these: - understand what your architecture is, and why was it done this way - understand your architecture's pros and cons, and get more comfortable with talking about it - think how would you change it if you had been given an opportunity - ask for help when you are actually stuck with your work - learn how to take an actionable feedback - find ways to reduce ambiguity in your tasks - get good at estimating your efforts - deliver your tasks on time These will still serve you well in your career growth. #softwareengineering

  • View profile for Fahim ul Haq

    Co-Founder & CEO at Educative | Software Engineer

    22,528 followers

    Are you learning new tech skills? 📚 Don't rush through it. Effective learning can't be crammed because it's NOT about memorizing new skills — it's about internalizing them. Here are 7 tips to help you truly retain your new skills: 1️⃣ Practice Actively: Don't just read or watch tutorials passively; actively engage with the material through hands-on projects and exercises. 2️⃣ Teach Others: Share your knowledge with colleagues, friends, or on knowledge-sharing communities like Stack Overflow or Educative Answers. By explaining concepts and asking questions, you'll learn a lot. 3️⃣ Build Real-World Projects: Apply the concepts you learn to create meaningful projects. Building is one of the most tangible ways to put new skills to the test. 4️⃣ Seek Feedback: Ask for feedback from peers and mentors. Constructive criticism will give you new perspectives and are essential to your growth. 5️⃣ Be Curious: When additional questions or knowledge gaps crop up during your learning, be curious rather than intimidated. Explore related topics to gain a holistic understanding. 6️⃣ Document Your Learnings: Take notes and document your learning journey. Summarizing concepts in your own words reinforces understanding and helps you retain information. 7️⃣ Be Patient: Internalization can't be rushed — it takes time. Instead of cramming 3 hours of study into a day, space out your studies to give your brain time to "save" new information. 💬 What are your hacks for learning effectively? Let me know in the comments below. Happy learning! #programming #softwareengineering #lifelonglearning

Explore categories