Las cosas se hacen mal: En el mundo

En general, no soy una persona patriotica, de verdad que no, y en general, tampoco me gusta escribir entradas en este blog que sean solo ligas a articulos en otro lado (los que hayan leido los choros tan largos que me he aventado aqui saben que no) pero la verdad es que me molesta mucho cuando dicen cosas como que la educacion en Mexico, en temas relacionados con la informática esta del asco, que deberiamos de mejorar nuestro nivel, para que sea tan bueno como, por ejemplo el que hay en paises del "primer mundo" como Estados Unidos (o en paises del tercer mundo, como la India).

Bueno, lean esto.

Me pregunto en cuantos otros casos nos pasa igual... creemos que nuestros medicos, arquitectos, abogados, obreros, maestros, soldados etc no son "tan buenos" como los que hay en otro paises... y en realidad, es solo una diferencia de percepcion.... (en USA se consideran menos corruptos a si mismo que nosotros... pero en verdad son mas honestos?)

El problema, lectores, en mi opinión, no es en Mexico, el problema, es en el mundo (y quiza, solo quiza, si dejaramos de creer que nos va mal "por ser Mexicanos" , y nos dieramos cuenta que en realidad no existen en nuestra cultura mas defectos que en otras que consideramos "superiores" tendríamos mas posibildades de mejorar, a mi, al menos, me gusta pensar así...)

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Inicialmente te entendí que

Inicialmente te entendí que exactamente lo contrario, que el articulo hablaba de lo mal que está la educación en México, pero ya leyéndolo ( y releyendo tu post ) me doy cuenta que la queja es en el mundo ( o quizá en EEUU de donde probablemente es el articulo ).

Me parece un poco a aquello de "Antes, los niños respetaban a sus mayores, los precios eran razonables, los políticos eran honestos" es decir, que parece que todo tiempo pasado fue mejor y que las nuevas generaciones son las que ya no saben lo que es bueno.

Yo creo que siempre ha sido así, que los recién egresados casí por definición desconocen el oficio, y no solo en las tecnologias de la información, sino en cualquier otra rama de estudio.

Así que no me parece particularmente malo que ahora, los recién egresados no sepan ni que hacer, porque siempre ha sido así. Tampoco me conformo, porque me parece que sería mucho más benefico que en las TI ( Ingeniería de Software, Ciencias computacionales, Informática o como se le llame ) se hiciera como por ejemplo en la medicina, que desde varios semestres antes se exponga al alumno al mundo real y aprendan de ahí.

También, no es de nadie desconocido que la educación en México es deficiente ( en parte por el afán de popularizarla y que todos puedan tener un título, pero también - como la corrupción - por que los que participan en ella tácitamente dejan que el nivel decaiga ). Como será posible que hay alumnos en secundaria que apenas y saben leer y de preparatoria que apenas y saben escibir! Pero en fin, si es tema de otro foro.

Lo que yo veo de nuevo, es que esto ( la falta de experiencia ) siempre ha sido así y así seguirá siendo. Como siempre también, los que tienen interés en aprender aprenderán incluso contra viento y marea y los que no .. pues aunque les lleven los recursos a la puerta de la casa. Claro siempre es mejor cuando el que quiere aprender tiene los recursos a la mano, pero siendo realistas eso tampoco va a pasar en el corto plazo.

Imagen de LWSH

la corrupcion o las palancas

La verdad lo que dijo oscar es cierto como es posible que alumnos que no saben leer ni escribir esten en niveles superiores preparatorias y universidades , yo lo he vivido en mi universidad algunos de mis compañeros apenas si saben leer y escribir y estan ahi solo por que algun familiar trabaja en un puesto alto de la facultad como siemprela corrupcion e incluso no tienen idea sobre la carrera van cuando quieren pero hasta beca tienen y todo por lo mismo la Para tener una gran educacion es mejor irnos a la practica para que cuando estemos en el mundo real sepamos a lo que nos enfrentamos , y como dijo oscar el que quiere aprender aprende y el que no pues nunca aprendera

Imagen de bferro

Las cosas se pueden hacer mejor

Es muy oportuno el comentario de luxspes, y viene muy bien en estos días que han aparecido varias entradas de algunos que critican de una manera tan radical a la educación en computación que tuvieron en sus universidades, que todavía me pregunto dónde estudiaron, y sobre todo, si como estudiantes hicieron algo para mejorarla.

La educación en Computer Science, como la educación en otras áreas de la ingeniería y ciencias básicas, pasa hace muchos años por una crisis en casi todos los países de "primer mundo"; crisis que tiene que ver con el poco interés que los jóvenes tienen en cursar esas carreras, a pesar de que por ejemplo en los Estados Unidos, varios de los empleos relacionados con la computación están clasificados entre los más remunerados. Así sucede desde hace varios años.

Las asociaciones como ACM y IEEE, han ideado numerosos programas para fomentar el interés en la computación. Algunos de ellos han fracasado, otros siguen vigentes y para ambas asociaciones sigue siendo preocupación primaria este asunto.

Son varias las razones de esa migración hacia carreras "menos duras", donde las matemáticas y otras materias de ciencias básicas son menos frecuentes. La industria de los servicios ha abierto un abanico extenso de empleos para egresados de carreras de las ciencias sociales, ciencias de la comunicación, de administración, etc. que hace 20 o más años no existían, de suerte que el interés en esas carreras ha aumentado en los últimos años con detrimento para el área de las ingenierías. Los que lean esto seguramente se han percatado de la cantidad de nuevas carreras que las universidades crean cada nuevo semestre en esas áreas "no duras", carreras con un perfil tan estrecho destinadas a un mercado muy especializado. Casos así no abundan en las carreras de ingeniería y hay buenas razones para que eso no se de, entre ellas la necesidad de que un ingeniero tenga un background "más amplio".

He leído en este sitio cosas como que ¿para qué me enseñaron análisis de algoritmos si eso no me hace falta?. Tales comentarios en lo personal los veo fuera de lugar en un sitio destinado a la profesión de la programación.

En México, la situación se muestra diferente en las universidades públicas que en las universidades privadas. En estas últimas, la disminución relativa de las carreras de ingeniería con respecto al resto de las áreas es mayor. El problema ha sido estudiado y se han encontrado varias razones a las que no voy a entrar a discutir, porque mi intención con este aporte es comentar lo relacionado con la formación en el área de la computación.

Son varias las áreas del saber que han experimentado un crecimiento exponencial en su cuerpo de conocimiento en los últimos años y la ciencia de la computación es una de ellas, tanto en su base científica como en su base técnica, por llamarle de alguna forma a lo que los estudiantes deben aprender. El esquema que la sociedad tiene desde hace ya casi dos siglos para la enseñanza no ha variado: 12 años de educación básica (primaria, secundaria y bachillerato) y 4 o 5 años de educación universitaria. Esto no ha variado a pesar del aumento sustancial en el conocimiento que la propia sociedad le exige a un recién egresado. Claro que la propia tecnología ha contribuido a una asimilación mayor de conocimiento en menor tiempo. En mi vida de estudiante lo que se consultaba eran libros y revistas de papel, y encontrar lo necesario para estudiar un problema complicado, requería de mucho pero mucho más tiempo que el que ahora necesita un estudiante con acceso al Web y a la riqueza de ese sistema, para de forma rápida encontrar la literatura necesaria para estudiar y poder sobre todo confrontar las innumerables soluciones que podemos encontrar a un problema dado. ¿Hacen uso todos nuestros estudiantes de esos recursos valiosos, o se satisfacen con lo que Wikipedia les ofrece, o peor aún, sitios como el rincón del vago o monografias punto no se qué, etc.?

Ante la imposibilidad de poder cubrir en un tiempo muy limitado todo el conocimiento que un egresado necesita, surge entonces un dilema entre la academia y la industria en lo que se refiere a lo que la primera ofrece como producto (el graduado) y lo que la industria requiere como producto (el profesionista). Siempre ha existido esa bronca, no es nada nuevo, solo que ahora se manifiesta más por la creciente complejidad de las aplicaciones actuales y por ende por el mayor conocimiento que se necesita para poder desarrollarlas.

Buscar la parte culpable por el mero objetivo de encontrar al culpable carece de sentido. Siempre encontraremos artículos y blogs donde los que escriben se erigen en jueces absolutos tratando de encontrar verdades absolutas, cuando el caso real es tan variado como es variada la calidad de la educación en las escuelas. El mismo artículo a que hace referencia luxspes "cae" en ese error cuando escribe:

“This seems to be a trend,” the writer continues. “In an effort to widen and deepen my own skill set, I have had occasion to examine computer science course material available online from a number of top-tier colleges and some from the lower rungs. In most instances, what I remember from my nearly 40-year-old computer science education still places me far ahead of what they are now teaching.” And he concludes: “We’ve had trouble finding qualified U.S. job applicants who want to do the work we need done. I wonder if there’s a connection.”

Podría fácilmente encontrar en línea programas muy rigurosos en ciencias de la computación.

La educación en el salón de clases establece un contrato entre el estudiante y el profesor. Ese contrato establece la obligación del profesor de enseñar y la del estudiante de aprender, pero sobre todo de aprender a aprender. Para eso se requiere de gran madurez tanto del profesor como del estudiante. Algo de esa madurez se refleja en el convencimiento que ambos deben tener de que se trata de "long life learning".

Me imagino que los organizadores de OpenTalk ya estén pensando en la cuarta parte. Un buen tema para discutir con pasión es el de la educación en computación. Valdría mucho la pena.

Yo considero que, el artículo

Yo considero que, el artículo habla de países "agringados", en donde no existen ganas por las ingenierías (en general) y es necesario tener gente que sepa "una embarrada", que para mí es algo estúpido, sin embargo nos olvidamos de algo: LAS UNIVERSIDADES SON NEGOCIOS; de nada sirve una universidad en donde entran 500 y salen 100, ¿porqué? pues porqué cada chavo paga $500 al mes, entonces cada mes la universidad tendría un ingreso de $250,000, pero, si por ejemplo para el segundo año las universidades tienen 300 alumnos serían $100,000 menos al mes, la escuela deja de ganar $1,200,000 ese año. Entonces lo que hacen es simple, bajan el nivel o incluso el nivel es inexistente.

De todo lo anterior (que comenté), ¿los profesores se prestan a ello?. La respuesta es: SI QUIEREN CONSERVAR EL EMPLEO NO HAY OPCIÓN. Tengo un ejemplo muy bueno, un profesor de esos que dices: "Un chingón en lo que hace", enseñaba cómo se debía. Resulta que para el primer mes, sólo 3 chícharos pasamos y se armó una revolución entera y blablabla. Total el profe tuvo que bajar su nivel tanto que daba flojera quedarse (o sea le ejercicio más complicado después del primer mes fue el invertir el órden de una cadena usando recursividad). Le pregunté al profe que había pasado y me respondió: "Nada, sólo que si no pasaba a todo mundo no me renovaban contrato."

Entonces, pues ha de ser lo mismo en EUA, si todo el mundo no sé porqué tiene una fijación en EUA siendo que estan igual o peor (a lo que me cuentan familiares que viven allá, lo que hace la diferencia es que en México si sale todo en los medios, allá ni esperanzas que se hable de cualquier manera del presidente). De hecho fue a mi escuela una señora representando a la universidad de alabama y nos mostró una presentación de cómo es el campus y que especialidades hay para un doctorado y demás. Para cuando termina la conferencia le pregunté si era difícil el doctorado; y su respuesta fue: "He visto el nivel de esta universidad, siéndote sincera lo que nos diferencía es que nosotros tenemos departamento de investigación; pero el nivel es muy similar". Cómo dato curioso, los jefes de departamento de dicha universidad no son graduados en EUA (bueno en áquel tiempo no lo eran, no se ahora).

Relacionado: Aprenda a

Relacionado:

Aprenda a programar en 10 años! por Peter Norvig

http://norvig.com/21-days.html

Imagen de Sr. Negativo

Es verdad

...yo lo he vivido en mi universidad algunos de mis compañeros apenas si saben leer y escribir ...
Ja ja ja totalmente de acuerdo contigo @LWSH

Y después dicen que soy el "negativo"

Imagen de ezamudio

burbuja.com

En USA apenas se están recuperando del relajo que se armó hace 11 años cuando tronó la burbuja.com. En 1998 y 1999 estaban entrando muchos estudiantes a carreras de sistemas; en 1999 llegaron al punto en que estaban saliendo 70mil estudiantes de sistemas (incluyendo universidades y escuelas técnicas), y había una demanda de 130mil programadores, por lo que había un déficit muy grande. Sin adentrarme mucho en las razones económicas detrás de todo esto, es obvio que con un déficit tan grande pues los empleos estaban muy bien pagados, y además mucha gente de fuera llegó por su rebanada de pastel (cuando digo "de fuera" hablo tanto gente de fuera de USA, como gente de otras carreras).

Fue una época un tanto alocada. Llegaron muchos charlatanes, gente que no sabía nada de programación, diciendo que eran expertos en computación, en HTML, en Visual Basic, y pues con la demanda que había, los ponían a chambear en QA, como testers, documentadores, etc pero obviamente todos querían entrarle a la programación porque es donde estaba el gran varo (las consultoras cobran alrededor de $200 USD por una hora de un programador bueno y le daban una buena tajada al programador; el sueldo de programador senior estaba entre $90K y $140K USD anuales).

Con todo eso, se volvieron muy llamativas y glamorosas las carreras de Computer Science en las universidades de USA. Empezó a entrar mucha más gente, con la expectativa de que 4 ó 5 años después la situación seguiría igual y saliendo de la universidad iban a tener un trabajo super bien pagado. Y oh sorpresa, en el primer trimestre del 2000 la burbuja finalmente truena y muchísimas compañías se van al traste; muchos programadores se quedan sin chamba y con unas deudas enormes, porque ya se estaban gastando la lana que todavía ni tenían pero que ya esperaban por sus acciones en la empresa donde chambeaban (y en otras donde habían invertido), aparte de un estilo de vida excesivamente derrochador.

Y los que estaban estudiando, pues o se cambian de carrera, o esperan que luego las cosas se corrijan; en particular los que estaban por salir de la carrera se llevan una gran gran desilusión porque estaban ya por entrar a ese mundo y se desvaneció cuando ya estaban tan cerca. Desde entonces, muchos de los que salen de carreras de sistemas en USA no hacen más que hablar pestes de la carrera y de su chamba, obviamente por la desilusión de que les esperaba un trabajo con un sueldototote en una oficina con patinetas, mesas de ping-pong y demás tarugadas que eran tan comunes en esa época. Pero la verdad es que ahí también hay que darse cuenta de que entraron a la carrera por la razón equivocada; no deberías estudiar una carrera solamente porque parece ser muy lucrativa (sobre todo si es relacionada con tecnología, que es algo tan cambiante); hay que tener vocación. Obviamente hubo quienes salieron felices y pues aunque no les guste mucho aceptar una chamba donde la máxima expectativa de sueldo bajó de $120K a $75K anuales, consiguieron un trabajo que les gusta.

Los que solamente entraron a la carrera esperando por la lana que esperaban recibir, yo creo que no iban a ser felices aunque les hubieran pagado sueldos pre-burbuja. Los charlatanes (colados de otras carreras que nada sabían de programación) terminaron por regresar a sus profesiones o a buscar fortuna en otra industria.

Cuando contemplas todo este panorama, y si le sumas las consecuencias que hubo después como el excesivo outsourcing a India, China y otros países, comprendes perfectamente que ahora haya tan bajo ingreso a carreras de CS en universidades gringas. Es simplemente un reflejo de que la profesión actualmente no es algo glamoroso y además todavía queda el recuerdo amargo de hace 11 años, que tal vez los que están por entrar hoy a la carrera eran muy jóvenes para comprender pero seguramente sus padres/mayores les explicarán, tal vez incluso con ánimo de desalentarlos si quieren estudiar CS.

Y ya no he estado al tanto de la situación en India (porque honestamente, no me interesa en lo absoluto), pero creo que también se les fue la mano con el entusiasmo y en algún momento se van a quedar con cientos de miles de técnicos en computación que no van a tener otra opción que chambear en call centers (eso o va a pasar, o ya está pasando, o ya pasó y no sé cuál sea la situación actual).

Imagen de bferro

La computación en USA sí es $atractiva

A pesar de todos los problemas históricos como el boom del [dot]com, los empleos asociados con los egresados de carreras de computación son muy atractivos en USA.

El problema del relativo poco interés no es ese, ni tan siquiera lo fue con la burbuja.com. Quienes se fueron a la ruina no fueron los "computólogos". Esos que entraron a los startups de esa época, encontraron rápido empleo en otros lugares.
La bronca con la burbuja la tuvieron gente que sabiendo poco de computación y menos de negocio evaluaron muy mal el mercado "electrónico". Hasta Whoopi Goldberg intentó con Flooz.com.

Lo que sigue es un listado (http://money.cnn.com/magazines/moneymag/bestjobs/2010/full_list/index.html) de los mejores 50 empleos en USA en 2010 de un estudio realizado por CNNMoney y PayScale.com. El listado también incluye el pronóstico de crecimiento para 10 años.

1 Software Architect 34%
2 Physician Assistant 39%
3 Management Consultant 24%
4 Physical Therapist 30%
5 Environmental Engineer 31%
6 Civil Engineer 24%
7 Database Administrator 20%
8 Sales Director 15%
9 Certified Public Accountant 22%
10 Biomedical Engineer 72%
11 Actuary 21%
12 Dentist 15%
13 Nurse Anesthetist 13%
14 Risk Management Manager 24%
15 Product Management Director 12%
16 Healthcare Consultant 24%
17 Information Sys. Security Engineer 23%
18 Software Engineering / Development Director 17%
19 Occupational Therapist 26%
20 Information Technology Manager 17%
21 Telecommunications Network Engineer 53%
22 Environmental Health & Safety Specialist 28%
23 Construction Project Manager 17%
24 Network Operations Project Manager 23%
25 Emergency Room Physician 22%
26 Information Technology Business Analyst 20%
27 Director of Nursing 16%
28 Information Technology Consultant 17%
29 Psychiatrist 24%
30 Test Software Development Engineer 20%
31 Information Technology Network Engineer 23%
32 Senior Sales Executive 15%
33 Information Technology Program Manager 17%
34 Primary Care Physician 22%
35 Computer and Information Scientist 24%
36 Hospital Administrator 16%
37 Programmer Analyst 20%
38 Applications Engineer 34%
39 Research & Development Manager 15%
40 Regional Sales Manager 15%
41 Project Engineer 24%
42 Training Development Director 23%
43 Human Resources Consultant 21%
44 Speech-Language Pathologist 19%
45 Business Development Analyst 24%
46 Physical Therapy Director 16%
47 Structural Engineer 24%
48 Nursing Home Director 16%
49 Systems Engineer 13%
50 Healthcare Services Program Director 13%

Son varios los empleos relacionados con la computación y en general con las tecnologías de información entre esos 50.
Que sean los mejores empleos no quiere decir que tengan los salarios más altos. Hay otras variables que se consideran.
Por ejemplo. El mejor empleo es el de Arquitecto de Software con un salario promedio de $119,000 en la posición 14 de los salarios más altos, menos de la mitad del empleo mejor pagado: el de anestesista con $290,000.

Pero no todo es el dinero, y así lo reflejan esos listados. Por ejemplo, un Web Developer ocupa el lugar 4to. en Calidad de Vida.

Pues no estamos mal. Nos toca como profesionistas darle valor a nuestra profesión. Somos chingones y hacemos que la sociedad y la economía funcione. Es nuestra labor promocionar nuestra carrera.

Re: La computación en USA sí es $atractiva

De hecho cada carrera técnica en EUA es atractiva (si no ve cuanto gana un mecánico, un "tornero" -de los tornos- en EUA y muchas otras chambas que aquí en México no son de más de $10,000.00 al mes con mucho mucho mucho esfuerzo).

¿Cuál es el problema? En EUA hay un estándar para todo, es decir, si un contador cobra $20.00 USD por hora, se respeta y todos los contadores tratan de no ofrecer menos que $20.00 USD. Por otro lado aquí en México existen los típicos jefes (laborantes) que con tal de quedarse con un proyecto/trabajo bajan sus precios y esto pasa sobretodo en el mantenimiento, en donde si tu cobras $100.00 MXN por formatear una máquina llega otro que por $50.00 MXN lo hace, por lo tanto la gente DE LA MISMA CARRERA hace que su trabajo/conocimiento se devalúe. Y más aquí en México que somos "a la empírica", ¿o de los "mécanicos" que conocen cual es realmente Ing. en Mecánica?

Imagen de luxspes

Tal vez aqui nos fregamos solos, pero alla...tambien

¿Cuál es el problema? En EUA hay un estándar para todo, es decir, si un contador cobra $20.00 USD por hora, se respeta y todos los contadores tratan de no ofrecer menos que $20.00 USD. Por otro lado aquí en México existen los típicos jefes (laborantes) que con tal de quedarse con un proyecto/trabajo bajan sus precios...

Si, yo tengo la misma percepcion (aunque no estoy tan seguro de que tan correcta sea), en mi opinion, tiene mucho que ver con que alla hay mas regulaciones, y esta extendida la gente tiene la percepcion de al violarlas es muy probable que la ley te castigue... por otro lado, alla se friegan del mismo de un modo diferente, pero con los mismos resultados:

Como al final, como bien comentas, no hay manera de encontrar mano de obra barata, o la importan de latinoamerica (inmigracion ilegal) o la outsourcean los trabajos a lndia (o aqui a Mexico) haciendo que la gente dentro de su país tenga problemas para poder competir. Al final, es el mismo problema: alguien mas llega y dice que lo puede hacer mas barato.... solo que en otro país...

Imagen de bferro

Un granito de arena: Promover la ética

En efecto, varios de los problemas que tenemos aquí y en muchos otros lugares de este planeta es el incumplimiento de principios éticos en la profesión.

Son demasiados "stakeholders" los que se involucran en prácticas pésimas entre los empleados y los empleadores. Cada parte tiene que hacer lo suyo y no esperar a que por obra divina el problema se resuelva.

Nos toca a nosotros poner nuestro granito de arena y para eso podríamos promover y por supuesto tratar de cumplir con principios éticos de la profesión de computación.

Copio a continuación los principios del código de ética para Ingenieros de Software de IEEE/ACM. Viene bien una reflexión individual para "evaluarnos".

PRINCIPIOS

Principio 1. Sociedad.

Los ingenieros de software actuarán de forma congruente con el
interés social. Particularmente, los ingenieros de software deberán, cuando sea
apropiado:

    1. Aceptar la responsabilidad total de su trabajo.
    2. Moderar los intereses del ingeniero de software, el empresario, el cliente y
      los usuarios con el bienestar social.
    3. Aprobar software sólo si se tiene una creencia bien fundamentada de que es
      seguro, cumple las especificaciones, pasa las pruebas apropiadas y no reduce la
      calidad de vida, la privacidad o daña el medio ambiente. El efecto último del
      trabajo deberá ser el bien social.
    4. Exponer a las personas o autoridades apropiadas cualquier daño real o
      potencial al usuario, a la sociedad o el medio ambiente, que razonablemente se
      cree que está asociado con el software o documentos relacionados.
    5. Cooperar en los esfuerzos para solucionar asuntos importantes de interés
      social causados por el software, su instalación, mantenimiento, soporte o
      documentación.
    6. Ser justo y veraz en todas las afirmaciones, particularmente las públicas,
      relativas al software o documentos asociados, métodos y herramientas.
    7. Considerar incapacidad fisica, distribución de recursos, desventajas
      económicas y otros factores que pueden reducir el acceso a los beneficios del
      software.
    8. Estar motivado a ofrecer voluntariamente asistencia técnica a buenas causas
      y contribuir a la educación pública relacionadacon esta profession.


 

Principio 2. Cliente y empresario.


Los ingenieros de software actuarán de manera que se concilien
lo mejores intereses de sus clientes y empresarios, congruentemente con el
interés social. Particularmente, los ingenieros de software deberán, cuando sea
apropiado:


    1. Prestar servicios en sus áreas de competencia, siendo honestos y francos
      acerca de sus limitaciones en su experiencia y educación.
    2. No usar conscientemente software que se obtiene o retiene ya sea ilegalmente
      o sin ética.
    3. Usar la propiedad de un cliente o empresario sólo en forma propiamente
      autorizada y con el conocimiento y consentimiento del cliente o empresario.
    4. Cuando se requiera, asegurar que cualquier documento en el que se confía ha
      sido aprobado por alguien autorizado para aprobarlo.
    5. Mantener secreta cualquier información confidencial obtenida en su labor
      profesional, donde tal confidencialidad es congruente con el interés social y
      congruente con la ley.
    6. Identificar, documentar, reunir evidencia y reportar oportunamente al
      cliente o al empresario si, en su opinión, un proyecto tiene probabilidades de
      fracasar, de ser muy costoso, de violar la ley de propiedad intelectual o ser
      problemático de cualquier otro modo.
    7. Identificar, documentar y reportar al cliente o empresario asuntos
      significativos de interés social, de los cuales se tiene conocimiento, acerca
      del software o documentos relacionados.
    8. Rechazar trabajos externos que vayan en detrimento del trabajo que se
      realiza para su patrón primario.
    9. No promover intereses adversos a su empresario o cliente, a menos que se
      comprometa un interés ético más alto; en ese caso, informar al empresario u otra
      autoridad apropiada del interés ético en cuestión.

Principio 3. Producto.

Los ingenieros de software asegurarán que sus productos y sus
modificaciones correspondientes cumplen los estándares profesionales más altos
posibles. Particularmente, los ingenieros de software deberán, cuando sea
apropiado:

    1. Procurar la alta calidad, costos aceptables y una agenda razonable
      asegurando que los costos y beneficios significativos son claros y aceptados por
      el empresario y el cliente, y están disponibles para consideración del usuario y
      de la sociedad.
    2. Asegurar que las metas y objetivos para cualquier proyecto que se propone o
      en el que se trabaja sean adecuados y alcanzables.
    3. Identificar, definir y atender asuntos éticos, económicos, culturales,
      legales y ambientales relacionados a los proyectos de trabajo.
    4. Asegurar que se está calificado, con una combinación apropiada de educación,
      adiestramiento y experiencia para cualquier proyecto en que se trabaje o que se
      proponga trabajar.
    5. Asegurar que se usan los métodos apropiados en cualquier proyecto en el que
      se trabaja o se propone trabajar.
    6. Tratar de seguir los estándares profesionales más adecuados, siempre que
      estén disponibles, para el proyecto en que se trabaja. Sólo en caso de que
      hubiera una justificación ética o técnica mayor, se permitiriá alterar dichos
      estándares.
    7. Esforzarse por entender completamente las especificaciones del software en
      el que se trabaja.
    8. Asegurar que las especificaciones del software en el que se trabaja están
      bien documentadas, satisfacen los requerimientos del usuario y cuentan con las
      aprobaciones adecuadas.
    9. Asegurar estimaciones cuantitativas realistas de costos, agenda, personal,
      calidad y resultados de cualquier proyecto en el que se trabaja o se propone
      trabajar, proporcionando una evaluación de la incertidumbre de esas
      estimaciones.
    10. Asegurar que las pruebas, depuración, revisión del software y documentos
      relacionados con los que se trabaja sean adecuados.
    11. Asegurar que la documentación sea adecuada, incluyendo problemas
      significativos encontrados y soluciones adoptadas, para cualquier proyecto en el
      que se trabaja.
    12. Trabajar para desarrollar software y documentos relacionados que respeten la
      privacidad de aquellos a quienes está dirigido este software.
    13. Ser cuidadoso para usar sólo datos precisos derivados por medios éticos y
      legales, y usarlos sólo de las maneras propiamente autorizadas.
    14. Mantener la integridad de los datos siendo sensible a aquellos inexactos u
      obsoletos.
    15. Tratar todas las formas de mantenimiento de software con el mismo
      profesionalismo que los desarrollos nuevos.


Principio 4. Juicio.

Los ingenieros de software mantendrán integridad e
independencia en su juicio profesional. Particularmente, los ingenieros de
software deberán, cuando sea apropiado:

    1. Moderar todos los juicios técnicos por la necesidad de apoyar y mantener
      llos valores humanos.
    2. Endosar documentos únicamente cuando han sido preparados bajo su supervisión
      o dentro de sus áreas de competencia y con los cuales se está de acuerdo.
    3. Mantener objetividad profesional con respecto a cualquier software o
      documento relacionado del cual se le pidió una evaluación.
    4. No involucrarse en prácticas financieras fraudulentas tal como corrupción,
      facturación doble u otras prácticas financieras impropias.
    5. Exponer a todas las partes involucradas aquellos conflictos de interés que
      no puedan evitarse o evadirse razonablemente.
    6. Negarse a participar como miembro o asesor en organismos profesionales,
      privados o gubernamentales vinculados en asuntos relacionados con software donde
      sus empresarios o clientes pudieran tener conflictos de intereses no declarados
      todaviá.


Principio 5. Administración.

Los ingenieros de software gerentes y líderes promoverán y se
suscribirán a un enfoque ético en la administración del desarrollo y
mantenimiento de software. Particularmente, los ingenieros de software
administrando o dirigiendo deberán, cuando sea apropiado:


    1. Asegurar una buena administración para cualquier proyecto en el cual
      trabaje, incluyendo procedimientos efectivos para promover la calidad y reducir
      riesgos.
    2. Asegurar que los ingenieros de software estén informados de los estándares
      antes de sujetarse a ellos.
    3. Asegurar que los ingenieros de software conozcan las políticas y
      procedimientos del empresario para protegar las contraseñas, archivos e
      información que es confidencial al empresario o confidencial a otros.
    4. Asignar trabajo sólo después de tomar en cuenta contribuciones adecuadas de
      educación y experiencia moderadas con un deseo de continuar esa educación y
      experiencia.
    5. Asegurar estimaciones de costos, agendas, personal, calidad y resultados
      cuantitativamente realistas en cualquier proyecto que trabaje o se propone
      trabajar, proporcionando una evaluación de la incertidumbre de esas
      estimaciones.
    6. Atraer ingenieros de software potenciales sólo bajo una descripción completa
      y precisa de las condiciones del empleo.
    7. Ofrecer una remuneración justa y equitativa.
    8. No impedir injustamente que alguna persona ocupe una posición para la cual
      está perfectamente calificada.
    9. Asegurar que exista un acuerdo equitativo en lo referente a la propiedad de
      cualquier software, proceso, investigación, documentación u otra propiedad
      intelectual a la cual el ingeniero de software ha contribuido.
    10. Tomar medidas prudentes en procesos legales vinculados a la violación de la
      política de un empresario o de este código.
    11. No pedir a un ingeniero de software hacer algo incongruente con este código.
    12. No castigar a nadie por expresar temas éticos relativos a cualquier
      proyecto.


Principio 6. Profesión.

Los ingenieros de software incrementarén la integridad y
reputación de la profesión congruentemente con el interés social.
Particularmente, los ingenieros de software deberán, cuando sea
apropiado:

    1. Ayudar a desarrollar un ambiente organizacional favorable para actuar
      éticamente.
    2. Promover el conocimiento público de la ingeniería de software.
    3. Extender el conocimiento de la ingeniería de software participando
      apropiadamente en organizaciones, reuniones y publicaciones profesionales.
    4. Apoyar, como miembros de una profesión, a otros ingenieros de software que
      se esfuercen por seguir este código.
    5. No promover el interés propio a costa de la profesión, cliente o empresario.
    6. Obedecer todas las leyes que gobiernan su trabajo, salvo en circunstancias
      excepcionales, donde tal obediencia es incongruente con el interés social.
    7. Ser preciso en la descripción de las características del software en el que
      trabaja, evitando no sólo declaraciones falsas, sino también declaraciones que
      podrían ser razonablemente asumidas como especulativas, vacías, fraudulentas,
      engañosas o dudosas.
    8. Tomar la responsabilidad de detectar, corregir y reportar errores en el
      software y documentos asociados en los que se trabaja.
    9. Asegurar que los clientes, empresarios y supervisores conozcan el compromiso
      de los ingenieros de software con este código de ética, y las subsecuentes
      ramificaciones de tal compromiso.
    10. Evitar asociaciones con negocios y organizaciones que estén en conflicto con
      este código.
    11. Reconocer que las violaciones de este código son incongruentes con ser un
      ingeniero de software profesional.
    12. Hablar seriamente con la gente involucrada cuando se detecten violaciones
      significativas de este código, a menos que sea imposible, contraproductivo o
      peligroso.
    13. Reportar las violaciones significativas de este código a las autoridades
      correspondientes cuando está claro que consultar con la gente involucrada en
      estas violaciones es imposible, contraproductivo o peligroso.

Principio 7. Colegas.


Los ingenieros de software apoyarán y serán justos con sus
colegas. Particularmente, los ingenieros de software deberán, cuando sea
apropiado:

    1. Motivar a sus colegas a sujetarse a este código.
    2. Ayudar a sus colegas en el desarrollo profesional.
    3. Reconocer completamente el trabajo de otros y abstenerse de atribuirse
      méritos indebidos.
    4. Revisar el trabajo de otros en forma objetiva, sincera y propiamente
      documentada.
    5. Escuchar equitativamente las opiniones, preocupaciones y quejas de un
      colega.
    6. Ayudar a sus colegas a que estén totalmente alertas a los actuales
      estándares incluyendo políticas y procedimientos de protección de contraseñas,
      archivos, información confidencial y las medidas de seguridad en general.
    7. No intervenir injustamente en la carrera de algún colega; sin embargo, el
      interés del empresario, del cliente o el interés social puede conducir a
      ingenieros de software, de buena fe, a cuestionar la competencia de un colega.
    8. En situaciones fuera de sus propias áreas de competencia, solicitar las
      opiniones de otros profesionales que tengan competencia en esa área.


 

Principio 8. Personal.


Los ingenieros de software participarán toda su vida en el
aprendizaje relacionado con la práctica de su profesión y promoverán un enfoque
ético en la práctica de la profesión. Particularmente, los ingenieros de
software deberán, cuando sea apropiado:


    1. Mejorar su conocimiento de los avances en el análisis, especificación,
      diseño, desarrollo, mantenimiento, pruebas del software y documentos
      relacionados, junto con la administración del proceso de desarrollo.
    2. Mejorar su habilidad para crear software seguro, confiable, útil y de
      calidad a costos razonables y en un tiempo razonable.
    3. Mejorar su habilidad para producir documentación precisa, informativa y bien
      redactada.
    4. Mejorar su comprensión del software de los documentos con que se trabaja y
      del medio ambiente donde serán usados.
    5. Mejorar su conocimiento de los estándares relevantes y de las leyes que
      gobiernan el software y los documentos con que se trabaja.
    6. Mejorar su conocimiento de este código, su interpretación y su aplicación al
      trabajo.
    7. No tratar injustamente a nadie debido a prejuicios irrelevantes.
    8. No influenciar a otros a emprender alguna acción que involucre una violación
      de este código.
    9. Reconocer que las violaciones personales de este código son incongruentes
      con ser un ingeniero de software profesional.

Traducción hecha por el M.C. Carlos Herrera Escudero del código de ética presentado por Computer Society and ACM, en la revista COMPUTER-IEEE de Octubre de 1999 y combinada con la traducción hecha por el Ing. Javier Dolado y Maria Bingham.

© 1999 Derechos Reservados 1999. Institute of Electrical and Electronics Engineers, Inc. Y Associtation for Computing Machinery, Inc.

Este Código puede ser publicado sin el permiso de los autores, siempre que se mantenga la absoluta integridad del texto, sin ningún cambio y que se mencionen los derechos reservados de los autores.

Imagen de bferro

Primero el Preámbulo

Debí primero copiar el preámbulo del "Código de ética". Ahí va:

PREÁMBULO

Las computadoras tienen un papel central cada vez mayor en el comercio, industria, gobierno, medicina, educación, entretenimiento, y sociedad. Los ingenieros de software son aquellos que contribuyen, mediante la participación directa o enseñanza, al análisis, especificación, diseño, desarrollo, certificación, mantenimiento y pruebas de sistemas de software. Debido a sus funciones en el desarrollo de sistemas de software, los ingenieros de software tienen suficientes oportunidades para causar beneficio o generar daño y para habilitar o influenciar a otros a causar daño o beneficio. Para asegurar, en la medida de lo posible, que sus esfuerzos se utilizarán para hacer el bien, los ingenieros de software deben comprometerse a hacer de la ingeniería del software una profesión benéfica y respetada. De acuerdo con tal compromiso, los ingenieros de software deberán adherirse al siguiente Código De Ética Y Práctica Profesional.

El Código contiene ocho Principios relacionados con la conducta y las decisiones tomadas por los ingenieros de software profesionales, bien sean profesionales en ejercicio, educadores, administradores, supervisores y directivos, así como educandos y estudiantes de la profesión. Los Principios identifican las relaciones éticamente responsables en las que los individuos, grupos y organizaciones participan, y las principales obligaciones de tales relaciones. Las Cláusulas de cada Principio son ejemplos de algunas de las obligaciones incluidas en estas relaciones. Estas obligaciones se fundamentan en las características humanas del ingeniero de software en los deberes hacia las personas que se ven 10 afectadas por el trabajo del ingeniero de software, y en los elementos peculiares de la práctica de la ingeniería del software. El Código prescribe éstas como obligaciones de cualquiera que se identifique como ingeniero de software o que aspire a serlo.

No se pretende que se utilicen partes individuales del Código aisladamente, para justificar errores por omisión o comisión. La lista de Principios y Cláusulas no es exhaustiva. Las Cláusulas no deben leerse como la frontera entre lo aceptable y lo inaceptable en todas las situaciones prácticas de la conducta profesional. El Código no es un simple algoritmo ético que genera decisiones éticas. En algunas situaciones los estándares pueden entrar en conflicto entre sí o con estándares de otras fuentes. Estas situaciones requieren que el ingeniero de software utilice su juicio ético para actuar en la manera más congruente con el espíritu del Código de Ética y Práctica Profesional, teniendo en cuenta las circunstancias.

Los conflictos éticos pueden manejarse mediante una consideración cuidadosa de los principios fundamentales, más bien que apoyándose ciegamente en reglamentos detallados. Estos Principios deberían influenciar a los ingenieros de software a considerar ampliamente a quién se ve afectado por su trabajo; a examinar si ellos o sus colegas tratan al resto de las personas con el debido respeto; a reflexionar en cómo la sociedad vería sus decisiones si estuviera bien informada; a analizar cómo el menos favorecido será afectado por su decisión; y a considerar si sus actos lo juzgarían como un valioso profesional ideal que trabaja como ingeniero de software. En todas estas valoraciones la preocupación por la salud, seguridad y bienestar público es primordial; esto es, el "Interés Social" es central en este Código.

El contexto dinámico y exigente de la ingeniería de software requiere un código que sea adaptable y relevante a las nuevas situaciones a medida que ocurran. Sin embargo, incluso en esta generalidad, el Código proporciona apoyo a los ingenieros del software y administradores que necesitan actuar positivamente en un caso específico documentando la postura ética de la profesión. El Código proporciona un fundamento ético al cual los individuos de un equipo o el propio equipo pueden acudir. El Código también ayuda a definir aquellas cuestiones que son éticamente impropias de solicitar a un ingeniero de software o equipo de ingenieros de software.

El Código no está simplemente orientado a identificar la naturaleza de los actos cuestionables, sino que también tiene una función educativa importante. Puesto que este código representa el consenso de la profesión en cuestiones éticas, es un medio para educar tanto a la sociedad como a los futuros profesionales acerca de las obligaciones éticas de todos los ingenieros de software.

Traducción hecha por el M.C. Carlos Herrera Escudero del código de ética presentado por Computer Society and ACM, en la revista COMPUTER-IEEE de Octubre de 1999 y combinada con la traducción hecha por el Ing. Javier Dolado y Maria Bingham.

© 1999 Derechos Reservados 1999. Institute of Electrical and Electronics Engineers, Inc. Y Associtation for Computing Machinery, Inc.

Este Código puede ser publicado sin el permiso de los autores, siempre que se mantenga la absoluta integridad del texto, sin ningún cambio y que se mencionen los derechos reservados de los autores.

Imagen de Sr. Negativo

Te aventaste todo un libro...je je

@bferro

Te aventaste todo un libro...¿no crees?

No ya en serio, me pregunto si en México seguirán estos lineamientos que mencionaste o de plano ni los han de conocer.

Algunos de ellos son demasiado utópicos a mi parecer.Por ejemplo el principio No. 7:


Los ingenieros de software apoyarán y serán justos con sus
colegas. . ..

???

Imagen de luxspes

Y dale con "en Mexico" / Mucho ruido y pocas nueces

No ya en serio, me pregunto si en México seguirán estos lineamientos que mencionaste o de plano ni los han de conocer.

Y dale con "en Mexico"... por que no preguntarte si "en el Mundo" seguirán estos lineamientos que mencionaste (y cuanta gente, "en el Mundo", los conoce)

Mas que utópicos,el problema con este tipo de lista de principios es que son declarativos, y mucha gente cree que basta con enunciar este tipo de principios para resolver los problemas... en realidad, es fácil de poner reglas como "No tratar injustamente a nadie debido a prejuicios irrelevantes", siempre que no tengas que definir que es un trato justo, ni que es un prejuicio "irrelevante", ni como le vas a hacer para llegar la conclusión de que algo es justo o irrelevante...

Es como decir "No se metera a la carcel a nadie que sea culpable" o "Todo algoritmo debera implementarse del mejor modo posible", suena re-te-bonito, pero sin una serie de pasos concretos (procedimientos) para alcancanzar dicho loable objetivo, se queda uno muy lejos de conseguir lo que se quiere...

Los principios declarativos tienen su valor (ayudan a saber hacia donde vamos) pero sin procedimientos concretos, refinados una y otra ves mediante la practica, se quedan en el nivel de sueños inalcanzables...

Por otro lado, en mi opinión, cualquier conjunto de principios (éticos o de otra índole) que abarque mas de 3 o 4 renglones se auto-elimina por la simple dificultad de recordarlo, o transmitirlo fácilmente a otras personas, todos esos principios éticos se resumirían en "Se realizaran las actividades de la profesión de manera estable y honrada al servicio de los demás y en beneficio propio, a impulsos de la propia vocación y con la dignidad que corresponde a la persona humana" (para el caso, es tan concreto, y al vez tan abstracto, como todo el texto que posteo bferro...).

Imagen de ezamudio

la pregunta "en México"

Mucha gente dice "en México (está jodida la situación | no hay justicia | blabla)" porque es el lugar donde viven. En las noticias vemos que hay países con una situación peor que la nuestra; qué se supone que debemos hacer, alegrarnos de que no somos los más jodidos?

En cuando a la pregunta de si en México se siguen los lineamientos mencionados por bferro, creo que es muy válida. Si trabajo en México y aquí es donde desarollo mi carrera, pues lo primero que me debe importar acerca de esos lineamientos es si se siguen en México, particularmente en las empresas con las que trabajo. De nada me sirve que se sigan en China. Y si resulta que se siguen en todo el mundo excepto en México, entonces sí estamos jodidos.

Imagen de luxspes

En Mexico vs Solo en Mexico.

Mucha gente dice "en México (está jodida la situación | no hay justicia | blabla)" porque es el lugar donde viven.

De acuerdo, si, cuando la gente dice "en Mexico", lo dice para limitar el ámbito de su comentario a su entorno, es perfectamente valido, si por otro lado, lo dicen queriendo decir que "solo en Mexico" entonces podemos estar cayendo en el tipico malinchismo de "solo en Mexico ocurre todo lo malo"

En las noticias vemos que hay países con una situación peor que la nuestra; qué se supone que debemos hacer, alegrarnos de que no somos los más jodidos?

Mas bien lo que quisiera evitar es el sentimiento de inferioridad que generalmente acompaña estas afirmaciones, al estilo de " En Mexico , el software se sale del presupuesto, no asi en USA/India/Alemania/Japon/Rusia, por que allá si saben hacerlo bien", cuando si hay algo en lo que internacionalmente esta bastante pareja la cosa es en este aspecto: La mayoría de los proyectos de software fracasan: en TODO el mundo.

En cuando a la pregunta de si en México se siguen los lineamientos mencionados por bferro, creo que es muy válida.

De acuerdo, solo espero que cuando empiecen las respuestas, si estas son en sentido negativo (si yo tuviera que apostar, diria que son raros los lugares en el mundo donde se siguen estos principios, entre otras razones, por que su presentacion misma los hace dificiles de seguir debido a su longitud, y por que no estando mapeados directamente a procesos, el si se siguen o no se vuelve una cuestion de interpretacion subjetiva), no se genere el tipo de comentario auto-derogatorio y derrotista al estilo "Solo en Mexico se hace todo mal" que critico en este blog post.

Y si resulta que se siguen en todo el mundo excepto en México, entonces sí estamos jodidos.

También de acuerdo.

Imagen de Sr. Negativo

Si trabajo en México y aquí


Si trabajo en México y aquí es donde desarollo mi carrera, pues lo primero que me debe importar acerca de esos lineamientos es si se siguen en México, particularmente en las empresas con las que trabajo. De nada me sirve que se sigan en China. Y si resulta que se siguen en todo el mundo excepto en México, entonces sí estamos jodidos.

Coincido con @ezamudio

Yo no podría hablar de ningún otro país, simplemente por que vivo en México y no conozco la situación real de los otros.

Es verdad que no solo en México se hacen mal las cosas, pero lo que nos debe importar solo es nuestro país.

Imagen de ezamudio

sólo en México

Muy de acuerdo con el "sólo en México". Para poder decir "sólo en México" tienes que saber que en todos los demás países del mundo no ocurre, y el mundo es muy grande y las culturas muy diversas y la población demasiado numerosa, como para ser tan únicos en cualquier costumbre que no se diera en otro lugar del mundo. Y menos en sistemas.

Imagen de luxspes

lo que nos debe importar (no es) solo es nuestro país

Es verdad que no solo en México se hacen mal las cosas, pero lo que nos debe importar solo es nuestro país.

Completamente en... desacuerdo, decir que lo que nos debe importar solo es nuestro país, nos despoja de contexto, y nos hace perder la perspectiva. Nuestro entorno inmediato ciertamente toma precedencia (por el simple hecho de ser inmediato), pero no debe ser lo único que nos importe.

Imagen de ezamudio

no sólo

pero lo que nos debe importar solo es nuestro país

De acuerdo en que nos debe importar nuestro país.

Difiero en que sólo nos debe importar nuestro país. Vivimos en una sociedad globalizada, donde lo que pasa en otros países (tendencias, modas, innovación, conflictos, etc) inevitablemente nos afecta. Hablando de desarrollo de software, siempre hay que estar al pendiente de lo que pasa en otros países, no nada más para imitar, sino también para evitar. Mi ejemplo favorito desde hace tiempo son los web services. Hace casi 10 años se pusieron muy de moda en USA y recuerdo que cuando salió .NET algo de lo que presumían mucho era lo fácil que era implementar y publicar web services.

Desde entonces hasta ahora, se estuvieron usando web services en todas partes, y no siempre era la mejor solución pero se usaban hasta en la cocina. Luego vino REST como una versión simplificada de los web services, JSON en vez de XML, y empezaron con mejoras. Y aquí en México y en Latinoamérica, ahora todo es un web service.

Cuando era niño recuerdo que las películas tardaban mucho en llegar, las modas, cosas así, pasaban años, pero pues era otra época. En USA falló el formato Betamax, y nos usaron de tiradero aventándonos todos esos aparatos que nadie quería en USA porque allá ganó el VHS. Pero hoy día, cuál es el pretexto? cuál es la razón por la que se sigue insistiendo en usar una tecnología para todo, como si fuera una panacea, cuando ya se hizo en USA hace años y ya recapacitaron y ya andan en otras cosas? No tenemos acceso a internet, y podemos leer blogs y noticias y todo tipo de información para darnos cuenta de esto? Es la barrera del lenguaje? Esa necedad de tener proyectos para traducir todo el javadoc o todo un libro o toda la documentación oficial de tal o cual framework o lenguaje, en vez de que se vuelva común aprender un segundo idioma. Queremos ser como los gringos que nada más hablan su propio idioma? Realmente creen que el único beneficio de leer, escribir e incluso hablar inglés será poder leer documentación técnica y hacer preguntas en StackOverflow?

Imagen de bferro

Un código de ética no se escribe en cuatro renglones

El código de ética de una profesión, sea ésta la ingeniería, la medicina o cualquier otra, no se escribe en tres o cuatro renglones siguiendo el mero propósito de que a la gente no se le olvide. Ni los 10 Mandamientos se pueden reducir a tan poco espacio.

Los principios de un código de ética o de cualquier otro código de "buena conducta" son siempre declarativos, pero explícitos a tal grado que no hace falta escribir procedimiento alguno para llevarlos a la práctica. La propia declaración trae embebido el procedimiento a seguir.

Cuando le dices a un ingeniero de software que debe "Escuchar equitativamente las opiniones, preocupaciones y quejas de un
colega" o cualquier otro de los principios en ese código de ACM y IEEE, no hace falta acompañar a eso con una descripción de cómo hacerlo.

Nota al margen
No hice mención alguna al caso particular de México en el post donde copié el código de ética, que por cierto es seguido por muchos profesionales y diseñado por cientos de profesionales de respeto en nuestro campo de trabajo. Nuevamente exhorto a que todos reflexionemos sobre el asunto.

Imagen de luxspes

La regla de Oro / Declarativo vs Procedural

El código de ética de una profesión, sea ésta la ingeniería, la medicina o cualquier otra, no se escribe en tres o cuatro renglones siguiendo el mero propósito de que a la gente no se le olvide. Ni los 10 Mandamientos se pueden reducir a tan poco espacio.

Hay quien dice que los 10 mandamientos son demasiadas palabras para expresar algo que puede resumirse en: "trata a tus congéneres igual que quisieras ser tratado" o en modo pasivo: "Lo que es odioso para ti, no se lo hagas al prójimo"... incluso aqui podria aplicar (y es todavía mas corto que lo que escribi la ultima vez).

Los principios de un código de ética o de cualquier otro código de "buena conducta" son siempre declarativos, pero explícitos a tal grado que no hace falta escribir procedimiento alguno para llevarlos a la práctica. La propia declaración trae embebido el procedimiento a seguir.

Desafortunadamente no podria estar mas en desacuerdo con la parte de "La propia declaración trae embebido el procedimiento a seguir" :-(. (Por cierto que si asi fuera, hace mucho que Prolog y sus variante habrian reemplazado a todos los demas lenguajes de programación)

Cuando le dices a un ingeniero de software que debe "Escuchar equitativamente las opiniones, preocupaciones y quejas de un
colega" o cualquier otro de los principios en ese código de ACM y IEEE, no hace falta acompañar a eso con una descripción de cómo hacerlo.

Claro que hace falta, suena facil y obvio en modo declarativo, pero en la practica, algunos de tus colegas tendra opiniones tontas, otros opiniones interesantes, y otros, opiniones relevantes, unos se quejaran de cosas importantes, y otros por tonterías, unos se preocuparan de cosas relevantes y otros no, unos expresaran su opinión amablemente y otros agresivamente, habra ademas que definir prioridades, puesto que el tiempo es finito, y no se puede ofrecer el mismo tiempo a todos, por que la situacion hara a algunos mas importantes que a otros, etc. Aunque el principio general sin duda expresa buenas intenciones, en la practica, hace falta mas que eso.

No digo que tener un código de ética sea en si mismo una mala idea, pero creo que uno asi de largo complica su propia adopcion.

Imagen de bferro

¿Qué principios sobran?

Mi estimado luxspes,

mi intención con poner en este Foro el código de ética de ACM e IEEE es contribuir al mismo. Varios de los que leen este foro no lo conocen y pienso que es un tema valioso. En mis clases de ingeniería de software lo dejo como lectura obligada. Por supuesto que no aplico exámenes sobre el asunto.

Estarás de acuerdo conmigo que tu desacuerdo con lo declarativo y procedural no tiene nada que ver con lo que aquí hemos estado comentando. Prolog no tiene nada que ver con principios éticos DECLARATIVOS.

Estarás de acuerdo conmigo también que no es necesario modelar esos principios para que sean entendidos.

Como una vez comenté; las discusiones siempre tienen un contexto. Salirse de ese contexto es tomar otro camino. Te propongo que el propongas a ACM y a IEEE un código más sencillo. Puede resultar valioso

Imagen de luxspes

Que sobra? valdría la pena analizarlo...

mi intención con poner en este Foro el código de ética de ACM e IEEE es contribuir al mismo.

Y es una contribución valiosa e interesante, si por decir que no me gusta por ser demasiada larga hice pensar lo contrario, aclaro que no as así, pero aun siento que es demasiado larga.

Varios de los que leen este foro no lo conocen y pienso que es un tema valioso.

De acuerdo.

En mis clases de ingeniería de software lo dejo como lectura obligada. Por supuesto que no aplico exámenes sobre el asunto.

Un examen al respecto no creo que fuera buena idea, pero un debate sobre el valor de cada uno de los puntos, en al búsqueda reducirlo a su mínima expresión, para facilitar su propagación, creo que seria recomendable, después de todo: "Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away, Antoine de Saint-Exupery" (He aqui una declaracion sobre la perfeccion: Como derivo de ella el procedimiento para alcanzarla? ;-) )

Estarás de acuerdo conmigo que tu desacuerdo con lo declarativo y procedural no tiene nada que ver con lo que aquí hemos estado comentando. Prolog no tiene nada que ver con principios éticos DECLARATIVOS.

Debí aclarar que ese (Prolog) fue un comentario al margen, pero bueno, la idea general permanece, no creo que a partir de una afirmación declarativa, se pueda garantizar que 1 agente interpretándola podrá derivar un procedimiento optimo... o que 2 agentes interpretandola llegaran al mismo procedimiento... o cuando menos a procedimientos no contradictorios (y menos si la declaración esta escrita en un lenguaje tan ambiguo como el humano). Por ejemplo, el principio etico de "No robaras", suena muy bien, hasta que tienes que decidir entre morirte de hambre o robar una manzana, o "No mataras", hasta que se reduce a su vida o la tuya.... etc, etc.

Estarás de acuerdo conmigo también que no es necesario modelar esos principios para que sean entendidos.

No, no es necesario, pero ciertamente el que fueran mas cortos ayudaría a propagarlos mas fácilmente y modelarlos puede ayudar a detectar errores contra la practica. Y es importante hacer notar, que no basta con declarar lo que se quiere, se tiene que tener un plan para alcanzarlo.

Como una vez comenté; las discusiones siempre tienen un contexto. Salirse de ese contexto es tomar otro camino. Te propongo que el propongas a ACM y a IEEE un código más sencillo. Puede resultar valioso

Tal vez...

No todo esta tan jodido...

Hay que recalcar y recordar que Mexico ha tenido gente innovadora y creativa, ejem. Miguel de Icaza Federico Mena, Ezamudio y Yo, jejeje. Vamos gente a echarle ganas que Mexico es grande y aunque la Educacion este pesima se puede sobresalir.