I've been working for about a year now. My first job involved being outsourced, and currently, I'm the only Software Engineer at a local e-commerce store. I don't have senior developers to learn from regarding important topics like system design or design patterns, which makes me feel I'm missing out on a deeper understanding of computer science and software engineering. Right now, I'm mostly Googling answers and asking questions in forums and communities to learn.
With that in mind, do you think it would be beneficial for me to get involved in open source projects? I worry that contributors will be too busy with their lives to help someone like me who's just getting started. Imagine a confused newbie reaching out for guidance, hoping someone experienced will light my way, but also knowing that I could accidentally mess up something important because I don't have all the knowledge yet!
2 Answers
The best way to learn solo is by actually using the technology you're interested in. Set up your local environment and tackle small projects to explore different aspects. Look at open source applications to see how things work in practice. Just dive right in—it's way more effective than just planning on the sidelines!
Open source isn’t like a formal job; you usually won’t get a lot of mentoring. However, if you have questions, most maintainers are happy to answer, but you can’t expect them to teach you everything. Check out projects that have 'good first issues'—those are a great way to start getting involved. It's also a good idea to ask for keywords or concepts to research, like 'Factory design pattern' or 'MessageQueue.'
That makes sense! If maintainers can point out areas to explore, I think I could learn a lot from diving into those concepts.
I agree! I want to connect high-level concepts with practical implementation. Do you have tips on using something like Kafka or a queue system in my stack while maintaining clean code?