Software development refers to a set of computer science activities dedicated to planning, analyzing, designing, creating/developing/building, deploying, and supporting software. It is primarily conducted by programmers, software engineers, and software developers. These roles interact and overlap, and the dynamics between them vary significantly across development departments and communities. "The first computer programmer was a woman born in 1815? Since then, software development is continuously evolving, adapting to technological and scientific breakthroughs and industry changes."
Programmers, or coders, write source code to program computers for specific tasks like merging databases, processing online orders, routing communications, conducting searches, or displaying text and graphics. Programmers typically interpret software developers' and engineers' instructions and use programming languages like C++, Java, Python, etc., to carry them out.
Software engineers apply engineering principles to build software and systems to solve problems. They use modeling language and other tools to devise solutions that can often be applied to issues in a general way instead of merely solving for a specific instance or client. Software engineering solutions adhere to the scientific method and must work in the real world, as with bridges or elevators.
Software developers have a less formal role than engineers and can be closely involved with specific project areas — including writing code. At the same time, they drive the overall software development lifecycle — including working across functional teams to transform requirements into features, managing development teams and processes, and conducting software testing and maintenance.
The work of software development isn't confined to coders, software engineers, software developers, or development teams. Professionals such as scientists, device fabricators, and hardware makers also create software code even though they are not primarily software developers. Nor is it confined to traditional information technology industries such as software or semiconductor businesses. In fact, according to the Brookings Institute, those businesses "account for less than half of the companies performing software development."
An important distinction is custom software development as opposed to commercial software development. Custom software development is the process of planning, analyzing, designing, creating/developing/building, deploying, operationalizing, supporting, and maintaining software for a specific set of users, functions, or organizations. In contrast, commercial off-the-shelf software (COTS) is designed for a broad set of requirements, allowing it to be packaged and commercially marketed, and distributed.
The U.S. Bureau of Labor Statistics' Occupational outlook handbook states that "The median annual wage for software developers was $109,750 in May 2019 in North America. Software developers' employment is projected to grow 22 percent from 2019 to 2029, much faster than the average for all occupations. The world will need to respond to an increased demand for computer software."
How to land your first software developer job?
Learn the basics
- Writing source code
- Basic statements and expressions
- Working with numbers and strings
- Writing conditional code
- Increasing your efficiency with functions
- Working with comments
- Making decisions in code
- Troubleshooting errors
- Learning about other languages
Familiarize yourself with the best practices and tools of the trade
You can find some good ones at https://opensource.com/article/17/5/30-best-practices-software-development-and-testing.
Build a public portfolio
it is a showcase that proves that you can do what you talk about in your resume. Rather than telling prospective employers about your skills, you can create a software developer portfolio to show them.
Use GitHub to showcase your experience.
If you're a candidate seeking job opportunities, you'll want to present your page in a way that makes sense to your target audience, which is in this case is anyone from hiring managers to recruiters to H.R.
Not everyone uses GitHub in a career-forward capacity, but you can. Just like keeping a programming blog is a great presentation tool, a GitHub page presents a similar opportunity. It's another place to put your best foot forward. While it isn't built to be a job-seeking tool per se, it is wise to manage it as deliberately as you might a LinkedIn page. Just as any social platform, GitHub has unique ins and outs to consider.
Create a compelling resume to tell your story.
Here are some guidelines to keep in mind when creating a story-based resume
- Use the top of your resume to tell who you are.
- Storify your accomplishments.
- Ensure your resume is accomplishments-driven.
- List resume accomplishments in REVERSE order.
- Deploy supplemental documents for storytelling.
- Keep resume stories concise.
This article was inspired by the following and articles
- What is software development? | IBM. https://www.ibm.com/topics/software-development
- 10 Interesting Facts About Software Development .... https://medium.com/agileactors/10-interesting-facts-about-software-development-infographic-614fd06f775
- Software Development - BRIDGED LEARNING. https://www.bridgedlearning.com/software-development.html
- Ultimate Guide to Creating a Programmer Portfolio .... https://www.springboard.com/blog/programmer-portfolio/
- How to Effectively Use a GitHub as a Job Seeker .... https://www.cybercoders.com/insights/how-to-effectively-use-a-github-as-a-job-seeker/
- Storytelling in Your Resume: Why and How | LiveCareer. https://www.livecareer.com/resources/resumes/how-to/write/storytelling-resume