Software engineering has always felt intimidating to me. It seemed like something only otherworldly intelligent and creative people, people who have been so passionate about the subject that it is something that they have worked on in their free time since they were old enough to use a computer, were able to study and master. What it took to start becoming comfortable with software engineering and confident enough to tell people that computer science is something I am interested in and studying was breaking it down to the fundamentals. Over the past several months, I have studied many important foundational concepts in software engineering to begin developing a grasp on the subject.
Of these, two have stood out. As web development is a primary interest of mine, I am fascinated by topics that will help me learn how to build better websites both by my own criteria and future users. To this end, I have spent a considerable amount of time educating myself on UI frameworks and ethics in software engineering. UI frameworks, or user interface frameworks, are an easy way for beginners to start creating polished, functional websites. Instead of requiring the programmer to have an advanced knowledge of HTML, UI frameworks provide “a structure for defining user interfaces” Oracle Help Center using predefined coding statements and skeletons that users of that particular UI framework can easily adapt and modify for their own purposes.
The UI framework I am most familiar with is Semantic UI React. This UI framework requires only a superficial knowledge of HTML and has well-organized documentation that will let any fledgling web developer quickly jump in and being working on projects with. I can attest to that from personal experience. I have worked on several guided mini projects using this UI framework, to the point that I felt capable of completing a website with a small team. In the future, I know I will be using this UI framework further for my own personal projects with the end goal of becoming a better web developer.
But to build good websites, it is important to understand what they are going to be used for and how users will interact with them. That is where ethics comes into play. In general, ethics in software engineering is a hot topic. The general public is fairly unaware of all of the data that websites can collect on them and other potentially “nefarious” uses that the designers of the websites or programs may have for the people using their services. The developer of a website has the responsibility to be transparent with users about what exactly their utilization of the website is going to include, and to not use either user information or user participation on the website without users’ knowledge and permission. Going forward, I know that it will be a priority of my future in web development to never develop something that a user may feel cheated by.
Having studied these topics as well as others, I feel much more confident about securing a future in software engineering – in particular, web development. To anyone else who might be questioning their capabilities as a computer scientist, it is always helpful to go back to the basics!