Need a degree from an accredited school in engineering + pass the engineering licensing requirements. In Ontario, where I live, that means passing an ethics exam + some years of work that is overseen by someone with a P.Eng. The challenge in software is usually the last part.
The exact policy depends on the province but an American engineer that passed the FE exam can easily become an Engineer in Training (EIT) and an American engineer that has more than 4 years work experience (reporting to an engineer) can easily become a Professional Engineer (P.Eng) in Canada.
In other cases, they look at your academic and work history, and may ask you to take FE and/or PE exams and/or an ethics exam and may ask you to complete specific engineering courses. It's actually possible to obtain accreditation through work experience alone (10 years IIRC).
You can even take the FE and PE exams in Canada for this purpose (and for Canadian grads that want to work in the US). Note that if you get an engineering degree in Canada, you don't have to take the FE exam or equivalent to start as an engineer in training, because the engineering schools themselves are accredited with very similar curriculum.
Personal anecdote: I have a Canadian engineering degree but I personally had no problem using work experience abroad as part of my four years experience towards my P. Eng.
If you work in tech writing software or building hardware this has no impact on you at all. You can still do the exact same stuff, you just can't have 'Engineer' in your title. This stuff only really comes into play for say civil engineers signing off on the final design of a project or a chemical engineer doing the same for some plant.
They cannot practice, as in they cannot stamp drawings, or in other words take responsibility for things that require an engineer to take responsibility for. What it means in practice is that either they work in a sector that does not require stamping drawings, or a P.Eng. has to review their work and stamp their drawings.
Well glad I live in California! I’m a college drop out and all self taught. Not a member of any associations. Happily doing lots of great engineering here in the states!
I don't know the details for Canada specifically, but I doubt not having a degree precludes you from registration - generally having one just expedites it.
I'd encourage you not to discount professional bodies as irrelevant, or incapable of becoming more relevant, our industry could benefit from it in many ways - perhaps most frequently on-topic on HN is the ethical and whistle-blowing aspect. Also plenty of professional development and networking, and that only improves as more people that get involved from different (or rather one's own specific) areas.
Not having a degree precludes registration... in fact, the degree must be from an engineering society accredited program, to ensure you get enough hours in front of a P.Eng prof or lecturer, among other things, I think.
One Canadian university's Comp Sci dept. started offering Software Engineering program one time and it ended up in a lawsuit the outcome of which is... complicated.
Canada is, I feel, very... lot of red tape.
The traditional term "engineer" isn't even a very good description of software dev anyway.
Software dev people should just make a new word up and abandon "Engineer".
It does apply to the railroad in general but there are a few job titles grandfathered in that don't require a P. Eng. such as locomotive engineer (the other common one is power engineer) because those job titles were used before the engineering regulations existed and the job descriptions don't match the modern definition of engineering in Canada.
For engineering disciplines in the railroad industry such as structural, mechanical and electrical, a P. Eng. is indeed required.