7

Become Programmer without Degree - possible?

 2 years ago
source link: https://rodiongork.tumblr.com/post/105529693648/become-programmer-without-degree-possible
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Become Programmer without Degree - possible?

Surely possible! I know more programmers without programming-related degree (or without any at all), than ones having proper CS or SE education. I myself have only bachelor in a branch of automation - which is more about electric drives and (some vague math which I do not remember) - and this does not prevent me from being actively hunted as senior / lead java developer.

But if not a degree, what you need then? Let us shed a bit of light on this dark question.

At first do not mistake CS for SE. Computer Science is most important if you are going to work as scientist in this field. It is also almost crucial to get a position like search engine developer in google. But it is not what you need for development of everyday web-applications, mobile tools etc. Software Engineering on the other hand is closer to such “casual” programming - covering some popular technologies, aspects of architecture, protocols, patterns etc. But degree in SE is not required either, of course.

So what the craft of nowadays programmer consists of? I’d say there are 3 large components:

  • general programming skills - ability to see instantly how any task could be decomposed into all these loops, conditions, functions, how lists (arrays) and dictionaries (maps) should be used - for example to output some dynamically generated table on your page, or found the country by IP in the list of IP ranges, or how the monsters in your game should move around the maze etc.
  • fluent knowledge of at least one popular language - of course you may not know the full specification of standard libraries of Python or Java - but you should be fairly well with general syntax and popular tools, you should be able to code simple tasks without significant googling (which is normal when you work with unfamiliar language).
  • experience with specific tools / libraries / frameworks - each field have many of them, there are web-servers, mobile platforms, APIs etc. E.g. if you are going to make web-apps in PHP - you are expected to know something like Symfony, a bit of JavaScript and SQL. If you are going to do Android programming - then knowledge of Android platform, Java tools like Maven and things like Google Play will be to your great advantage.

The first time you will be searching for job, you are not expected to have a lot of portfolio projects and knowledge of tools and APIs, so your first employer will often try to test you for “general programming” and knowledge of the language.

Nevertheless it is crucial to have some experience with technologies (the 3-rd component of mentioned above), so you should find out which are relevant to the field of programming you are targeting at.

So it is important that at some point you decide firmly to which goal you are aiming. Is it web-development of some kind? Or programming for mobile devices? There are really quite many branches, so I will try to list and discuss them better in separate post.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK