domingo, 19 de noviembre de 2023

What should a Java Developer know?

 

There are seven things a Java developer should know. And these are:


  1. Who a Java Developer?
  2. What is our main work tool?
  3. Documentation... Is it important or not?
  4. Certifications... How much do they matter?
  5. Frameworks... Are they really useful?
  6. Other languages...what with them?
  7. Always stay updated.

A Java Developer is an:

  • Passionate about problem solving.
  • Who likes to find anything to investigate. To know how it works.
  • Who, neurotically, loves to complicate his life to improve the lives of others.
  • In another case, those who like to get money. Java is one of the most used languages in the world. This is the reason why Java programmers are so in demand.

What is our main work tool?

It's our brain. How we think. That's why you should feed it with good things. Read books. Write. Think about how you can improve your world, your environment and your life. Use your words carefully. How you treat others, they will treat you. The computer and programming languages are a medium, not our main tools. This helps us create things that are in our minds. If it contains garbage, you will create garbage.

Documentation... Is it important or not?

In short, it is important. Why it is important? Because the documentation tells us what and how of things. Imagine, we have a problem with some requirement and we don't know what or how to do it. Then the documentation helps us know what and how we can solve it. In a time where there was no internet, the only help was official documentation. If you didn't read, you were lost.

Certifications... How much do they matter?

"He who talks too much falls very hard". Those who have many diplomas, titles or certificates are not always the ones who know the most. Experience is more important than a sheet of paper.

It's like school. If you complete your assignments and get a 10 on your grades, it's because you are dedicated. But that doesn't mean you're better than everyone else. Sometimes experience kills any certificate.

Frameworks... Are they really useful?

Yes. They are really useful. Whether we want it or not. Creating an application the old-fashioned way was not easy. A "hello world" could take us more time than necessary.

Other languages...what with them?

I mean other languages, not programming languages. Speaking in other languages is always important. At least if you want to be a programmer or work in something related to technology.

You will often have to talk to other people in a language other than your own. Seriously, you have to talk to other people whether you want to or not.

You will have to talk, either with the boss or with the users.

Always stay updated.

It is not necessary to talk about it. If you sleep, another one will climb the tree. Whoever believes themselves to be better than others will have the opportunity to prove it. Today's knowledge may be a thing of the past. There is always something new to learn.

Docker, Kubernetes and Cloud Native are things you will have to learn and when you think you know it all, other things will come along that will make you obsolete and you will have to learn again.

To end. You will have to learn new things, always.

sábado, 11 de noviembre de 2023

50 Questions you need to answer before a Java Interview

Edgar Regalado nos comparte en su blog una serie de 50 preguntas y respuestas sobre Java. Preguntas como: ¿Qué es una clase?, ¿Qué es un objeto? y ¿Cuál es la diferencia entre estos dos?

Como él mismo dice, su mayor énfasis es poder compartir esta teoría, ya que muchas veces solo nos enfocamos en la parte práctica sin pensar que la teoría siempre es un complemento.

The reason for this was mainly due to my lack of theoretical knowledge. I was focusing too much on the practical side and forgot about the underlying theory. Therefore, in this article, I'll be sharing with you 50 real questions that I have been asked during interviews. Each question comes with an answer and some of them also have references to read more on the topic. Let's nail that job!

Desde preguntas básicas hasta otras más complejas. El cuestionario, dividido en dos partes, es bastante útil para desarrolladores principiantes como desarrolladores con experiencia.

Enlaces:

https://supernovaic.blogspot.com/2019/02/50-questions-you-need-to-answer-before.html
https://supernovaic.blogspot.com/2019/02/50-questions-you-need-to-answer-before_11.html

domingo, 5 de noviembre de 2023

Elixir: funciones

 

Continuando con la serie sobre Elixir en ésta ocasión veremos algo de funciones. Funciones propias del lenguaje y cómo crear las nuestras.

Pero, antes que nada, ¿qué es una función? Una función es un bloque de código que realizar una operación específica. Este bloque tiene un nombre y contiene las instrucciones necesarias para realizar esa tarea. Se puede invocar y devolverá un valor: el resultado de dicha operación.

# Función para sumar 2 números
suma = fn (a,b) -> a+b end

# Función para restar dos números
resta = fn (a,b) -> a-b end

En este código definimos dos funciones anónimas (suma y resta) que nos devolverán el resultado. Invocamos las funciones.

IO.puts suma.(3,5) # 8
IO.puts resta.(6,2) # 4

Abajo hacemos uso de una función propia de Elixir para medir la longitud de una cadena.

String.length("CODE-MONKEY-JUNIOR")
18

Existen más funciones para manipulaciones de cadena de caracteres que son muy útiles y nos ahorrarán tiempo de desarrollo.

String.contains?("code for life", "for")
true

String.capitalize("elixir")
"Elixir"

String.downcase("CODEMONKEY")
"codemonkey"

¿Y qué con los procedimientos? Un procedimiento es similar a una función. Es un bloque que tendrá un nombre y podrá ser invocado, pero no devolverá ningún valor.

Esto (los procedimientos) se puede ver en un clásico Hola mundo o cualquier operación que no devuelva algo con lo que podamos hacer alguna operación.

holamundo.exs

defmodule Hello do
  def print(lang \\ :en)
  def print(:de), do: "Hallo Welt"
  def print(:en), do: "Hello World"
  def print(:es), do: "Hola Mundo"
  def print(:ru), do: "Привет мир"
end

IO.puts Hello.print()
IO.puts Hello.print(:es)
Io.puts Hello.print(:ru)

Ejecutamos:

$ elixir holamundo.exs
Hello World
Hola Mundo
Привет мир

Ahora procedemos a crear dos funciones de suma y resta (funciones con nombre):

defmodule Operaciones do 
  def sumar(x,y) do 
    x+y
  end

  def restar(x,y) do 
    x-y
  end  
end

Invocamos las funciones:

x=2
y=4

IO.puts "Suma de #{x} + #{y} da: #{Operaciones.sumar(x,y)}"
IO.puts "Resta de #{x} - #{y} da: #{Operaciones.restar(x,y)}"

Más post sobre elixir en futuras entregas.

Enlaces:

https://elixir-lang.org/
https://joyofelixir.com/