top | item 12946202

Self-Taught Software Engineers: Why Open Source Is Important to Us

76 points| nreece | 9 years ago |medium.com | reply

22 comments

order
[+] faitswulff|9 years ago|reply
> I then created a new repository on GitHub and created my own network scanner for iOS called MMLanScan (The reason I didn’t create a pull request back to original project it’s because it was abandoned).

This seems a bit like his early attempts to sell free Ubuntu discs. Hopefully he got the wording slightly wrong and forked it instead of starting a brand new repository with no attribution.

[+] throwaway_exer|9 years ago|reply
Not sure what's wrong with selling Ubuntu disks.

Initially, Stallman made a living selling GNU tapes, and pre-Internet, linux was often installed by a "friend" who made the stack of 40 floppies and charged a few bucks to cover his time and media expenses.

[+] bigger_cheese|9 years ago|reply
Slightly off topic but one thing I've long been curious about is what are the requirements to call yourself 'software engineer' as a job title?

In many parts of the world claiming to be an engineer (in a professional capacity) without the required qualifications opens you (and your employer) up to all sorts of liability issues.

I am a Materials Engineer I've long suspected the software engineer title is not regulated anywhere near as heavily.

[+] geooooooooobox|9 years ago|reply
I think the fact that Software Engineering not being regulated has been offset by the fact that the concept of open source code and open information (relative to other branches of engineering) pushes good practices to pretty much every programmer on the planet without asking (most of the time) and peer pressure is heavily against anyone who tries to sneak away or laze. I think software engineering is unique in being a collective of uncoordinated knowledge that self-heals and self-optimizes. All thanks to the open source movement and the n-number of tutorials online.
[+] psyc|9 years ago|reply
The title software engineer is not a claim to be an engineer, anymore than software architect is a claim to be an architect.
[+] mgkimsal|9 years ago|reply
AFAIK, it's not regulated at all - certainly nowhere in the US that I've lived.

But... I don't call myself a materials engineer, which probably has some sort of licensing or regulation, no?

[+] BenElgar|9 years ago|reply
It's certainly regulated in some places, Iceland for example, and in the UK there would often be the assumption - though probably not the legal requirement - that you'd taken a degree that has been granted accredited status by the national Engineering Council.

[1] https://en.wikipedia.org/wiki/Software_engineer#Regulatory_c...

[+] Walkman|9 years ago|reply
The biggest barrier of contributing back is that it takes a lot of time and effort (even for small projects) which you are not obliged to make. A lot of the time the driver for contribution is only the person's internal belief that he/she has to do it and honestly sometimes even when you want to contribute back, you don't have enough time or energy after 8+ hours of work.

It can be a big difference if the library author allows contributions much-much easier to make.

[+] cdevs|9 years ago|reply
I learned a lot about what I was lacking or what was expected of me in early interviews, it's as if we need a few more blogs like this and some transcribed interviews to prepare people for those "oh shoot I forgot to learn something simple" moments. It's going to happen for college kids and self thought no matter what. If this were a intern job he would have still gotten it and been trained on git. The OS X time machine reply is priceless though...I can remember the copy a folder for backup every hour programming days...horrible times:)
[+] saurabhjha|9 years ago|reply
Some open source projects have "Easy to Fix" issues to get people on the roll (like Scikit-Learn), but many don't.

Some have overview of their source code and their design principles (like Redis) but many don't.

Some have good documentation of how to get your patches in main tree but many (especially those not hosted on github) don't have it.

Most notably for C/C++ projects, the undocumented dependencies to build the library can waste hours at a time.

Open source is great (I have contributed to a couple of projects) but not all projects are equal in terms of quality/easy-to-hack.

Brad Fitzpatrick has also written quite a bit about this http://brad.livejournal.com/2409049.html