Skip to main content
4 answers
5
Asked 765 views

What environments do you work in inside of software development

What environments do you work in inside of software development

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

5

4 answers


0
Updated
Share a link to this answer
Share a link to this answer

Atul’s Answer


I left software development many years ago and switched to sales.
The basics may remain same in the software engineering. Nowadays many companies apply either water fall or SCRUM method in the software development.
Typically, the design specifications are defined by the software architect based on the requirement defined by the customer or the marketing dept.
From the Design Spec - the Functional Spec is defined by the developer for the module that needs to be developed and integrated.
Most of the time code reviews are done of each module by peers.
The module is unit tested by the software engineer.
The integration with other module is either done individually or team of testing/QA engineers.
The documentation is initially defined and written by working with the technical writer.
There is no hard and fast rules - each company depending upon the size ($$$) apply their own method.
In a small company you may do multiple things ie design, write, document and QA too. You will learn a lot in a small company environment.
0
0
Updated
Share a link to this answer
Share a link to this answer

Pooja’s Answer

Hello Kavion - In industry terms environment usually refers to Development/Testing (QA - Quality Assurance/UAT - User Acceptance Testing) and Production. These environments mainly varies based on hardware/software/data specifications etc. Software developers usually develop in development environment and then elevate the code to testing and once signed off in testing environment, code gets deployed in production environment.

Development - Developers can use recommended IDE's/software tools to develop the code to perform application and system development tasks like programming, unit testing, debugging etc.

Testing - This is the environment where testing occurs and usually this testing is performed by Quality Assurance team or the end users. If any errors are encountered during this step, the code is fixed by developers in the development environment & changes are pushed to testing environment for retesting

Production - This is were new software/application or updates gets deployed for applications end users. No development is performed in this environment and usually the code is deployed/published here after following above steps.

Firms/projects usually use a code repository like Git hub, AWS CodeCommit etc. so code can be version controlled and developers can check in/check out code in collaborative fashion without loosing or overwriting changes made by any other developer

Hope this helps!
0
0
Updated
Share a link to this answer
Share a link to this answer

Dan’s Answer

Do you define "environment" as physical environment such as temperature, location, noise, office vs industrial, etc?

Or "human-type environment" issues such as friendly people, high/low stress, salary, etc?

I always designed and wrote (engineering/technical) software in an office environment but often went to the field sites where I would test, tune, and modify software. I have worked in steel plants, on freight locomotives, mass transit vehicles, and factories for testing, debugging and some software changes although most all software is originally designed and written in an office environment. The office work is almost always quiet, temperature controlled and comfortable while the field work can be quite extreme.

Most of my fellow workers were friendly, no different from regular folks. You will need a comfortable place to work for the majority/serious software development. Stress levels will vary and are usually lower at the beginning of a project but can increase as the project matures and gets closer to the final customer acceptance.

Software development covers almost any industry and company so it really depends on what industry and company and application that you will be working on.

If you clarify your question, I should be able to provide additional details.
0
0
Updated
Share a link to this answer
Share a link to this answer

Daniel’s Answer

The kind of environment that you work in varies highly depending on the role and company you work for. The skillset of a recent software engineer graduate tends to be very general and applicable to a wide range of industries. There are needs for software engineers all over the place.

In my own experience, I've worked at small companies (<20 people), small teams (<10 people) within huge multi-national companies, and mid-sized (100+ people) organizations within large companies. I've worked in a sea of cubicles, on a manufacturing floor next to people assembling machines (I often wore ear protection), and since 2020 I've almost exclusively worked from home. Over your career, you will see vastly different environments, and you'll find that some you enjoy more than others.
 
One major difference you'll see often is between small and big companies. In smaller companies (or small teams within a big company), things are pretty fast paced. There's more emphasis placed on quickly building new features and delivering them to customers quickly. It's very fast-paced, and can be stressful. In larger, more established teams, development tends to slow down a bit, with more emphasis placed on writing specifications, designing large-scale systems that will be in use for years, carefully considering security concerns, and delivering updates to customers.

Everyone tends to have an environment that they prefer. Often times new graduates tend to enjoy small teams and their fast-paced mindset that facilitates learning and growing your skills but tends to be more stressful. Many older engineers tend to like larger teams, which are slower-paced stable, and you get to work on projects that impact thousands or millions of people.
0