Software Developer Job Description: Top Duties and Qualifications

A Software Developer, or Computer Software Developer, is responsible for using their knowledge of programming languages to design software programs. Their duties include meeting with clients to determine their software needs, coding and testing software to ensure functionality and updating software programs to refine components like cybersecurity measures and data storage capacities.

Build a Job Description

Software Developer duties and responsibilities 

A Software Developer’s duties and responsibilities depend on the employer. Their work revolves around the software development life cycle. Developers work with teams of coders to create software programs for computers, mobile devices and websites. They update end-user software and conduct quality control functions. Here are some examples of a Software Developer’s typical responsibilities:

  • Collaborating with management, departments and customers to identify end-user requirements and specifications
  • Designing algorithms and flowcharts to create new software programs and systems
  • Producing efficient and elegant code based on requirements
  • Testing and deploying programs and applications
  • Troubleshooting, debugging, maintaining and improving existing software 
  • Compiling and assessing user feedback to improve software performance
  • Observing user feedback to recommend improvements to existing software products
  • Developing technical documentation to guide future software development projects

Software Developer Job Description Examples


Software Developer

1+ years of Full stack Java development experience 1+ years of experience utilizing Source code control software [website] GIT, Subversion), Jenkins/Maven 1+ years of experience with Test Driven Development/Behavior Driven Development 1+ years of experience with shell scripts, Perl, and Job Scheduling tools like Autosys/CTRL-M, Informatica/Ab Initio a plus 1+ years of experience with Bigdata technologies - Hadoop/Cloudera/HortonWorks, MapReduce, Spark, Scala 1+ years of experience with Big Data querying tools (such as Hive, Beeline), 1+ years of experience with NoSQL databases (HBase, Cassandra, MongoDB) 1+ years of experience with Teradata, Oracle, or any other RDBMS.JPMorgan Chase & Co., one of the oldest financial institutions, offers innovative financial solutions to millions of consumers, small businesses and many of the world's most prominent corporate, institutional and government clients under the [website] Morgan and Chase brands. Our history spans over 200 years and today we are a leader in investment banking, consumer and small business banking, commercial banking, financial transaction processing and asset management. We recognize that our people are our strength and the diverse talents they bring to our global workforce are directly linked to our success. We are an equal opportunity employer and place a high value on diversity and inclusion at our company. We do not discriminate on the basis of any protected attribute, including race, religion, color, national origin, gender, sexual orientation, gender identity, gender expression, age, marital or veteran status, pregnancy or disability, or any other basis protected under applicable law. In accordance with applicable law, we make reasonable accommodations for applicants' and employees' religious practices and beliefs, as well as any mental health or physical disability needs. Equal Opportunity

Software Developer

This is a full-time position, and requires a TS/SCI/Full Scope Polygraph Clearance. 2HB Incorporated is seeking a Software Developer in order to support its government customer in Herndon, VA. The program’s mission provides IT and Programmatic support in the areas of data extraction, transformation and load (ETL), data mapping, data extraction, analytical support, operational support, database support, application development and associated maintenance of production systems. The working environment is a dynamic mission focused environment. The program directly supports data scientists and analysts by designing and engineering systems to meet exponential increases in digital data. The program is responsible for exploring and implementing new IT data enhancement tools and methodologies. The program requires candidate support to manage the identity data applications that enable exploitation of data and mission-focused collection. The program’s projects are based on cutting edge cloud technology. The program seeks highly skilled developers capable of tackling challenges using brand new technology. The program provides all technical direction to project teams. The candidates shall work core hour’s requirement of 9 am to 3pm, no flex schedules, 5 days a week. Work Requirements: The candidate shall develop new software ETL tools to support data ingestion into the program’s Data Lake. The candidate shall maintain existing and new ETL code baselines. The candidate shall support the Ingestion and ETL team. The candidate shall develop and enhance Ingestion and ETL process tools. The candidate shall develop and enhance utilities for the Ingestion and ETL process. The candidate shall develop code and scripts using Java, JavaScript, Bash, Python and Scala. The candidate shall correct production data at the request of the Data Governance Team and other users. The candidate shall assist with identifying, classifying, and verifying incoming dataset types The candidate shall develop new processes to ETL data. The candidate shall enhance existing processes used to ETL data. The candidate shall attend daily standup scrum meetings to ensure team is focused on current priorities. The candidate shall code scripts and software modules on an as needed basis to efficiently triage and convert datasets that arrive in non-standard formats to fit a de-normalized row and column data model. The candidate shall initiate and monitor processes for consolidating, moving, and validating data between program systems using Linux, spark, yarn, and other processes. The candidate shall convert data between multiple file formats and file systems to include .tar, .zip, parquet, Hadoop, Linux, Windows, and AWS. The candidate shall be responsible for storing, standardizing, extracting, referencing, and validating images and image references. The candidate shall document present and future process flows using tools such as PowerPoint and Visio. The candidate shall use Linux, Bash, excel, and SQL-like tools such as Postgres or Impala to respond to requests for data dissemination, processing history and metrics. The candidate shall respond to high-priority data processing and data mining requests that may require creative or unorthodox approaches for extracting or identifying critical data. The candidate shall assist other groups or developers in moving and tailoring data to assure that it can be processed correctly and efficiently. Position Requirements: Demonstrated experience utilizing big data technologies such as SPARK, Impala, and Pyspark. Demonstrated experience using ETL tools such as Pentaho and Kylo. Demonstrated experience extracting, transforming and loading data from disparate structured data formats into enriched, query-friendly structured data in indexed files. Demonstrated experience performing data quality analysis. Demonstrated experience gathering information to determine data sources. Demonstrated experience with SQL and stored procedure languages such as PL/SQL. Demonstrated experience with Hbase. Demonstrated experience with Regular Expressions (RegEx). Demonstrated experience with Hadoop. Demonstrated experience developing ETL design documentation including source and target mapping and data dictionary information. Demonstrated experience with Linux operating systems. Demonstrated experience programming using languages such as Java, JavaScript, Bash, Python and Scala. This is a full-time position, and requires a TS/SCI/Full Scope Polygraph Clearance.

Software Developer

At CrowdStrike we’re on a mission - to stop breaches. Our groundbreaking technology, services delivery, and intelligence gathering together with our innovations in machine learning and behavioral-based detection, allow our customers to not only defend themselves, but do so in a future-proof manner. We’ve earned numerous honors and top rankings for our technology, organization and people – clearly confirming our industry leadership and our special culture driving it. We also offer flexible work arrangements to help our people manage their personal and professional lives in a way that works for them. So if you’re ready to work on unrivaled technology where your desire to be part of a collaborative team is met with a laser-focused mission to stop breaches and protect people globally, let’s talk. About the Role : Lead backend engineering efforts from rapid prototypes to large-scale applications across CrowdStrike products. Leverage and build cloud based systems to detect targeted attacks and automate cyber threat intelligence production at a global scale. Brainstorm, define, and build collaboratively with members across multiple teams. Obsess about learning, and champion the newest technologies & tricks with others, raising the technical IQ of the team. Be mentored and mentor other developers on web, backend and data storage technologies and our system. Constantly re-evaluate our product to improve architecture, knowledge models, user experience, performance and stability. Be an energetic ‘self-starter’ with the ability to take ownership and be accountable for deliverables. Use and give back to the open source community. ​ You'll use… Go (Golang) AWS Kafka GIT Cassandra ElasticSearch Redis ZMQ Python ​ Key Qualifications: Degree in Computer Science (or commensurate experience in data structures/algorithms/distributed systems). The ability to scale backend systems – sharding, partitioning, scaling horizontally are second nature to you. The desire to ship code and the love of seeing your bits run in production. Deep understanding of distributed systems and scalability challenges. Deep understand multi-threading, concurrency, and parallel processing technologies. Team player skills – we embrace collaborating as a team as much as possible. A thorough understanding of engineering best practices from appropriate testing paradigms to effective peer code reviews and resilient architecture. The ability to thrive in a fast paced, test-driven, collaborative and iterative programming environment. The skills to meet your commitments on time and produce high quality software that is unit tested, code reviewed, and checked in regularly for continuous integration. Bonus points awarded for… Authored and lead successful open source libraries and projects. Contributions to the open source community (GitHub, Stack Overflow, blogging). Existing exposure to Go, Scala, AWS, Cassandra, Kafka, Prior experience in the cybersecurity or intelligence fields ​ Bring your experience in distributed technologies and algorithms, your great API and systems design sensibilities, and your passion for writing code that performs at extreme scale. You will help build a platform that scales to millions of events per second and Terabytes of data per day. If you want a job that makes a difference in the world and operates at high scale, you’ve come to the right place. #LI-AR2 #LI-OC1 #LI-Remote Benefits of Working at CrowdStrike: Market leader in compensation and equity awards Competitive vacation policy Comprehensive health benefits + 401k plan Paid parental leave, including adoption Flexible work environment Wellness programs Stocked fridges, coffee, soda, and lots of treats We are committed to building an inclusive culture of belonging that not only embraces the diversity of our people but also reflects the diversity of the communities in which we work and the customers we serve. We know that the happiest and highest performing teams include people with diverse perspectives and ways of solving problems so we strive to attract and retain talent from all backgrounds and create workplaces where everyone feels empowered to bring their full, authentic selves to work. CrowdStrike is an Equal Opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex including sexual orientation and gender identity, national origin, disability, protected veteran status, or any other characteristic protected by applicable federal, state, or local law. CrowdStrike participates in the E-Verify program. Notice of E-Verify Participation Right to Work

What does a Software Developer do?

Software Developers typically work for corporations across industries, but they can also work for IT firms or as self-employed individuals. They work closely with other Software Developers and IT professionals to create, troubleshoot and revamp software systems. Their job is to create instructional documents and coding libraries so other software developers can make adjustments in the future. They may also be responsible for reviewing customer service data to discover potential defects and gauge the level of customer satisfaction with a new program.

Software Developer skills and qualifications 

A successful Software Developer candidate will have various prerequisite skills/qualifications needed for duties. In this section, you can include the educational qualifications, skills and work experience applicants must have before applying for your role. Here are some examples of Software Developer qualifications:

  • Bachelor’s or Master’s degree in Computer Science or a related field
  • 3+ years of experience in mobile application and game development 
  • Proficiency in popular coding languages including Python, Java and C++ and frameworks or systems such as AngularJS and Git 
  • Excellent knowledge of the software development life cycle
  • Strong problem-solving and communication skills
  • Knowledge of Object-Relational Mapping frameworks
  • Experience with Agile and Scrum development methodologies
  • Ability to learn quickly and work independently or as part of a team

Software Developer salary expectations

A Software Developer makes an average of $93,340 per year. Salary may depend on level of experience, education and the geographical location. 

Software Developer education and training requirements

Software Developers need at least a bachelor’s degree in computer science, engineering or a related field to start in their careers. Some employers may require a master’s or doctorate degree in a specific field depending on the requirements of their role. The position also usually requires prior work experience, although employers provide on-the-job training to help new employees understand company operating procedures and guidelines. 

Successful Software Developers have exceptional collaborative skills because they need to work with different teams and departments to deliver their projects. The role requires candidates who are excellent communicators, are adaptable and have strong analytical skills. 

Software Developer experience requirements

The ideal candidate will be familiar with the software development life cycle including the planning, design, development and implementation, deployment and maintenance stages. They also require an in-depth knowledge of different programming languages, frameworks and tools. 

Software Developers will know how to write elegant code based on product specifications and requirements. They should be familiar with testing, debugging and improving their code and the work of their team members to deliver products on schedule. 

The ability to learn new programming languages, collect feedback and improve existing software is a desirable quality in applicants. They also require a good understanding of algorithms, flow charts and mathematical concepts that form the basis of computer programming. 

Job description sample for similar positions

If you’re writing a job description for a related position to the Software Developer, see our job descriptions for similar roles:

Frequently asked questions about Software Developers


What is the difference between a Software Developer and a Web Developer?

The difference between a Software Developer and a Web Developer is their areas of job focus. For example, both Software Developers and Web Developers use programming languages, but they differ in the types of programs they create. Software Developers specialize in designing software systems or applications that consumers can download to their desktop or computer systems. In contrast, Web Developers specialize in designing websites, webpages and web applications for consumers to access through the internet.


What are the daily duties of a Software Developer?

On a typical day, a Software Developer starts by reviewing feedback for current projects and reminding themselves of upcoming deadlines. Throughout the day, they work on one or more coding projects, run tests and update older software programs. Software Developers also participate in meetings with business leaders and IT professionals to brainstorm new ideas about streamlining operations using software. During downtime at their desk, Software Developers continue working on coding projects and creating code libraries for other Developers to reference.


What qualities make a good Software Developer?

A good Software Developer has a keen attention to detail, helping them catch errors in code strings before the testing phase. This is important as it helps them maximize productivity and adhere to project deadlines. They value continued education and always look for ways to enhance their knowledge of coding languages and software development trends. Further, a good Software Developer values constructive criticism of their designs and uses this feedback to improve their work and identify skill areas to strengthen. A good Software Developer also enjoys working on collaborative projects with other Software Developers to maximize project quality.


Who does a Software Developer report to?

A Software Developer usually reports to different roles depending on their work environment. Software Developers working at IT firms or tech companies typically report directly to a Software Development Manager to receive tasks and assignment deadlines. If a Software Developer works for a corporation, they may work as a member of the IT department, and therefore report to the IT Department Manager. When working as self-employed individuals, Software Developers report to their clients to make sure they meet their software objectives.

Job Description Examples

Need help writing a job description for a specific role? Use these job description examples to create your next great job posting. Or if you’re ready to hire, post your job on Indeed.

No search results found

    *Indeed provides this information as a courtesy to users of this site. Please note that we are not your career or legal advisor, and none of the information provided herein guarantees a job offer.

    Last updated: Apr 28, 2021