How important is it for software engineers to have professional experience?
-
-
@evan you can certainly be a "programmer", "developer", "coder" or whatever, but I'm not sure you can really claim "software engineer" without the professional experience. Or maybe that's just me being a gatekeeper. 🤷♂️
-
@evan Depends on the definition of "professional experience" but definitely at least "somewhat" for me.
-
@evan you can certainly be a "programmer", "developer", "coder" or whatever, but I'm not sure you can really claim "software engineer" without the professional experience. Or maybe that's just me being a gatekeeper. 🤷♂️
Software engineering, as distinct from programming, is a body of knowledge that has far more to do with human behavior and organization. It's about effectively maintaining large bodies of code across long periods of time, with large teams of diverse skill levels. It's also about being able to predict the path of least eventual pain.
This can *only* be learned from front-line experience, because the primary mechanism is learning from mistakes. It cannot be taught in a classroom.
-
Software engineering, as distinct from programming, is a body of knowledge that has far more to do with human behavior and organization. It's about effectively maintaining large bodies of code across long periods of time, with large teams of diverse skill levels. It's also about being able to predict the path of least eventual pain.
This can *only* be learned from front-line experience, because the primary mechanism is learning from mistakes. It cannot be taught in a classroom.
-
@evan I don't think it's different from other fields.
-
@evan Depends on the definition of "professional experience" but definitely at least "somewhat" for me.
@the_moep could you expand on how it would change depending on different definitions?
-
@the_moep could you expand on how it would change depending on different definitions?
@evan Well the main difference in definition would be that people only consider paid contract/employed experience as "professional" vs. unpaid hobby work.
And especially in the open source community you have a lot of projects that are done by unpaid volunteers, some potentially still in training or simply self-trought. And those definitely reach the level of "traditional" paid work so limiting "professional experience" in a way which excludes this work (which some still do) would mean that it's only "somewhat important" for software engineers to have paid experience.
But nonethelss the paid aspects, imo. it's still important to have experience in complex software projects beyond simply coding, but also project management and support skills but I wouldn't say that these can only be gained in what is commonly refered to as a "professional context".
-
undefined evan@cosocial.ca shared this topic on
-
@evan Most of the job of "software engineer" is the same as any other white-collar job: coordinate with your peers, write clearly, plan projects, play office politics. The software part usually a small minority of the day.
I think anyone who's going to call themselves "software engineer" (as opposed to "indie app dev" or whatever) needs to have (or be on a new entrant to the field on a path to gaining) those core professional skills, and to have experience using them.
-
@evan lots and lots of hands-on experience is definitely very important, and sometimes professional experience is the only way to learn the deep lore of a domain, but everyone has to start somewhere and I don't think paid work is necessarily more valuable than volunteer work or independent research
-
@evan lots and lots of hands-on experience is definitely very important, and sometimes professional experience is the only way to learn the deep lore of a domain, but everyone has to start somewhere and I don't think paid work is necessarily more valuable than volunteer work or independent research
@aeva Yeah, I'm regretting a bit using "*professional* experience" in the question, since it does suggest paid work, which wasn't my intention. I wanted to differentiate from "user experience" and "developer experience", which are not the kind of "experience" I was asking about. "Work experience" might be a better term, since it can encompass both.
-
@evan
It can be really helpful. But no one should be discouraged from starting an open source project as a hobby developer just because they lack a professional background. -
What is "professional experience"?
Being paid? Working for a particular kind of corporation? Working on a system with a particular architecture?
-
What is "professional experience"?
Being paid? Working for a particular kind of corporation? Working on a system with a particular architecture?
@interstar experience making software; I'm trying to distinguish it from "user experience" or "developer experience".
-
@evan We missed you, evan
-
@evan University of Waterloo is about 50:50 in terms of time spent in class versus time spent in co-op terms. The ratio of professionally useful things I learned from my co-op terms versus class was about 10:1. And I didn't get great co-op placements.
-
@evan that depends greatly on whether the new position comes with quality mentoring, doesn't it?
-
@evan
For any other profession with "Engineer" in the name, one would expect at least a four year degree in the relevent field. To be a licensed engineer, you need at least four years of professional practice after your degree.I have never heard of any guidelines for "software engineer," hence this question.
Great shot 💙