How to enter in software work force?
I completed my masters in computer Science in 2010 and joined teaching profession. Now I want to join software industry, but not sure how to start, where to start, should I join any boot camp or get admission in some college/university courses? Please advice.
#technology #software #computer science
As you speak with people in the software industry, you'll be able to do more research on job boards and resources (indeed, glassdoor, linkedin) to learning more about the different functions and roles at software companies. I would look for roles that are a good mix of your skills and interests.
I would suggest starting with some internal focus, since you have some good working experience as a teacher for ~10 yrs.
1) What aspects of your role do you enjoy? Dislike? Is it the interaction with students/peers? Is it the process of gaining and spreading knowledge?
2) What parts of your role(s) comes naturally to you? Documenting/writing content? Teaching in front of a large audience?
3) Which parts of your job are harder for you?
The 1st questions above speak to your personality, the 2nd and 3rd are more related to your professional skillset. Having a solid understanding of your own likes/dislikes and your professional strengths and weaknesses are key to building a good career path.
As an example, if you enjoy the teaching aspect of your job, you could be strong fits for roles that're focused on training and developing content. These teams would be commonly referred to as "onboarding", "enablement", or sometimes "professional services". If you don't enjoy the training portions. Conversely, maybe you're looking to do something more singular with less interaction (what I call "screen facing"), like programming.
You. already have a degree in Comp. Sci, so the concepts you've learnt still apply, regardless of how long it's been. While I did my Master's in Comp. Sci. in 1995, I still apply what I learnt to my job today as a Product Manager when I deal our IT team. I would recommend the following to see whether you need to take any further classes or certification:
1. Go to job sites such as Indeed or other job sites, and look at job postings within the technology industry.
2. Narrow down the types of jobs that look interesting to you, or that you feel you could do. Don't get discouraged if they're asking for specific skills or a specific programming language; languages can be learnt. Just try to get a general idea of what you'd like to do to focus on the types of jobs you'd like to do in the software industry.
3. Once you have a list of jobs, look at the skillset they're looking for. If there's a common set of programming languages or skill sets you don't currently have with your Master's, those might be ones that you may want to enhance by either taking free courses or certifications that are taught by companies like Coursera, Udacity, EdX, etc.
4. Get a plan in place. Put together a framework for looking for a software engineering job. Get your resume together, and get help with the resume if you need it. Get templates for a cover letter/email, a thank you letter/email, and a follow-up letter/email.
5. Start interviewing for positions, once you feel that you're reasonably well prepared. The more you do the better you'll get. Prepare a list of possible general and specific questions interviewers may ask, and as you interview, keep adding to the list. When you interview, make sure you know what the company you're interviewing for does, so you can ask questions, not just about the position, but also generally what the company does and where it's headed.
Wish you all the very best with your job search!
I'm also a computer science grad and was also faculty before I stepped in to IT workforce! :-)
First and far-most, I believe, formal training and certification to keep up with IT industry trends is the key to be successful. Since you have 10 years of teaching that is a given. Perhaps list out your key areas of interest as there are many specialization areas you can branch out. Major areas being Development, Testing, Operations, Networking, Infrastructure, Data Mining, AI/ML etc.
New technology trends are in the area of AI based apps, Data Mining, Cloud engineering, Site Reliability engineering, Kubernetes, Edge Computing, VR, AI Ops are the much sought after areas of specialization in the industry today. 5G technology is reshaping the mobile computing. Identify one or more of these, take a refresher certification (as needed) to position yourself to be competitive in the workforce that you will be joining in. You will be set for success for sure. There is recent surge in soft skills demand as most of the workforce is going remote and global - Communication skills, being tech savvy etc are the key to the success factor as well.
2nd critical area is networking with folks in the eco system. Social media platforms offers great opportunities to network with IT/software professionals. Such as Linked-in, various technology forums. Become a member of IEEE and similar professional groups.
Watch out for open positions on various companies job boards, family or friends referrals and in your professionals network. Position that suits your skills and carrier aspirations. Get ready with resume that reflects what you can do and how that makes a difference to the employer if that position is offered to you. There are many resources on line to look up for great inputs on this topic as well.
Seek referrals form professionals you know which can be shared with your job application.
Be confident you will there in no time!
a) First, determine what part of the software world you enjoy. For example, "software" world doesn't have to mean just coding but could be how to 'glue' different software components together to work for specific use case(s). If you're not sure, then suggest starting with some coding languages you enjoy and start with small projects that range from coding to integrating software together.
b) Gain some experiences that you feel would have applicability to job positions you would be interested in. Many companies will give you training on specific code languages but the key is to understand the fundamentals of software development since then one can pick their favorite coding language to do software development. You may also may find you don't need to do in depth coding (millions of code lines) to integrate different software together.
Best of luck!
Post on LinkedIn to share what you know.
Use Medium.com too.
One option to ponder is to work for a startup company where you can make a difference. You may not get great salary but you will get stock options.
Google, Amazon, Facebook and other well known companies require that you pass their exams.
I worked in software industry for 30 years and always enjoyed working for small companies - you get to do many things.
Make connections on LinkedIn - this is the best way to get a job.
Ask people to recommend you on LinkedIn from those people who you know well.
Relocate to where employers are looking for people in the software industry. CA, WA, Austin, Denver or Boston.
Or try working for Uncle Sam in DC.
Then start talking with recruiters and / or target companies with Grad programs as that's a great way in the door
Find an opensource project you like, study its source code and try to colaborate with the people involved in developing the code. Maybe they ask you just to document, or translate messages, but you will learn and establish contact with that people.
Try to suggest changes to the design, correct bugs, etc. in order to gain confidence and be more involved in that project, or start your own opensource project.
Base on my experience, the most important is to find out which areas of computer science that you have passion with and want to learn more. For example, look back to your master thesis that you spent lots of time and research in, think about which courses or assignments you felt most rewarding and had sense of achievement after you spent days and nights. When you have the sense of achievement at the end of the day, you get the right one.
Starting with a profile in LinkedIn and let people know your experience and achievement in your teaching professional career. Remember that soft skills are more valuable and important as technical skills. In our computer science world, we need people that not just for coding but know how to work as team and manage conflict and stress. Many HR people will contact you once they see your skillsets. That is how you build your network and keep in touch with many industry leaders.
Start with a startup company is a good way to learn while building your career path. This is definitely my own experience and gave me many opportunities to work with different talented people and learned from them.
Best of luck and hope it helps !!
- Miranda S.F. Tsang
My advice to you is to choose which area in the software industry that you are most interested in (cybersecurity, data science, full-stack engineering, database admin, system admin, etc) and take a step to apply to several opportunities. Before you interview for a position, make sure you do enough practice. If you fail in one interview, learn from it and do better in the next interview. You will learn the specifics of the job that are not taught in any classroom and the industry jargon once you start. All you need to do is keep an open mind and be willing to learn new things on the job.
Dominic recommends the following next steps: