How important is it for software engineers to have professional experience?
-
@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.
-
@evan Very important, but of course they must start somewhere to be able to gain the experience.
-
@evan Experience is certainly important, though whether through job or hobby makes little difference except that in the latter case, since you have less time for it, you're acquiring it a bit slower
-
Thanks to everyone who responded!
One of the persistent myths of software engineering is that a young, inexperienced, small team can make a product better and faster than an experienced team.
I haven't found this to be the case. Most of the brand-new teams I've seen have been pretty shaky.
So, I'm going to say "somewhat important".
-
Thanks to everyone who responded!
One of the persistent myths of software engineering is that a young, inexperienced, small team can make a product better and faster than an experienced team.
I haven't found this to be the case. Most of the brand-new teams I've seen have been pretty shaky.
So, I'm going to say "somewhat important".
I used "professional experience" in this question to differentiate from other uses of the word "experience" in software engineering -- especially "user experience" or "developer experience".
Unfortunately, a lot of people in the comments got hung up on the "professional" part -- whether the work was paid. In retrospect, I think "work experience" might have been a better term to use. Live and learn!
-
Thanks to everyone who responded!
One of the persistent myths of software engineering is that a young, inexperienced, small team can make a product better and faster than an experienced team.
I haven't found this to be the case. Most of the brand-new teams I've seen have been pretty shaky.
So, I'm going to say "somewhat important".
@evan@cosocial.ca "young", "inexperienced", "small". That particular constellation of adjectives would lead to a pretty bad product I think!
The important keyword here is "small". A small but experienced team will run circles around any other combination. Age is less important (but tends to correlate with experience, one would assume.)
-
Thanks to everyone who responded!
One of the persistent myths of software engineering is that a young, inexperienced, small team can make a product better and faster than an experienced team.
I haven't found this to be the case. Most of the brand-new teams I've seen have been pretty shaky.
So, I'm going to say "somewhat important".
@evan too late to vote but my vote would be "very important", pondering that it could have been lower if you asked me in the past, mostly because with the AI tools now it's critical to have someone review the generated code. A less experienced engineer would accept the code as is without thinking of implications
On the flip side of arguments, I also less experience can be good sometimes, having a fearless team member can explore new ideas without the baggage of past experiences
-
@julian Ha, good point!
-
I used "professional experience" in this question to differentiate from other uses of the word "experience" in software engineering -- especially "user experience" or "developer experience".
Unfortunately, a lot of people in the comments got hung up on the "professional" part -- whether the work was paid. In retrospect, I think "work experience" might have been a better term to use. Live and learn!
Another thing that people honed in on was "software engineering" versus "programming", "software development", or other names for building software. I didn't intend it as a major focus, but I did want to cover all the parts of the job of getting software made -- not just typing code.