What does a software engineer do on a day to day basis?
I want to be a software engineer. #engineer #software #software-engineering
8 answers
Eric’s Answer
It varies hugely, depending on the industry (a game developer might have very different responsibilities from someone who works at an ISP like Comcast or Verizon, for example), and depending on the team of people they are working with.
For me, on any given day I'm usually in the middle of improving an existing piece of software. Most of my projects take multiple days to weeks to complete. Today, I am just finishing up making a small change that a customer who uses the program I work on asked for. I am also adding a new ability to a program that I wrote over the past year. Finally, I am working with another software engineer to make a plan for how we're going to clean up a very messy piece of code over the next week or so. This last one means writing a document describing "Here's what we hope to accomplish, here's how we think we're going to approach it, and here's what might go wrong." It isn't writing code, but it's still an important part of the process.
Mark’s Answer
I meet with my team (not a test group but team of developers) for morning scrum or project update meeting. If were early in development, I work closely with development and business to assure everyone's on the same page when it comes to requirement gathering. If requirements have already been spelled out, I make sure the development team adheres to the design specifications and test small drops to the QA environment. I'm summarizing a lot so forgive me, honestly most of the work is done during prep, requirements gathering, feature breakdowns, test plan and test case creation. It really depends on what phase of whatever methodology your company uses. Like I mentioned earlier every company operates differently, for example, despite me being a tester, I participate in development mobbing session (Developers team up and each participant takes a turn working through the code while being guided by another developer) and I also work with developers during implementation phase. This may not be a requirement at another company.
Hanish’s Answer
Niteesh’s Answer
A typical day for a software developer look like this:
Manage information technology projects or system activities.
Monitor computer system performance to ensure proper operation.
Jimil’s Answer
The day-to-day tasks of a software engineer can vary depending on the specific job and the company, but in general, they involve writing, testing, and maintaining software code. Here is a list of some common tasks that software engineers may perform on a day-to-day basis:
Writing code: Software engineers write, test, and maintain software code in one or more programming languages, such as C++, Python, or Java. They may work on a wide range of software products and applications, such as operating systems, mobile apps, websites, and more.
Collaborating with other engineers: Software engineers often work in teams, and they need to be able to communicate effectively with other engineers, designers, project managers, and other stakeholders to plan and deliver software projects.
Debugging and testing: Software engineers will also be responsible for debugging and testing their code, they will have to find and fix any bugs or errors in their code and make sure that it meets the required specifications and standards.
Participating in code reviews: Engineers often have to review the code of their peers and other team members to ensure the quality and maintainability of the codebase.
Learning new technologies and tools: Software engineers must be willing to continuously learn new programming languages, tools, and technologies in order to stay current and be able to take on new challenges.
Documenting the code: Engineers are responsible for documenting the code, this can include writing comments, creating diagrams, and documenting best practices and design patterns.
Participating in meetings: Software engineers may participate in meetings with other members of the development team, such as project managers and designers, to discuss project status, goals, and requirements.
Keeping up-to-date with industry standards: Engineers also have to keep track of new industry standards and advancements that may affect their work and adapt accordingly.
It's worth noting that this is not an exhaustive list and other tasks and responsibilities may vary depending on the company, the project, the team and the role of the software engineer.
Sean’s Answer
Shashank’s Answer
Software Developers research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis. They also modify existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and improve performance.
Other tasks include:
Monitor functioning of equipment to ensure system operates in conformance with specifications.
Develop or direct software system testing or validation procedures.
Direct software programming and development of documentation.
Consult with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
Analyze information to determine, recommend, and plan installation of a new system or modification of an existing system.
Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements, or resolve customer problems.
Shashank recommends the following next steps:
Daniela Silva
Daniela’s Answer
Hi Muhit,
Tasks and Duties
- Modify existing software to correct errors, to adapt it to new hardware or to upgrade interfaces and improve performance.
- Design and develop software systems, using scientific analysis and mathematical models to predict and measure outcome and consequences of design.
- Consult with engineering staff to evaluate interface between hardware and software, develop specifications and performance requirements and resolve customer problems.
- Analyze information to determine, recommend and plan installation of a new system or modification of an existing system.
- Develop and direct software system testing and validation procedures.
- Direct software programming and development of documentation.
- Consult with customers and/or other departments on project status, proposals and technical issues such as software system design and maintenance.
- Advise customer about, or perform, maintenance of software system.
- Coordinate installation of software system.
- Monitor functioning of equipment to ensure system operates in conformance with specifications.
- Store, retrieve, and manipulate data for analysis of system capabilities and requirements.
- Confer with data processing and project managers to obtain information on limitations and capabilities for data processing projects.
- Prepare reports and correspondence concerning project specifications, activities and status.
- Evaluate factors such as reporting formats required, cost constraints, and need for security restrictions to determine hardware configuration.
- Supervise and assign work to programmers, designers, technologists and technicians and other engineering and scientific personnel.
- Train users to use new or modified equipment.
- Utilize microcontrollers to develop control signals, implement control algorithms and measure process variables such as temperatures, pressures and positions.
- Recommend purchase of equipment to control dust, temperature, and humidity in area of system installation.
- Specify power supply requirements and configuration.
http://www.oceancareers.com/2.0/career_tasks.php?career_id=70
Have a great career!