Mon expérience est en génie électrique, DSP pour être plus précis. La société pour laquelle je travaille actuellement réalise de nombreux projets divers, principalement pour la construction de matériel analogique. Étant un peu plus proche des ordinateurs que tout le monde ici, je suis souvent celui qui écrit du code pour les appareils intégrés (avec lesquels je suis parfaitement d'accord) et Windows ou Linux OS. C'est ce dernier qui est pour moi un territoire étranger.
Je peux coder et je connais quelques langages (C / C ++, Java, certains VB.NET), mais je ne les ai utilisés que pour des simulations d'algorithmes dans le traitement du signal et de l'image, des réseaux de neurones et d'autres applications similaires. Pour moi, la programmation a été un outil de calcul plus que toute autre chose. Cependant, je reçois de plus en plus de projets où je dois écrire un logiciel à part entière et je ne sais pas vraiment comment le faire, parce que je n'ai jamais eu à le faire, et je n'ai jamais été assez intéressé. J'ai moi-même vu pas mal d'ingénieurs qui se sont convertis en codeurs dans une certaine mesure en raison des exigences du travail, et la plupart d'entre eux n'étaient pas si bons dans ce qu'ils faisaient. Je suis sûr que beaucoup de gens ont rencontré la même chose.
Si je devais apprendre à écrire un logiciel approprié avec une bonne interface utilisateur, une bonne architecture interne, etc., comment faire? Nous n'avons personne au travail qui pourrait me dire ce qui est bon et ce qui ne l'est pas. Étant donné que je peux écrire du code dans le sens le plus brut du mot, qu'est-ce qu'il y a d'autre à savoir sur l'écriture d'un bon logiciel et comment y arriver par moi-même?