Why is it important to be Agnostic in software development?

Jose Gratereaux
4 min readSep 17, 2021

--

Photo by Fotis Fotopoulos on Unsplash

Many companies, if not most, are looking for Software developers oriented to a specific language, generally on which this company has its infrastructure or developed applications based. As employees or freelancers we are always looking for improvement both in salary and in other aspects, we look for or jump from one company to another and knowing one language or another is always a limitation to apply or not to opportunities in X or Y company.

Every time we change companies we must either adapt to its infrastructure / language that it uses or simply die trying. That is why one of the wisest advice I can give someone who is starting in the world of Software is to be “Agnostic”.

Wait! Don’t you know what the word Agnostic means? I’ll explain it

The word agnostic was created by the biologist Thomas Henry Huxley (1825–1895) using the following components of Greek origin: The prefix α- (a- = sin), as in aphasia, apathy and apepsia. It is related to an Indo-European root * ne-. … The word γνῶσις (gnosis = knowledge), as in agnosis, autognosis and prognosis.

Ok, and what does this refer to in the technology environment?

It refers to the interoperability and compatibility capacity of a computing component between various systems and environments, without requiring special adaptation. The term does not refer only to software and hardware but also to processes and tasks.

Please, explain this to me, but oriented to Software Development.

Technology agnostic means that software developers do not prefer a specific technology. For each solution, developers are free to use the most appropriate technology. They learn fundamentals, design patterns and become experts in the basis of development that can be applied in any programming language.

So what should I learn or what should I focus on?

Regardless of the language you should know

1. How it works and how to do CRUD operations.

2. You must know about design patterns.

3. You must study about Algorithms and Data Structure.

4. Exercise your mind solving problems, katas, etc …

5. Learn to use the documentations.

6. Stack Overflow is your friend!

Photo by Michiel Leunens on Unsplash

Technology agnostic means that software developers do not prefer a specific technology. For each solution, developers are free to use the most appropriate technology, the one that best accommodates the company or startup in terms of both capacity and budget. But Ok, if companies already have their technology and are not going to change it, what do I do? Learn, it is assumed that, if you are agnostic, you can learn in a short time, you already have a good base, it is only to learn the syntax of the new language to use and that’s it. In that sense, you will always have the documentation at your side.

We all know that most languages ​​come from a base or a language that precedes them, and from my own experience every time I think or they ask me which language is good to learn first, (I don’t even like to answer the question), I say C ++, for me, is the basis of everything. Ok, if you don’t want for any topic, then Java, ok ok, well C # … anyway, but not just any … because if you learn Python for the first time you will get confused when you try to start with another … Well Well, it doesn’t matter, but if you ask me C# or Java …

At the end, it does not matter with which language you should always have the Basis of everything … learn, read, watch tutorials, courses, Udemy, etc. … from what I wrote you above and I know that in less than 3 or 4 months already you are mastering a new language, if you have that base well learned …

If you ask me how my learning path or path was, well I started at a very early age with COBOL (maybe you already deduce my age), then I went to BASIC, then C ++, Java, PHP, Javascript, Python, C #, Lua, Dart, anyway … it is not difficult for me to learn new languages … I just prefer not to do it if it is not necessary.

I hope I can continue giving advice, you can add what your path was in the comments and we continue to enrich ourselves.

Jose

--

--

Jose Gratereaux

Spanish and English content for Agnostic things about Technology. Im writer of HumanTech.do Blog and love to share experiences that i learned on my carrer.