11 answers
Asked
784 views
What computer science applications do you work on? What type of software/program do you write in your current role?
This is part of our professionals series
Login to comment
11 answers
Updated
Nurhan’s Answer
Teradata SQL, SQL Server, Qlik, Thoughtspot, Alteryx
Updated
Vincent’s Answer
I mainly work on Database Infrastructure, which typically includes:
Redis, MySQL, and PostgreSQL for Databases
Go, Python, SQL, or Bash Scripting as Programming Languages, depending on the task
GitHub for Source Controle
Jenkins & Ansible for Automation
Terraform for Infrastructure as Code
AWS is our primary Cloud provider
Docker for Container Management
Kubernetes for Orchestrating Containers
I'm sure there are others, but I probably use them less frequently.
Redis, MySQL, and PostgreSQL for Databases
Go, Python, SQL, or Bash Scripting as Programming Languages, depending on the task
GitHub for Source Controle
Jenkins & Ansible for Automation
Terraform for Infrastructure as Code
AWS is our primary Cloud provider
Docker for Container Management
Kubernetes for Orchestrating Containers
I'm sure there are others, but I probably use them less frequently.
Updated
Frank’s Answer
The interesting thing about developing software is that almost every company has software that needs to be developed and maintained.
I like to separate software development/engineering jobs into two categories. Jobs where you are supporting the business and jobs where you are working on the product.
An example of supporting the business would be working for an insurance company. Their software needs to be worked on and maintained to facilitate the sales of insurance to customers. You might be updating existing systems to handle new insurance products.
An example of working on a product might be working as a software engineer at Facebook. You would be developing new features directly for the facebook app.
To me working directly on a product is more fulfilling but you can have a very successful career building up knowledge of a certain field supporting those businesses ( A software engineer that really knows a lot about insurance for example ).
I like to separate software development/engineering jobs into two categories. Jobs where you are supporting the business and jobs where you are working on the product.
An example of supporting the business would be working for an insurance company. Their software needs to be worked on and maintained to facilitate the sales of insurance to customers. You might be updating existing systems to handle new insurance products.
An example of working on a product might be working as a software engineer at Facebook. You would be developing new features directly for the facebook app.
To me working directly on a product is more fulfilling but you can have a very successful career building up knowledge of a certain field supporting those businesses ( A software engineer that really knows a lot about insurance for example ).
Updated
Rob’s Answer
I write front-ends (UIs and APIs) for the configuration components of an alert detection platform.
For my day-to-day work, I'm mostly using...:
- Visual Studio Code (for code-writing)
- IntelliJ (also for code-writing)
- Git & Github (for version control)
- TypeScript + JavaScript (mostly React-based UIs)
- Node.js
- Java + Kotlin
- Ruby
- PostgreSQL-flavored databases
Adjacent collaborating teams are using many of the same technologies, but also add in Kafka for streaming data.
I would also add that technology stacks like this are pretty common, it's good advice not to over-index on any one thing. Focus on foundations -- take whatever you've learned and abstract it a little bit: "What did I learn over here that I can use over there? How are they similar? How are they different?"
For my day-to-day work, I'm mostly using...:
- Visual Studio Code (for code-writing)
- IntelliJ (also for code-writing)
- Git & Github (for version control)
- TypeScript + JavaScript (mostly React-based UIs)
- Node.js
- Java + Kotlin
- Ruby
- PostgreSQL-flavored databases
Adjacent collaborating teams are using many of the same technologies, but also add in Kafka for streaming data.
I would also add that technology stacks like this are pretty common, it's good advice not to over-index on any one thing. Focus on foundations -- take whatever you've learned and abstract it a little bit: "What did I learn over here that I can use over there? How are they similar? How are they different?"
Updated
Jimil’s Answer
C++, Python, Javascript, and HTML are the languages that I predominantly interact with. I use VS Code as my IDE because it has a lot of easy to download plugins and it is used by most major companies. Furthermore, I have been looking to expand toward C# because it is used for many networking applications and it automatically creates an executable file that way you dont have to stress about using CMAKE JSON files or Spec files that use difficult syntax. I chose to focus on my given languages because they seem to pay more and I enjoy doing backend work more than front end work because most front end is done in javascript and adding event listeners can be confusing.
Updated
Yanbin’s Answer
I use python to develop a backend api and use javascript (React Native) to develop a mobile app.
Updated
Ying’s Answer
My team is in mobile field, we use android(Java, Kotlin), iOS(objective-c, swift), Hybrid(ReactNative, Cordova, etc)
Updated
Gregory’s Answer
From a systems engineering standpoint I mainly use Python, but I did do a lot with Ruby when I used Puppet configuration management. Bash is always helpful, but can vary a lot in how people write or use it.
Typically the application teams I've worked with develop in Java or Javascript.
Depending on how you learn, sometimes its best to find a problem you want to solve and start working on that rather than just learning from a book.
Another path you can take is to find an open source program that interests you or that you like using and try to fix little things or create a new feature.
Typically the application teams I've worked with develop in Java or Javascript.
Gregory recommends the following next steps:
Updated
Yilmaz’s Answer
My team uses PHP and React to develop web applications.
Updated
Matthew’s Answer
In my role as a DevOps Engineer I tend to focus on deployment systems, monitoring and reporting. Depending on the size of company I'm working at my role involves:
- Centralized Logging and Metrics, often via ELK.
- Dashboarding using Kibana, Grafana or Datadog
- Data Migrations / Transformations using serverless Python applications
- Infrastructure as Code using Terraform.
- Development of hosting for systems via Cloud Computing providers, AWS, Azure, GCP etc.
- Automation of deployments & testing via CI/CD technologies such as Jenkins or Github Actions.
At larger companies I specialize in more specific areas, in smaller ones I take on more of the above.
- Centralized Logging and Metrics, often via ELK.
- Dashboarding using Kibana, Grafana or Datadog
- Data Migrations / Transformations using serverless Python applications
- Infrastructure as Code using Terraform.
- Development of hosting for systems via Cloud Computing providers, AWS, Azure, GCP etc.
- Automation of deployments & testing via CI/CD technologies such as Jenkins or Github Actions.
At larger companies I specialize in more specific areas, in smaller ones I take on more of the above.
Updated
Dean’s Answer
My team works on back-end services that process large scale data.
For languages we mostly use Java / Kotlin.
For data streaming we rely on Kafka
Database technologies are important for our work: database engines like PostGRES; AWS data services like S3, RDS, DynamoDB; SQL is the main query language for databases and many other applications use querying languages based on SQL.
We write micro-services and use Docker and Kubernetes. Infrastructure as code tools like Terraform are used to set things up.
These are currently popular technologies for data processing systems. In the course of my career I have seen technologies change a lot, but Databases have always been important so a good working knowledge of SQL and non-SQL databases is good to have.
For languages we mostly use Java / Kotlin.
For data streaming we rely on Kafka
Database technologies are important for our work: database engines like PostGRES; AWS data services like S3, RDS, DynamoDB; SQL is the main query language for databases and many other applications use querying languages based on SQL.
We write micro-services and use Docker and Kubernetes. Infrastructure as code tools like Terraform are used to set things up.
These are currently popular technologies for data processing systems. In the course of my career I have seen technologies change a lot, but Databases have always been important so a good working knowledge of SQL and non-SQL databases is good to have.