:: Re: [DNG] OT: Degree?
Page principale
Supprimer ce message
Répondre à ce message
Auteur: Dima Krasner
Date:  
À: Dng
Sujet: Re: [DNG] OT: Degree?
On Thu, 12 Nov 2015 15:02:28 +0000 (UTC)
Mitt Green <mitt_green@???> wrote:

> Let's imagine: a guy is writing some open-source software, places it on GitHub or somewhere else,
> a firm then comes up and say "hmm, we need a specialist like that, let's write an email to him".
>
> Or the same guy writes the same stuff and one day he starts thinking "hmm, let me send
> the stuff I do to $company_name". And they then hire him.


Exactly what I did.

I receive job offers all the time, based on my online (personal homepage, GitHub, LinkedIn, etc') portfolio, although I don't have any certificates hanging nicely on the wall. There's a shortage of developers in my country, the so-called startup nation, mainly because of the cyber security startup companies that emerged in the last 5 years or so. Moreover, for some cultural reason, it's rare to see free software/open source software/Linux developers here, especially experienced ones, so it's a strong point.

I do software development (without any academic certifications, I'm a strict autodidact - a "hobbyist") for living and study for BA in philosophy and education in my spare time and during my daily commute. My areas of expertise are low-level/system programming (C, mostly) across *nix platforms, porting and distro development, things I got involved with at a young age, without any knowledge and out of sheer curiosity. When I grew older, I realized I did the right thing, because university does not teach those things.

I study mainly for fun, because I'm curious and generally, a nonconforming person. I think you don't *need* an academic degree to work in the software industry (although it's definitely something I recommend, because you don't want to get fired just because you're the only worker in your team without one), for three main reasons:
1) Many parts of the software engineering/computer sciences curriculum are (boring,) completely outdated and irrelevant. Most people don't actually use their academic knowledge in algebra, compiler theory and Lisp, while proper use of data structure and basic understanding of efficiency (even without the mathematical background) are extremely useful. Having a degree in CS is a strict requirement in many companies in my country, but most security startups are more than willing to hire those who have nothing but prior experience. In fact, some companies even encourage people to quit their studies, so they can work more, but that's a different story.
2) Sometimes, gaining a deeper insight into some subject may harm your practical skills in that field, because of the way the subject is taught (top-to-bottom, bottom-to-top, etc') and experienced. I've worked with many (bright) people with a master's degree in CS, who had trouble in day-to-day situations. Instead of googling "general purpose compression library" or doing man -k compress, they would prefer to implement trivial RLE, Deflate or another algorithm they know by name only, through university (leveraging their amazingly limited experience in C, of course). I was surprised to see that their problem solving skills, horizontal knowledge (i.e confusion and embarrassment when someone else used terms like "GCC", "Clang", "JIT", "inline" or "strip" in a conversation about compilers), familiarity with geek/hacker culture (i.e even trivial things being aware of Distrowatch, LWN or glibc) and ability to think creatively were *so* limited compared to those of my autodidact colleagues. I'm not saying that's the norm - this could be only a local problem, but it proves my point: some people with great potential that enter the academia lose something along the way.
3) Of course, getting that degree requires time, money, hard work, dedication and sacrifice, especially if you intend to work (even in a part-time job) during these years. Also, you'll need motivation. Many friends of mine decided to quit their studies because they realized they *already have* a good salary in a nice company, a nice car, somewhere to live, etc'. That's the best way to lose motivation, so I decided not to suffer: just study the subject that interests me the most, even if won't bring good any job opportunities in the future.

I hope you find my point of view interesting.

Dima

--
Dima Krasner <dima@???>