sábado, 26 de noviembre de 2016

we developers SAP

Aquí os dejo el guión que preparé para participar en el episodio de we developers sobre SAP.
Podéis escuchar el episodio aquí

Gracias

Gracias a we developers por la oportunidad de participar en el podcast, pero sobre todo por crear este maravilloso podcast. Hacéis mucho más cercano el mundo del desarrollo.

Aviso

Como dijo Ortega y Gasset, yo, soy yo y mis circunstancias. Con esto quiero decir que voy a hablar desde mi experiencia personal y mi humilde punto de vista.
Dentro de todo el abanico de productos de la empresa SAP, me voy a centrar en el ERP, que es el que más conozco. Para que los y las oyentes me pueden entender un poco mejor quiero contar rápidamente mi experiencia profesional. En primer lugar trabajé en una consultora informática, pero una pequeñita y de analista programador en Microsoft Dynamics NAV no de SAP, en SAP siempre he estado en cliente final, en el departamento de IT.

Historia SAP

Aunque el oyente imagino que preferirá escuchar temas como dónde aprenderlo o que tecnologías uso, creo que es importante antes de saber a dónde queremos ir de donde venimos. Esto a lo mejor Diego o José lo pueden explicar mejor que yo, pero a principios de los 90, la empresas iban creciendo, pero cada departamento se comportaba frente al resto como una isla, esto para los puestos de dirección entendiendo que era un problema ya que cada departamento presentaría la información a su manera. Para cubrir esta necesidad de unificar los procesos de las compañías, nacen los ERP. Nace el SAP en Alemania, Navision en Dinamarca e imagino que otros tantos y por motivos que desconozco, parece que SAP se ha impuesto más en grandes compañías.
En resumen, para el que no lo sepa SAP es un ERP Enterprise Resource Planning , un programa de gestión empresarial, muy consolidado en el mercado, sobre todo enfocado a grandes empresas. Con esto ya podemos sacar una idea, y es que si queremos trabajar en el mundo SAP, tenemos que tener cierto interés en la gestión de empresas. Esto para mi es fundamental.

Modular

Al ser un software para la gestión de empresas, SAP es un producto amplísimo y por lo tanto se divide en módulos, por nombrar algunos, tenemos FI Finanzas CO Controlling (control de costes) SD Sales and Distribution HR Human Resources MM Material Management (compras) PM Plant Manteniment PP Planificacion de Producción QM calidad…

Desde mi punto de vista, lo que el mercado va a pedir de ti, es que te sepas un módulo, o como mucho dos. Esto en mi opinión es un error, o por lo menos es un error si no metemos una variable más que es el puesto de trabajo. Por ejemplo si eres consultor interno en una empresa, o en una consultora pequeña, saber un módulo o dos no te hará competitivo. Si una empresa que fabrica colchones tiene adquiere el SAP, y no es una mega corporación, no se va a permitir tener un tío por si el módulo de finanzas da problemas, otro para compras, otro para recursos humanos… Esto no quiere decir, cuando más profundos sean nuestros problemas y por lo tanto conocimientos, en un módulo, menos módulos podremos saber, pero si simplemente tenemos problemas a nivel superficial, tendremos que saber más de un módulo.

Creo que esto se arrastra del boom de las consultoras¿les puede interesar a las consultoras que sus consultores solo sepan un módulo? Así en lugar de mandar 3 tios mandan 5.

Opinión personal
1 persona = 1 módulo = 1 error

Independientemente del módulo o módulos que controlemos tendremos otra variable, que será el sector. Esto en el mundillo se llama vertical. Un vertical de automoción, de construcción, de servicios...

Mi experiencia, como llegué

En mi caso, yo estaba como analista programador en una consultora informática pero con la tecnología Microsoft Dynamics NAV, por decirlo de alguna manera, otro ERP, un producto que es competencia del SAP. Con la crisis y de mutuo acuerdo con mis ex jefes empecé a buscar otros puestos de trabajo y fui a una entrevista que ofrecían un puesto de consultor interno en el módulo SD Sales and Distribution, sobre todo para hacer un rollout a las filiales de la compañía. Enfoque mis competencias en conocimientos de gestión empresarial (no habitual en informáticos) pero en cuanto me pusiera a trabajar me pondría con la parte técnica y así fue. Esto que voy a decir igual alguien piensa que es una burrada, pero al final, un ERP, independientemente del que sea va a componer, una base de datos, unas interfaces para introducir o extraer datos y alguna herramienta para hacer informes. Si conocemos gestión de bases de datos y programación, en mayor o menor tiempo, en función de nuestras ganas podremos adaptarnos. En este primer trabajo relacionado con SAP, solo me dedicaba a consultoría, que explicaré mas adelante, del módulo de ventas, casi dos años más tarde me cambié a otra empresa, también de cliente final, con el fin de poder desarrollarme más, programador abap, ver otros módulos, business warehouse, business intelligence, data science, aunque esto último no sea mediante el trabajo, sino a través de un meetup. Para el que no lo sepa meetup es una red social donde puedes conocer a gente con tus intereses y hacer quedadas.

Consultoría

En el mundo SAP, uno de los puestos de trabajo existentes es consultor, ¿que es consultor SAP? Como hemos comentado SAP es un programa de gestión empresarial, para cualquier tipo de empresa, pero claro, una empresa que fabrica coches no tiene las mismas necesidades que una del del sector de la alimentación. Para esto SAP tiene todo un apartado llamado parametrización o customizing en la que sin programar puedes definir cómo se comportará el sistema. Por ejemplo, si somos consultor del módulo de ventas, puedes definir los tipos de pedidos con los que trabajará la empresa (muestras, normal, devolución…) e ir definiendo cómo funcionan esos pedidos ¿se tiene que hacer albarán? ¿como aplicaran los impuestos?.... Y esto por cada uno de los módulo, en este ámbito podemos encontrar a informáticos o no. Sobre todo en módulos de finanzas, costes, ya que aparte de conocimientos técnicos son necesarios conocimientos profundos en la materia en cuestión

Programador ABAP

Si nos decidimos por el mundo de la programación en SAP tenemos que saber que el lenguaje de programación del corre, es ABAP, el IDE, esta integrado en el propio cliente de SAP. Aunque ahora esta cambiando un poco todo y podemos también programar ABAP desde, por ejemplo, eclipse.
¿Qué podemos programar?
Pues como SAP es un producto que adquirimos, y la empresa SAP es la que publica nuevas versiones, no podemos cambiar lo que queramos, ¡ojo! podemos hacer lo que queramos, pero  con cierto orden. Me explico, Yo no puedo ir al punto de programa donde se hacen los asientos contables y poner “hazme los asientos al revés”. ¿Por qué? Independientemente de que no es el mejor ejemplo del mundo, esto no tiene sentido porque en una actualización de SAP, la actualización nos machacaría nuestros cambios. Para ello SAP nos propone ciertas técnicas, básicamente son puntos en la programación, donde si que podemos hacer los cambios que consideremos y estos son respetados en las actualizaciones.
Con las tablas pasa lo mismo, yo no puedo coger la tabla de stocks y borrarle 5 campos, por contra si que podría crearme una estructura que le añada dos campos.
Por otro lado tenemos si creemos todo desde 0, tablas y programas si que podemos hacer lo que queramos, aunque lo ideal es utilizar lo que SAP ya te da, si no, no tendría sentido adquirirlo, puede darse el caso de que la gestión de proyectos de SAP no me gusta, pues me hago todo un desarrollo mío para la gestión de proyectos, aunque insisto, esto sería o debería ser en casos excepcionales.
Otro caso, y aquí ya no entiendo tanto porque nunca he estado en la parte de cómo se factura el SAP, pero si que me consta que cuando se adquiere se paga en función de los módulos que compres, por poner un ejemplo, no se si tiene sentido, el módulo de calidad de SAP tiene muchísimas cosas que yo no utilizo, pues no lo adquiero y me hago algo por mi cuenta, por que para mi negocio con dos simples controles me basta.

Formación

Mi caso no es lo normal, lo normal es que la gente para poder aplicar a puestos de trabajos sobre SAP haya hecho previamente algún curso de este. SAP tiene un amplio catálogo de formación, aunque caro. Seguro que otro tipo de academias o universidades (la salle, upv) también ofrecen cosas, pero mi recomendación es ir a SAP, sobre todo certificaciones oficiales de módulos, ya que pueden ser determinantes para conseguir un puesto de trabajo. Aunque algún master de una universidad puede estar bien, ya que incorporan puntos a favor como prácticas en empresas.
En mi experiencia, al estar trabajando, he ido haciendo algún curso gratuito que pueda haber encontrado en internet, como por ejemplo los de la salle, que considero que están bien o el último que hice en www.open.sap.com que son cursos gratuitos que ofrece SAP. Lo recomiendo encarecidamente. Este verano hice uno sobre web apps que atacan al sap mediante odata. Por no hablar de toda la documentación, blogs… que podamos encontrar por internet. En este punto destaco la web https://go.sap.com/community.html es una amplísima comunidad, donde podemos encontrar de todo, manuales, tutoriales, y sobre todo un grandísimo foro donde ya han hablado de problemas que aun no te has topado.

Sueldo

No se si “abrir este melón”, ya que en España por lo menos, parece un tema tabú. Pero a favor, de ese tabú, tengo que admitir que es difícil hablar de sueldos, por la gente, puede compararse, sin realmente aplicar todas las variables que puedan afectar al sueldo. Yo, estoy seguro, de que cobro menos que una persona que hace lo mismo que yo en Madrid. También soy consciente de que en igualdad de gastos, los míos serán menores. Luego ya entran los años, la formación, sector… Otro factor importante es en que momento de la ola se encuentra la tecnología, por ejemplo, seguro que cuando yo estaba en la universidad, se paga mucho mejor que cuando yo salí al mercado laboral. Y por último hay que aplicar la ley de la oferta y la demanda, si hay menos programadores abap que programadores web, pues los primeros estarán mejor cotizados que los segundos, ¡pero ojo! también habrán menos ofertas. Resumiendo y aunque no tenga que ver con el dinero e igual digo lo mismo que puedan haber oido los oyentes en miles de sitios, busca lo que te guste, estar 8 horas al día durante la mayor parte del año es pesado. Hay cosas que nos salen bien, cosas que nos salen mal, enfados, problemas, errores inexplicables… todas estas cosas las vas a ver independientemente de la tecnología con la que trabajes, así que por lo menos decide la tecnología que te gratifique.

Preguntas Diego

Cuanto cuesta

No lo se, pero todo el mundo coincide en que es muy caro. Cuando se recurre a implantar SAP en una empresa, es porque se necesita, por ejemplo, se de un caso que cuando una empresa se convirtió a multinacional tuvo que ir al SAP, para por ejemplo adaptarse automáticamente a la fiscalidad de los países.

Se puede trastear en casa

No si nos referimos a una instalación propia, cuando empecé, en la web mundosap hablaban de un mini sap que se instalaba en local, nunca pude ni siquiera bajarlo. Por desgracia no se puede poner en casa para probar, pero esto no quita que sea inaccesible, si no trabajas ya no el. Por ejemplo, en el curso que hice mediante open.sap.com, nos guiaron a cómo crearnos una cuenta para entrar a una instalación de sap mediante web. Así que el que realmente lo quiere, sí que puede probarlo.

Usas ABAP o tecnologías de los 90

Esta pregunta saca al Diego que quería conocer ;) si queremos tocar el núcleo o el modelo de negocio, por llamarlo de alguna manera, sí que tenemos que ir a ABAP, pero SAP esta en constante innovación, un consultor me comentó que SAP, la empresa, todos los años cuando cierra el ejercicio y ya tiene los beneficios, un buen porcentaje de estos los reinvierte en i+d y esto, yo como usuario si que lo veo asi, por que constantemente esta sacando productos nuevos o nuevas tecnologías. Y aunque tenga la fama de caro, que supongo que será así, cuando adquieres ciertos productos que les interesa promocionar, tiene mejores precios para los clientes que “primero se tiran a la piscina”

Tecnologías que he tocado gracias trabajar con SAP

ABAP
SQL
Procedimientos almacenados en base datos, contestando a Diego, en cuanto a tecnologías de los 90, esto aunque parezca viejo, se esta poniendo de actualidad. La última versión de base de datos que ofrece SAP se llama HANA, esto básicamente es una tecnología que le compraron a una empresa, en la que básicamente (no soy un experto del tema) se simplifica muchísimo la base de datos con un número reducido de tablas, pero con un montón de campos (se quitan relaciones) y toda la base de datos esta en memoria. Aquí se rompe la premisa de SAP de hace unos años de no toque las bbdd y hazlo todo mediante programa, ahora es si quieres sacar información, haz tus propias vistas o procedimientos en la bbdd que así es como va “que vuela”.
R. Este lenguaje no se si categorizar como  nuevo o viejo, pero en lo que estaremos de acuerdo es en que esta de actualidad. la base de datos en hana que he comentado antes, nos permite ejecutar procedimientos en R a la base de datos, ya tenemos un proyecto en marcha con esta tecnología y a nivel personal estoy estudiando sobre la ciencia de datos que creo que es algo que se nos va a exigir en un futuro inmediato. Y que sería interesante que alguien se ofreciera para hacer un podcast ;)
HTML5 + CSS + Javascript
Estas tecnologías se pueden aplicar en diferentes productos de SAP, por ejemplo en el desarrollo de web apps como he comentado anteriormente. En ciertos productos para hacer aplicaciones de informes, cuadros de mando... web, aunque es una tecnología propia, los componentes están desarrollados en estas tecnologías, por lo que si queremos hacer o modificar componentes tenemos que conocerlas

Por qué recomendarías a alguien que lo pruebe

Como he comentado varias veces, si aparte de la informática y el desarrollo te gusta el mundo empresarial o la gestión de negocios, este es producto líder del mercado. Conocer SAP te puede abrir puertas a trabajar en grandes compañías.

Por qué lo odia la gente

A ver, yo no he conocido a nadie que odie SAP, quitando de usuarios finales XD, ahora enserio, si hablamos de usuarios finales que nos les guste pueden ser por diferentes motivos, y una de ellos es porque no se les ha explicado el para que se implanta SAP en una compañía. SAP se implanta para dar a altos mandos e intermedios información de la situación de la compañía, si para esto ciertos usuarios tienen que hacer n pasos para hacer sus tareas, pues así se hará, porque la persona que invierte en SAP no lo pone para los usuarios, lo pone para mejorar la información de la compañía. Esto no quiere decir que pasar un pedido, un parte o lo que sea, sea una tortura, para ello tiene que haber equipos de IT que optimicen y agilicen todo lo que se pueda.
Ahora si hablamos de consultores o programadores no he encontrado a nadie que odie el SAP, si hay gente quemada será por la empresa donde trabaja, porque le asignan más proyectos de los que puede abordar o por cualquier otro motivo, pero renegar de la tecnología propiamente dicho, no he oído a nadie.
Por contra, esto no quiere decir que ABAP manera de desarrollar sea la mejor del mundo, ni mucho menos, pero es una más y como todas, tendrá cosas buenas y cosas malas.

Contacto

@MirasFerrando en Twitter
Blog: soy-informatico.blogspot.com



martes, 1 de noviembre de 2016

mi vida en moviles

iPhone 6s (diciembre 2015)

Sony Z2

Samsung Galaxy Note 2

Sony Ericsson Xperia Neo

HTC Hero
Samsung Omnia

Sony Ericsson w910i

Nokia n70

Nokia 6600

Siemens s55

Nokia 3210

Por marca

Apple: 1
HTC:  1
Nokia: 3
Samsung: 2
Siemens: 1
Sony: 3