Home Web Front-end JS Tutorial Engineering the Unseen: My Work as a Software Engineer

Engineering the Unseen: My Work as a Software Engineer

Nov 18, 2024 am 05:24 AM

Engineering the Unseen: My Work as a Software Engineer

I signed an NDA, and I'm not sure what I can say about my daily work, but I'll try my best to explain it without going into too much detail.

I’m a software engineer at an American multinational company, and I’m programming a middleware that ensures safe and smooth communication between a chatbot AI and various services in order to be able to provide information to the customers related to those services.

I primarily use JavaScript and Node.js, which is a runtime environment for Javascript on the backend. The app runs on multiple Red Hat Linux (RHEL) servers.

We chose Node.js because early development is fast in Node, and we needed to show progress to management as soon as possible. Node.js uses an asynchronous model, which is excellent for efficiently handling a high volume of I/O operations, such as requests to and from APIs. Node is also well-suited for horizontal scaling, meaning you can easily add additional servers running the application to handle increased traffic or workload.

I develop on Windows, but the app itself runs on RHEL servers. We chose RHEL because it’s highly customizable and known for its strong security practices. Managing configurations at a deep level is so much easier on Linux than on Windows, which is essential when handling multiple security layers and certifications. Additionally, we are less dependent on external companies like Microsoft. RHEL is optimized for high-performance applications, offering better memory and resource management than standard Linux. It’s also widely compatible with other enterprise-grade software and includes tools for monitoring, logging, and system performance management, making it easier to integrate into a complex tech stack.

The app is based on the microservices architecture, which allows the app to have as many modules as possible, making it adaptable for various purposes. My middleware, for example, will support not only AI but other applications where secure I/O and API communication are essential.

The team consists of around 30-40 people, but I primarily develop this middleware on my own, although I do have an intern assisting me

I’d say the most difficult part of the job is communicating with others. When I need to reach out to other teams for an API or an app to implement services, or when I need input from other engineers, sometimes they don’t respond—or they give unhelpful answers, which can be frustrating. You really have to be pushy, which I don’t particularly like doing.

The most challenging part of my work is that we always have to rush, which leaves us with little time to follow best practices like Test-Driven Development.

The best part of the job is the coding itself and figuring out solutions for implementing different functionalities into the middleware.

My future goal is to become a recognizable figure in the technology field—writing blogs and speaking on programming topics. That's why I find English so important, and I am working on improving my speaking and writing skills. I want to be a strong public speaker and tech writer.

I’d also like to code more in TypeScript. At the moment, we ensure type safety with JSDoc, but I want to focus more on TDD and incorporate TypeScript in my work.

Do you have any other questions related to my field or me? Feel free to let me know in the comments.

The above is the detailed content of Engineering the Unseen: My Work as a Software Engineer. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: How To Unlock Everything In MyRise
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How do I create and publish my own JavaScript libraries? How do I create and publish my own JavaScript libraries? Mar 18, 2025 pm 03:12 PM

Article discusses creating, publishing, and maintaining JavaScript libraries, focusing on planning, development, testing, documentation, and promotion strategies.

How do I optimize JavaScript code for performance in the browser? How do I optimize JavaScript code for performance in the browser? Mar 18, 2025 pm 03:14 PM

The article discusses strategies for optimizing JavaScript performance in browsers, focusing on reducing execution time and minimizing impact on page load speed.

What should I do if I encounter garbled code printing for front-end thermal paper receipts? What should I do if I encounter garbled code printing for front-end thermal paper receipts? Apr 04, 2025 pm 02:42 PM

Frequently Asked Questions and Solutions for Front-end Thermal Paper Ticket Printing In Front-end Development, Ticket Printing is a common requirement. However, many developers are implementing...

How do I debug JavaScript code effectively using browser developer tools? How do I debug JavaScript code effectively using browser developer tools? Mar 18, 2025 pm 03:16 PM

The article discusses effective JavaScript debugging using browser developer tools, focusing on setting breakpoints, using the console, and analyzing performance.

How do I use source maps to debug minified JavaScript code? How do I use source maps to debug minified JavaScript code? Mar 18, 2025 pm 03:17 PM

The article explains how to use source maps to debug minified JavaScript by mapping it back to the original code. It discusses enabling source maps, setting breakpoints, and using tools like Chrome DevTools and Webpack.

How do I use Java's collections framework effectively? How do I use Java's collections framework effectively? Mar 13, 2025 pm 12:28 PM

This article explores effective use of Java's Collections Framework. It emphasizes choosing appropriate collections (List, Set, Map, Queue) based on data structure, performance needs, and thread safety. Optimizing collection usage through efficient

TypeScript for Beginners, Part 2: Basic Data Types TypeScript for Beginners, Part 2: Basic Data Types Mar 19, 2025 am 09:10 AM

Once you have mastered the entry-level TypeScript tutorial, you should be able to write your own code in an IDE that supports TypeScript and compile it into JavaScript. This tutorial will dive into various data types in TypeScript. JavaScript has seven data types: Null, Undefined, Boolean, Number, String, Symbol (introduced by ES6) and Object. TypeScript defines more types on this basis, and this tutorial will cover all of them in detail. Null data type Like JavaScript, null in TypeScript

Getting Started With Chart.js: Pie, Doughnut, and Bubble Charts Getting Started With Chart.js: Pie, Doughnut, and Bubble Charts Mar 15, 2025 am 09:19 AM

This tutorial will explain how to create pie, ring, and bubble charts using Chart.js. Previously, we have learned four chart types of Chart.js: line chart and bar chart (tutorial 2), as well as radar chart and polar region chart (tutorial 3). Create pie and ring charts Pie charts and ring charts are ideal for showing the proportions of a whole that is divided into different parts. For example, a pie chart can be used to show the percentage of male lions, female lions and young lions in a safari, or the percentage of votes that different candidates receive in the election. Pie charts are only suitable for comparing single parameters or datasets. It should be noted that the pie chart cannot draw entities with zero value because the angle of the fan in the pie chart depends on the numerical size of the data point. This means any entity with zero proportion

See all articles