Skip to main content
6 answers
7
Updated 981 views

What steps should I take to prepare for a career in Software Development?

Job Corps- Informational Interview assignment
#software-development #computer-software

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

7

6 answers


2
Updated
Share a link to this answer
Share a link to this answer

Oliver’s Answer

Hi Yves - great question!

Here are three considerations that come to mind for preparing for a career in software development that you could consider:

  1. Decide which programming language(s) you would like to focus on - There are thousands out there and they come and go overtime! There are tracker sites like https://www.tiobe.com/tiobe-index/ (google other trackers for a general view) that track the popularity of programming languages. This can help you get an indication of which languages are popular and in demand within the job market, and so give you an idea of what potential employers may need/want today and tomorrow.
  2. Build your own stuff in your spare time! - After you know the programming language(s) you would like to focus on, learn as much as possible about them and build something (YouTube and Googling are a great starter), there is so much free content out there! To help you get your first job a huge step up would be to have actually learnt a programming language beyond the classroom and have built something that you could share and talk with a potential employer about. Having a small portfolio of 'apps' you have written is a great benefit and can make you stand out from the crowd during interviews. The apps don't need to be fancy either, just something simple, but shows you can apply what you have learnt!
  3. Be familiar with an agile mindset/methodology - Every company will have a set of processes and activities to follow in order to create and build applications. In technology particularly, the agile approach is an increasingly popular choice for software developers to be involved in and follow - I would recommend checking this out and being familiar with one of the agile methodologies (like SCRUM) and the agile mindset as it will help you in interviews and help jumping into working with your first team if they follow this!

Oliver recommends the following next steps:

Become familiar with the different programming languages and see what is popular and why
Find out more about agile methodologies like SCRUM used by many software developers
Try and get hands-on with a programming language and build a mini-portfolio of apps!
Thank you comment icon Adding to the above comment, for job interviews in software industry one should know data structure, algorithm and system design. https://leetcode.com/ provides a good content for preparation Shruti Jauhari
Thank you comment icon The three areas Oliver lists are spot on. Being able to speak the Agile/scrum language as well as share a git repo where hiring managers can see your projects will help elevate you in the list of candidates. Aimee Smith
2
0
Updated
Share a link to this answer
Share a link to this answer

Doug’s Answer

I would also add that the field changes rapidly so being passionate about learning and growing is critical. I would recommend reading "Cracking the Coding Interview" by Gayle Laakmann McDowell. The first three chapters provide great advice on how to prepare for interviews (the rest of the book has coding questions in various areas). I would also strongly recommend doing internships at more than one company if that is available to you (I have had many interns work for me over the years and those that worked at more than one company learned a great deal about what it is like and what they are interested in doing).

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

Dina’s Answer

To add to others, keep in mind the software industry is ever changing and becoming smarter. Areas like data scientist, predictive capabilities are becoming more prevalent in the workforce. There is an element of smarter everything from your home, car and now businesses are taking advantage of the capability. IoT is an area that a growing trend in the industry.
0
0
Updated
Share a link to this answer
Share a link to this answer

Kellen’s Answer

To build upon the answers already given, internships are a great way to gain a variety industry experience without the commitment of a full-time position. Software development roles are different at every company, so finding internships with companies or in fields that interest you will provide opportunities to learn more about what a career there will look like.

Best of luck getting started!
0
0
Updated
Share a link to this answer
Share a link to this answer

Zhu’s Answer

Algorithms and Data Structure should be the exact foundation of this career, I recommend you pay more time on those when you are preparing to enter this industry. Those two things will help you to build the programming logic thinking and make it easier to learn any new coding language.

And when you start your career, you should have already known what kind of software will you build, in that stage I recommend you to get familiar with the most popular frameworks in your industry ASAP. Proficiently use of those tools will help you to save plenty of time and then you have the chance to learn more techniques for your career growth.
0
0
Updated
Share a link to this answer
Share a link to this answer

Nikesha’s Answer

1. Pick one language, learn the basics: Pick a single programming language that you think you would be likely to base your career around.
2. Build small proof of concept: Now that you have a basic understanding of a single programming language, it's time to put that understanding to work and find out where your gaps are. The best way to do this is to try and build something.
3. Learn a framework: Pick a single framework to learn that will allow you to be productive in some environment. What kind of framework you choose to learn will be based on what kind of developer you want to become.
4. Learn structural best practices: At this point you really want to focus your learning on the structural process of writing good code and working with existing systems.
5. Learn a second language: If you spend time in a new language and programming environment, you'll begin to see things in a new way
6. Learn design best practices: You should be ready to build systems by now, but now you need to learn how to design them.
0