Locked

I am the coordinator of MadridJS and Node.js Madrid, two of the largest JavaScript meetups in Europe. Ask me anything.

Alex Fernández
Sep 12, 2017

I coordinate two of the largest JavaScript communities in Europe. We gather once a month to see a couple of informal talks and have a few drinks together. Our mailing lists see all kinds of drama, particularly when people criticize job offers.

Also I help organize JSDayES, the largest JavaScript conference in Spain with 600+ attendants.

I am a developer with 20+ years of professional experience, specializing in scalability and DevOps. I love my job!

Comments are locked

Conversation (71)

In three easy steps and under a minute you could be hosting your own AMA. Join our passionate community of AMA hosts and schedule your own AMA today.

Let's get started!

Hola Pinchito. Me gustaría saber que formación aconsejarías, principalmente presencial y asequible (no ironhack ni de coste similares) a un programador mediocre en javascript para dejar de serlo. Soy residente en Madrid. Muchas gracias!

Sep 12, 4:42PM EDT0

Allow me to answer in English since that is the language for this site. For in-person JavaScript training in Madrid we recently had this wonderful thread on our mailing list (search for "presencial") where people mentioned a lot of possibilities. I have heard many good things about redradix's JS courses.

Good luck and let me know how it goes!

Last edited @ Sep 12, 5:00PM EDT.
Sep 12, 4:55PM EDT0

Do you train people regarding java and it's applications?

Sep 12, 6:35AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

I am not currently involved in any training programs for JavaScript. I have previously taught at a web development bootcamp and a few Node.js courses, but my job life has lately become too hectic to take extra freelancing gigs!

Sep 12, 2:07PM EDT0

What are the advantage and disadvantages of using Java Sockets?

Sep 11, 10:57AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

Java sockets are used when you need low-level communication between different programs running on the same or different machines. Sometimes just accessing a URL doesn't cut it; think of a chat client that needs to connect to a different server. Any bidirectional protocol is an excellent candidate to use sockets; and they have better performance than HTTP or HTTPS access.

Incidentally Node.js has the net library which also provides sockets.

Last edited @ Sep 12, 2:10PM EDT.
Sep 12, 2:04PM EDT0

Thank you for your answer!

Sep 12, 3:10PM EDT1

What things should one keep in mind while creating exceptions in Java?

Sep 11, 9:00AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

There are two basic types of exceptions: checked and unchecked. The first needs to be caught always, or the code will not compile; the second is optional.

JavaScript and most modern languages have dispensed of checked exceptions, and nobody misses them, so they were probably not such a good idea in the first place.

Last edited @ Sep 12, 2:12PM EDT.
Sep 12, 2:04PM EDT0
Show all 3 replies

Does one needs to have any advanced math skills to learn Java?

Sep 11, 2:35AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

You do not need any math skills, advanced or otherwise! Computers are there to make your life easier. There are extensive libraries for every modern language that will make it very easy to do complex mathematical computations. For instance, for JavaScript there is mathjs. Just give programming a try, you will probably be surprised of how easy it really is.

Sep 12, 2:02PM EDT0
Show all 3 replies

How does Java compare in terms of speed to other programming language?

Sep 11, 12:49AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

You can answer it for yourself on the Computer Language Benchmarks Game. Be aware that it is just a game: for real-world comparisons there is no substitute for writing different versions and measuring them. For instance, in Java against Node.js (which uses JavaScript) Java is usually about 3x faster for number crunching.

Sep 12, 1:59PM EDT0
Show all 3 replies

What is difference between StringBuffer and StringBuilder in Java?

Sep 11, 12:32AM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

Apparently StringBuffer is synchronized while StringBuilder is not: the first will be slower but the second one can lead to race conditions if used from different threads.

Sep 12, 1:55PM EDT0
Show all 3 replies

How is Javascript different from Java?

Sep 10, 11:05PM EDT0

Short answer: they are as similar as car and carpet.

Long answer: in the early dark ages of the web NetScape invented a language to add dynamic content to pages. It was called JavaScript to capitalize the popularity of Java at the time, and its syntax was made superficially similar. They both inherit brackets from C, and they both support objects.

Internally they are very different:

  • Java is strongly typed, which means you have to declare ahead of time the type of every variable. It is only really suited to object-oriented programming, and everything needs to be defined as a class. It is compiled into bytecode and then interpreted, and it is usually quite fast. It runs in the server and used to run in the browser as applets. More importantly, it is controlled by Oracle with an iron grip. It has been called "the new COBOL", so it tends to be efficient and boring.
  • JavaScript is weakly typed: you declare a variable and then stick inside whatever you want, strings or objects or even functions. It is multi-paradigm: you can use class-oriented, prototype-oriented, functional or plain-old declarative programming styles. It is interpreted, which means that it is quite slow unless the interpreter does weird tricks with it. It runs in the browser but can be run on the server. It is controlled by a consortium of companies that add features regularly. It is the wild wild west and it can be lots of fun!

You can read a reasonably good explanation, and Quora has a good overview.

Last edited @ Sep 12, 3:23PM EDT.
Sep 12, 1:54PM EDT0

Thanks for this!

Sep 12, 6:28PM EDT1

Where can I find online documentation for Javascript?

Sep 10, 9:17PM EDT0

The best documentation is usually found on Mozilla's MDN site. Just searching for "javascript x" on Google shows it as the first or second result.

Then there is w3schools, which is usually subpar and occasionally misleading. Avoid at all costs!

Sep 12, 3:00PM EDT0

Should Java be the first programming language beginners learn, or do you suggest something else?

Sep 10, 8:13PM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

Java can be hostile for beginners with its type declarations and its "classes everywhere" paradigm; the latest iterations have added annotations to make it even more opaque. I would recommend learning JavaScript instead: it is beginner-friendly, you have an interpreter embedded right into your browser with a console (Chrome is favored by most web developers), and there is a huge job market. Plus, it's a lot of fun! 😁

Sep 12, 1:39PM EDT0
Show all 3 replies

How many JavaScript versions are there?

Sep 10, 7:38PM EDT0

There are infinite variations, almost as many as browser (or other environment) versions! The official versions are standardized as ECMAScript by ECMA and ISO. We are currently at ECMAScript 8, published in June 2017. Be aware that browsers do not still implement most of it properly; ES7 is a more realistic target.

Sep 12, 1:46PM EDT0
Show all 3 replies

Can you explain to me what is generics and why are they used in Java?

Sep 10, 6:49PM EDT0

First, Java and JavaScript are different, and I have not touched Java for years.

Java is strongly typed, which means that you have to explicitly declare the type of every variable you use; JavaScript is weakly typed which means that . When you create an array in Javascript:

let array = [];

You can put whatever you want inside the array. In Java however when you define a List you need to explicitly declare what is inside:

List<String> list = new ArrayList<String>();

See how you need to repeat the type String at least twice, and also say that it is a list at least twice too. That is one of the reasons why Java programming is so dull (everything is repeated many times) and why you should learn JavaScript instead 😉

Be sure to read the Oracle tutorial for an in-depth intro.

Last edited @ Sep 12, 1:33PM EDT.
Sep 12, 1:33PM EDT0

Thank you for posting the tutorial, I will head over there and check it out!

Sep 12, 11:46PM EDT1

Can you name some notable individuals who have attended you meetups? 

Sep 9, 1:33PM EDT0

At the risk of shadowing everyone else: we have had the honor of listening to Myles Borins from the Node.js CTC and Sebastian Witalec from NativeScript. At JSDayES we have brought the famed substack, author of Browserify, or Zeno Rocha from Liferay. From the Spanish scene we had Javi Santana, CTO of Carto, and the ex-Atlassian David Bonilla who hosted an amazing Java vs Node.js showdown.

The previous management team (hi guys!) hosted the amazing SpainJS, where we could see Douglas Crockford, Jeremy Ashkenas or Axel Rauschmayer. We have heard how Masterchef or the Spanish general elections used Node.js; how Booking.com and Liferay are heavy-duty JavaScript users. To be honest, everyone that has the courage of speaking at a meetup or conference is de facto a notable individual!

Last edited @ Sep 9, 8:49PM EDT.
Sep 9, 6:58PM EDT0

Being so large of a community, have you ever considered starting a project or startup together?

Sep 9, 12:47PM EDT0

Not really. We have a lot of job offers in our mailing lists, so I assume that many people have found a job or a partner there. Actually I found my current job there, and from there we have recruited most of our technical employees there too.

Sep 12, 1:15PM EDT0
Show all 3 replies

Hi. Are you involved in the selection of speakers for the JavaScript conference? 

Sep 8, 2:40PM EDT0

Yes, I am involved. The process is:

  • we open the CfP at least 6 months before the conference,
  • our advisory committe scores all proposals individually,
  • and the four organizers select the final schedule based primarily on the scores, but also taking into account other factors like subject repetition (we received 6 proposals about VR!) and diversity.

In the last conference we added a "Rising Stars" track for people with no significant speaker experience, because they are usually not that good writing proposals but can still deliver smashing talks.

Sep 12, 1:19PM EDT0
Show all 3 replies

La tortilla: ¿Con o sin cebolla?

Sep 7, 11:55AM EDT0

Spanish omelette should always have onion; otherwise it is just potatoes and egg, which is a very worthwhile combination, but can be a bit dry unless the egg is disgustingly raw. Traditional cooks usually say there are two basic rules: slow cooking and use lots of onion. I tend to agree, at least for Spanish omelette.

For an excellent result use free-range eggs and Galician potatoes; any decent onions will do. And don't forget to use virgin olive oil! It is the secret ingredient for a killer tortilla española.

TL;DR my mother added onions so please do so too.

Last edited @ Sep 9, 8:50PM EDT.
Sep 9, 8:06PM EDT0

Are you accepting talks for the next conference? Would love to give one on "Work Smart, Not Hard"

Sep 4, 9:38AM EDT0

Not yet! Be sure to follow us on Twitter so that you are notified when we open the CfP. Also, we would love to have you on MadridJS, and may even have a sponsor so you can come give us the talk! Check your mail for details.

For everyone: we are always accepting talks at MadridJS and Node.js Madrid, just create an issue if you are coming to Madrid 😁

Sep 12, 1:23PM EDT0
Show all 3 replies

Why does a toast bread have a form of square meanwhile chópe, salami, mortadela... is a circle form?

Sep 4, 2:12AM EDT0

Legacy systems are to blame. Sausage-like products have a long and varied history; they were created stuffing meat and fat inside the owner's intestines, and are therefore round. Bread, which also has a long history, also used to be round until modern bakeries started using square recipients, which gave bread loaves their characteristic rectangular form. Sandwiches are surprisingly modern (18th Century); originally people ate food on bread slices, which were sometimes used as plates so their shape did not matter much.

It is interesting to note that cheese, while also being traditionally round, can be cut into nice square slices, although it very usually ends up as wedges, as is the custom with e.g. Parmiggiano or Manchego cheese. Also, bread loaves in Spain and France are usually round and long, but eating round slices is not pleasant as the crust gets in the way.

Modern industrial cold cuts have rectangular shapes since they are injected into molds, and they have been rationalized for better sandwich use: it is easy to find square ham slices in the market. But these products are teeming with lactose and other industrial additives so I try to avoid them.

Last edited @ Sep 9, 7:19PM EDT.
Sep 9, 7:17PM EDT0
Show all 3 replies

Semicolons yes or no ?

Also, what do you think of MongoDB ? And Mongoose ?

Sep 3, 5:15PM EDT0

Semicolons are a relic from another age. Sadly, I am also a relic from another age, so I tend to use them a lot in my code. I am fine with code with or without semicolons. What I really dislike is code conventions so strict that they force me to program one way or the other, all the time and without exceptions. Code is for humans to read and write, humans are not machines, and therefore a certain latitude is very welcome.

MongoDB is a very capable database. Just keep it off my critical paths where I have 100 ms to answer a request! In fact, I try to keep Redis and everything else off my critical paths, but where it is not possible in-memory databases (or really fast things like Amazon DynamoDB) are the only choice. I know people who are ready to do a lot of clustering and sharding and finetuning to use MongoDB in critical paths, so your experience may be different. For applications where time is not as critical MongoDB is fine. In short: always be sure to know the failure modes of your databases, because they become your failure modes. Hey, that's catchy, I'm going to tweet it!

I hear nice things about Mongoose. Usually I prefer to write my own "drivers", or at least my own abstraction layers upon third party drivers. Try it sometime, it's not hard and it's a lot of fun! But if I didn't I would probably choose Mongoose.

Last edited @ Sep 9, 8:49PM EDT.
Sep 9, 8:47PM EDT0
Show all 3 replies

Hi Pinchito!

1- What do you think is better: specialization (frontend or back) or go fullstack? 

I'm not sure If there is time to do both things properly. 

2- What do you think about Angular? Is It going to reach React?

Thanks!

Sep 3, 11:06AM EDT0
  1. Specialization vs fullstack: such an interesting topic! I love to tell juniors to be ready to pick a professional path that they would like to follow on their careers. It can be backend, frontend, QA, UX, gaming, security... Luckily our noble profession has no end of subfields, and I think specialization is a necessity for good professionals. At the same time it is interesting to keep an eye on other fields: being able to do things both in the backend and in the frontend can be very useful when tackling a small project. Fullstack developement is probably just another career path for devs that do not want to specialize too much. Me, I like backend development and have specialized somewhat in high performance and scalability, but love doing DevOps!
  2. Angular vs React: Let us look at the controversy in perspective. A first glimpse of AngularJS vs ReactJS on Stack Overflow Trends may make us think that ReactJS is already on par with AngularJS. However, if we include the more recent moniker Angular we find that Angular comes out on top always. Even if React is a very strong player, Angular is still king of the JavaScript frameworks. It is very easy to be blinded by the latest and shiniest: vue.js is making a lot of noise lately but it is still very far from either. The same conclusion can be gleamed from Google Trends.

Angular vs ReactJS vs vue.js

Last edited @ Sep 9, 8:53PM EDT.
Sep 9, 8:27PM EDT0

Can you share some of the funniest critics of job offers you've seen?

Sep 2, 2:37PM EDT0

The usual response to offers without salary range is "please stop wasting our time with vague offers".  Then other people say "hey, stop harassing people that offer honest-to-god jobs", which starts spiralling until someone decides to play police and tells everyone to shut up; this in turn generates another round of shouting because "who made you sheriff". Then one of us organizers have to step up and tell everyone that they are making a fool of themselves, and it usually dies off.

We have seen offers with ridiculous salaries; so much so that people have commented that they were below the legal minimum wage. Others asked for impossible requirements; one commenter said "they are asking for a plumber with fine carpentry skills".

The latest kerfuffle was from a company that promised "the latest desktop", and someone complained: "Desktop? What do you want, to have us chained to your desks? Give us a laptop like everyone else and let us telecommute!"

I have to say, all in all asking companies to indicate the salary range on the mailing list has been very positive. But there is no need to be hostile about it. I like Javi Abadía's approach, he just asks politely: "You forgot to indicate the salary range." Golden!

Last edited @ Sep 9, 7:57PM EDT.
Sep 9, 7:54PM EDT0

Yes, I agree, approaching the situation in a professional and controlled manner is much better! 

Sep 12, 3:47PM EDT1

Wow that's cool! Can you post some links to the conference if someone was to attend? (and can you get us cheaper tickets?:))

Sep 2, 2:22PM EDT0

Sure! It's jsday.es. JSDayES usually happens in late April / early May. Please follow our Twitter account where we announce super-discounted Super Early Bird tickets, although don't fall sleep: they tend to not last long!

Alternatively, once we open the CfP please send us your proposal so you can come for free; we will even cover part of your travel costs 😁

Last edited @ Sep 9, 8:34PM EDT.
Sep 9, 8:34PM EDT0

This is great thank you, I will keep my eyes pealed! 

Sep 12, 3:25PM EDT1
About #TechAMA

Your source for anything and everything in the world of technology.  From cellphone reviews to the Oculus Rift. You won’t want to miss one AMA Event here!

Interested in participating? Our user-friendly channel makes it possible for anyone to create an AMA on just about any imaginable topic that’s relevant to technology--and you. Just click the button on top right called CreateAMA.

The #TechAMA channel (http://www.TechAMA.com) is owned and operated by AMAfeed, LLC.