This blog used to be dedicated to providing tutorials for guiding newbie software developers through their first few years on the job and becoming intermediate and/or senior engineers.
As of 2023, the scope of the site has changed a bit. There will still be occasional tutorials for programming, databases, CI/CD, and other stuff, but that’s no longer the main purpose of the site.
In addition to hands-on tutorials, I will also be writing opinions and summarizations of the more “academic” side of software engineering and computational science. This will include synopses of research papers, explorations of abstract concepts, book reviews, and overall experiences as a software engineer and/or computer scientist.
Regarding the Term “Software Engineering”
Technically speaking, software engineering is a formal discipline comprised of several, well-defined, sub-disciplines; not just writing code. The different areas that make up the whole of software engineering are mostly documented in the Software Engineering Body of Knowledge (SWEBOK).
However, as most people with any experience building commercial software will tell you, standardization and formalization in software cannot be applied universally. That’s not to say that formalized processes don’t have their place, they do. But, a dogmatic adherence to strictly defined processes is a poor philosophy with which to approach the world of software engineering.
This is to say, while I want to write about many aspects of software engineering besides just coding, I am not gatekeeping “software engineering” with pedantic definitions, and this field has little use for people who do. Whether you’re writing HTML for your friend’s home business or writing software that helps land planes safely, you’re a software engineer in my opinion and the content in this blog is specifically for you.
Regarding the Term “Computational Science”
As I understand the term, computational science refers to using computer science to solve problems in other sciences. For example, consider bioinformatics, the discipline of collecting and analyzing biological data. Much of bioinformatics research informs the field of biology, though bioinformatics itself is heavily based in computer science. Collecting, storing, and analyzing the humungous amounts of data required to do bioinformatics research cannot be done without experts in data storage, algorithms, electrical engineering, and more.
As a CS PhD student working in the field of structural bioinformatics, I spend a lot of time working with computers and writing software in order to answer biophysics questions. This kind of work is computational science and requires its own approach to software engineering. These are the kinds of things I will write about under this topic.
The Author
Hi! I’m Erik Whiting. I’ve been professionally involved in software engineering since January of 2018. I’m a senior software engineer at a SaaS company where I spend most of my time writing frameworks that allow our customers to combine 3rd-party integrations with our products. I believe this is sometimes called “integration engineering.”
In addition to my professional role, I’m an active contributor to scientific software. I am the website coordinator for the Open Biological and Biomedical Ontology Foundry, the primary software engineer for the Yesselman Lab in the University of Nebraska Chemistry Department, a PhD student researcher in the Yao Integrated Digital Omics Lab, and former–albeit frequent–contributor to several Open Bioinformatics Foundation projects.
I am currently pursuing a PhD in computer science at the University of Nebraska. My research interests include machine learning, computational science, and, of course, software engineering. I also have an MS in software engineering, my thesis was called A Framework for Improving Performance Testing in Agile Software Development. You can check out my other research publications on my Google Scholar page.
I’m always happy to talk or answer questions about computer science and software engineering. You can email me at erik@erikwhiting.com, tweet me at @ErikWhiting4, or find me on LinkedIn. Seriously, don’t be shy, I’m always happy to meet new people!
Also, here’s my pretty face: