Become a Successful Programmer without a Degree | Eric Frick | Skillshare

Become a Successful Programmer without a Degree

Eric Frick, Destin Learning

Play Speed
  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x
14 Lessons (1h 2m)
    • 1. Promo

      1:54
    • 2. Why Become a Programmer?

      4:04
    • 3. What are the Skills you Need?

      11:05
    • 4. What Concepts do I Need to Master?

      7:04
    • 5. What Equipment Will I Need?

      7:09
    • 6. What Investment Will I Need?

      3:59
    • 7. Where Can I get the Training?

      4:25
    • 8. Java .NET or Something Else

      5:19
    • 9. Entry Level Certifications

      2:52
    • 10. Writing Your Resume

      2:35
    • 11. Get Some Experience First

      3:43
    • 12. Where to Look For Jobs

      3:00
    • 13. Interview tips

      4:08
    • 14. Summary

      0:30

About This Class

Have you ever wanted to become a computer programmer? Perhaps you’ve given the matter some thought, then shelved it because it seems too difficult, or the competition is too great.  Maybe it’s the thought of cost or perhaps something else that’s holding you back?

In this class, I will show you How to Become a Successful Programmer Without a Degree.  I will take you through all that is necessary to become a programmer, covering all the important things you’ll need to consider, such as;

·      The necessary concepts you need to master
·      The types of equipment you’ll need
·      Certifications that are available to entry-level programmers
·      Why those certifications are important
·      The different types of training available
·      How to look for a job
·      Interview tips and more

In addition to this, I have put together some exercises that will help you put together your own plan, which will give you a head start to becoming a programmer.

If your dream has always been to become a computer programmer, this is the ideal class for you.  Designed for complete novices it will inspire and motivate you to realize your dreams and take the first steps on the path to a new career. In addition to the class videos, I have attached a complete ebook that accompanies this class.

Transcripts

1. Promo: Hello, Welcome to become a successful programmer without a degree. We'll take you through the process that you need to complete to become a successful programmer. My name is Eric Frick, and I've worked in the i n I T industry for over 30 years. In addition to working as an I T instructor, have worked as an I T senior manager in several different organizations, and I've literally interviewed hundreds of programmers. And I know what I T managers are looking for in a candidate. With the shortage of programmers today in the high salaries that programmers command, many people are looking for a career change in a way to get into this exciting field. This class is designed to help you develop a plan of action to do just that. I'll take you through step by step, of how to develop your plan and provide examples that can help you along the way. This plan will give you a real idea of the time and commitment it will take you to become a programmer. This class, I'll first take you through the concepts that you need to master in order to become a programmer. Next, I'll take you through the equipment that you'll need in the training classes you'll need to complete falling. That'll outlined some tips on writing your resume looking for a job in some interview tips . This course is designed for students who want to become a full time programmer is ideal for someone who's contemplating a career change. It wants to know how they can complete a program of study that's outside a traditional university program. By the end of this class, you'll have your own complete plan of study. So if you're thinking about becoming a programmer, this is a first great step. Develop a plan. Thank you for your interest in this class. If you're ready to learn more, sign up for the course and go ahead and hit the enroll button or take a test drive by using the free preview feature. Thank you again and see you in class. 2. Why Become a Programmer?: Hello, everyone, and welcome to the class. In this first lesson, I'll talk about some of the motivation of why you want to become a programmer. Will talk briefly about some of the motivating factors for becoming a programmer. Also, talk about some of the elements that make being a programmer such a good career move. They don't lay out the structure of the rest of this class. Becoming a programmer could be a very good job choice. I've been involved with software development for over 30 years, and I've really devote enjoyed the development aspects of my career. I want to share with you some of my experiences of my career and some of the things that will help you be successful. Software development jobs pay very well have included a reference on the slide that states that the average salary for a software developers over $95,000 This figure is from an article I found online from Units News. I should note that this figures for the United States and salaries are very dependent on what part of the world you work in. Many of my students work outside the United States, want to make sure to be clear that this figure is a U. S based figure. Another great factor for becoming a software development developers. The job demand continues to Marine remain strong. Things can change in the future. But right now the demand is very strong. In the demand for software, computer products continues to rise. In addition to being being a good paying job, There's also a potential entry into information technology management, which pays significantly higher. All of these factors make becoming a program or a very sensible job choice. Now we've talked about the the job choice a little bit. Let's talk about the remainder of this class in part one of the class. Look over some of the basic skills you will need to master to become a software developer. Also talked about how to select the programming, the language that you would like to use to gain experience with. Also, talk about the equipment that you'll need to practice your development In the last part of the sectional. Talked about some of the computer science concepts you'll need to master to become an entry level developer. These concepts will drive the training plan that's necessary for you to develop the skills to master these concepts in part to the class I'll talk about. Some of the items will need to go about developing your training plan. Also, talk about the types of training that are available in some of the advantages and disadvantages of each of these types of methods. Also talk about how to get some experience so you have some projects and references you can put on your resume. In the last part of this section, I'll show you how to put together a master plan and budget to pull all this together. Have included some sample master plans and examples that you can download and modify for your own plan. In the last part of this class, I'll talk about how to go about getting your first job. I'll talk about some of the places to go search for jobs and some of the options to help you find leads for jobs. Also, talk about how to prepare your resume, and I've included some sample resumes that you might want to use to help format your own resume. Next, I'll talk about how you prepare for your job interview. Have included some tips for your job interview and that I've learned over my career and things that can possibly help you out. I've tried to include as many as examples as I can for my career that will help you get started with your new career. I've literally interviewed hundreds of programmers during my career, and I'll be able to give you some tips that I know what hiring managers look for when they hire a new programmer. Don't underestimate what it takes to become a programmer. There's a lot of skills to master, and this will require time and dedication to master the necessary skills to become a successful programmer. But don't let that stop you. It's a very rewarding career, and it has a lot to offer. Writing software for a living is a very satisfying career and could be also financially rewarding. So just a short word of encouragement. You can do this time, and dedication and perseverance will help you fulfill your goal. Thank you so much. You, in the next lesson 3. What are the Skills you Need?: okay, in this lecture, we're gonna talk about the skills that you need to become a successful developer. So let's go ahead and get started. So what really are the basic core skills that you need the 1st 1? Perhaps it's not a skill that's maybe more of a virtue, but his patients software development could be very tedious. And being a patient person and developing the patients around working with long and difficult things is a necessity in software development. The next thing is good communication skills suffer development projects are very complex undertakings and require team work. And the teamwork will require communication with your managers, other developers and, most importantly, your customers that are determining the requirements for the software. The next thing is a problem. Solving skills suffer development employs putting logic to code and making that transformation and putting requirements to code. So problem solving is a key aspect. The next one is to anticipate customer needs. There is no software development without customers, and customers require certain features and their software, and you needed it to rely on customers to translate their business needs for what the software needs to do. So this is a critical aspect of software development. Persistence is by necessity of working with something that's complex and will require a lot of time. These projects often take months or years to complete said, being persistent on technical issues that need to be resolved, getting features out the door and working on large and complex projects. Persistence is a mosque. The next one is the ability to adapt to change software, tools and technology change at a rapid pace. So being able to anticipate those changes and adapt to those changes is a critical skill for programmers to develop over time. In the last one on the list is good coding skills, and most people think that this would be first on the list that you need to be a great coder to be a great programmer. Well, it's part of being a great programmer. But without the communication skills and some of the other skills, you might not get a chance to really showcase your your great coding skills. If you're writing code that is not useful to other people, or if it can't be part of a larger development effort, those coding skills will go to waste. So I'll drill down a little bit more, and some of these communication is the 1st 1 Programming really is a team sport, and working within the team is a critical factor to success in your career. One of the things that hiring managers look for right away when they interview potential and programmer is to look for the kind of communication skills that they have and how well that they can interact with the team. This is critical, as most software development projects of any size will have multiple programmers on the team, and interacting with them is a critical work. Skill work is often done off a formal specifications, so in a large project, specifications will be written and signed off by customers and have very exacting and demanding specifications. Where with software needs to do so is a communication skill. Being able to interpret those requirements is a critical skill, as well as being able to ask questions, intelligent questions to customers to clarify exactly what they want the software to do. Development efforts are expensive and time consuming in progress reports to customers and management or critical. So these things are not just routine formalities that are an administrative thing that really outlined the progress of how software development is going. These development efforts are often very expensive, and so these types of reports are very important to the customer and the management, which drives the software development effort. Many systems Air Mission critical to a company's operating in operations and communicating issues. And coordinating fixes can be difficult, especially during stressful times. When something is broken and it's and it's impacting the company operations, they quickly get escalated to very high levels within the company. And often you're exposed to a very stressful situation. So being a good communicator is critical. That problem solving is the next one. So I t projects I've mentioned are often large and complex. So So, uh, fixing things becomes, ah, almost a daily task within a development effort. Soon after you put out new releases, there's often a time where you'll need to make bug fixes from whatever things were introduced during the last release. The next bullet says things break and they dio. And no matter how careful a team is with testing software, things will break in software operations, and things will need to be fixed in a timely matter. Companies need people who can troubleshoot problems on the fly. So it's not just kind of a run of the mill things as usual kind of day for most software developers. You don't most of the time get the luxury of just writing new code. You have to fix code that sound in production. So, um, problems. They're just not limited to bug fixes. So many, many times unanticipated things happen, and programmers are expected to jump in and help wherever they can. Unfortunately, many times these problems come during difficult times. They come over holidays and weekends, and particularly now that security threats have gotten much worse on software, projects and and environments. Many times you might get called in the middle of the night, depending on where you work or what kind of projects you have, or on the weekends to come fix things. The other issue that you can come about is that many companies scheduled maintenance periods to be during off time so it doesn't impact their operations so we can, and nighttime work can be a part of software development. The next thing is to anticipate customer needs. All software development projects have customers like it or not, you have to live with customers, even though they might be internal those of the people who determine the requirements of what your software needs to do. So These are the people generally to pay for development efforts, so it's often critical that their demands are met. Otherwise, sometimes if it goes poorly, project might be cancelled. So understanding customer requirements is critical to success. Understanding what they need and translating that into software. Um, is really an art that you have to develop over time and also customer needs change over time. A lot of times, what was originally anticipated has to change, and it may be due to changing market conditions. Changing legislation, um, different technology. So things will change. And it's best to try to embrace customer changes in the most reasonable fashion. Customer service is important to your career. So how you treat your customers has a big impact on your promote ability within the organization. So keep that in mind that customer service is really a huge part of software development. Persistence is the next one. Fixing problems in a complex software system can be long and frustrating. Difficult problems were assigned to the most senior developer. So when things break that are critical, the most senior people are assigned to fix them. Many times, multiple approaches have to be taken because the first approach may not work. So persistence and staying with a problem a problem. It is a skill that you really need to master. Developers who can consistently fix complex problems are rewarded. Those that show the ability to really fix things on the fly are often promoted to more senior positions. Next thing is adapting to change. A change in the I T and software development business is constant, so the pace of change is is ever increasingly accelerating. New software and techniques come out almost daily, so so keeping up with those things is a definite skill that you will need to master. Customer needs change frequently, so so your software will need to change frequently with it. Software must respond to market changes or else or else your company may get left behind or your product will get passed up by somebody else and the last bullet on here. Your skills must reflect market demands in these change over time. So as the most popular languages and technologies change. You'll need to adapt those to be able to be marketable for your next position. The last one is last but not least, good coding skills. It's an absolute must that you are have the ability to put requirements in the working code . Mastering the the use of the bugger within the development environment that you're using is also a critical skill, the ability to produce code that's understandable by others. It doesn't matter if if you think it's the greatest thing ever. If you can't explain it to the other people on your team, it will have limited value to a project. So, uh, really need to spend some time understanding how to construct things that are repeatable, unexplainable to others. You need to be able to form a like complex logic and workflow. So trains again translating customer needs into working code. The last bullet on here's programs must be repeatable on reliable, so quality and repeatability are huge metrics and software. Since most of the time, these systems now are running 24 by seven. So in summary, software development requires a number of soft skills and being a good coder just being a good cutter is not enough. Get communication skills will help your marketability and really help you move up the ladder from a more junior position to more senior position. I'm going. Training and education are necessary in this field. You should enjoy the process of learning new technologies and be able to employ that over time. It will greatly help in your success in your career. In the last bullet is to be prepared to take on new challenges. This is, Ah, a field that this is constantly changing said the ability to take on new challenges and take them on with a good attitude is a huge advantage in this. So I hope you've enjoyed this lesson and this pretty much wraps it up for this lesson. And I'll see you in the next lesson. Thank you very much. Yeah. 4. What Concepts do I Need to Master?: in this lesson, I will talk about the concepts you need to master in order to become a successful programmer in order to become a successful programmer, to be able to produce working code and to contribute to software development projects there . Number of concepts you need to master their number. Fundamental concepts that are core to developing software. Listed on the slide are eight key concepts. These include requirements analysis knowledge of database management systems in HTML for Web development. Also included on the list are Basic Net networking concepts software testing in knowledge of the Software Development Life Cycle, or STL. See the last two items on list are object oriented programming and detailed knowledge of your particular programming language of choice such a C sharp Java or PHP. There's certainly other concepts that could be included depending on your career track, but the list on the slide represents the core of a foundational starting point. In the next few slides, I'll go through each one of these in more detail. Require the requirements. Analysis is a great place to start with requirements. Analysis your recording exactly the features that the customer desires in your software product. This can be difficult to do because oftentimes customers did not know exactly what they want. An experienced programmer can help customers to determine their exact requirements and lead to a successful project. This could be done through such techniques, says use cases, mock ups, prototypes and user stories. Many systems today or Web based systems. Much of the data behind these Web based systems is stored in a database, and much of the code is devoted to interacting with the database from the website. In order to effectively develop designed these programs, you need to have a command of fundamental database concepts. These include database design, normalization in SQL or structured query language in the syntax. For select statements, insert statements, updates, statements and delete statements. You also need to master some type of programmatic access to the database from your programming language of choice. These include such technologies as video dot net, the entity framework in the Java database, Connective ity or J D. B. C. In order to effectively write code, you also need to met master basic administration skills for a database. This will allow you to create new databases, back them up and restore them another fundamental concept that programmers need to master is HTML or hypertext markup language. HTML is the basic building block of all Web based systems and production today. Skills that you'll need to master are the basic syntax of HTML design layouts with HTML in the document Object model or D O. M. We'll need to understand such concepts as field validation and integrating JavaScript into your HTML code. Most programmers today also frequently use JavaScript libraries such as the J Query Library . This is also a necessary skill. Most of today's software products either interface with the Internet or a local area network. This means that programmers need to have a basic understanding of how networks function. You'll need an understanding of how to interact with servers on a local area network or a wide area network. You also need to understand HTML protocols and how they interact over the Internet. You also need to be familiar with the I P addressing scheme used on the Internet, as well as the DeWayne Navy name service, or DNS. Another aspect of networking that you'll need to be familiar with is how mobile devices interact with networks in their ability to periodically connect to a network. This results in special techniques that mobile devices need to be able to use to connect to the Internet. This capability is called store and forward is a very common need for these devices. One of the most common areas that's overlooked in software developing training is the area of software testing. Even though this area is often overlooked, it is one of the most important activities in the software development project. Delivering quality software There's reliable is a primary goal of almost every software development project. Programmers need to understand such concepts. Is unit testing functional testing, integration, testing in user acceptance testing or you 80. Without an effective software testing function, it's impossible to deliver quality working code. The next area to understand is that of the software development Life Cycle, or STL. See. The STL See process defines software development teams. How they use this to produce working code. There are many different process models that sell for development teams use some of the more common methods are the agile methodology, the scrum methodology in waterfall development. Many companies will use their own proprietary model developed software, but these air, generally based on one of the methods mentioned above. Programmers must be familiar with these processes in order to be effective in a software development project. These processes defined what programmers do on a daily basis in their job. Most of today's programming languages air based on object oriented models. Because of this, programmers need to be familiar with object oriented programming and design concepts. Included are such common concepts as objects and classes, Inheritance polymorphism and in Capitalization. The last but not least area that a program he needs to be familiar with is their programming language of choice. You need to understand the syntax of your chosen language, such as java or C sharp, and be able to translate requirements into working code based on the syntax of your language. This will require quite a bit of practice to master the syntax of the language of choice. In summary, there are a number of key concepts that a programmer needs to master. This may sound like an overwhelming list, but if you're able to master these concepts, you only able to function as an effective programmer. This will allow you to meet customer expectations in terms of delivering the required features of the software building software on time and building an on budget in the next few lessons. All layout where you can get to training to master these concepts and how you can practice thes for the required certification test. This concludes this lesson on concepts. I hope it gives you an idea of the concepts you'll need to master in order to become a good programmer. Thank you so much. And I'll see you in the next lesson, Yeah. 5. What Equipment Will I Need?: This'll Essen. We'll talk about the type of equipment that you will need to develop code and train on in terms of the equipment that you'll need. The first thing you'll need is a computer. You'll need to decide what is best for you. A desktop computer or a laptop. My laptop has the advantage that this is a mobile device, and you really can develop anywhere but a desktop. Devices generally faster and allow you a better long term environment for writing code. You can also use a hybrid environment by using a fast notebook computer and then attach a large screen monitor to it when you're at home to have much more comfortable environment to develop code on. You'll also need periodic access to a printer to print out materials to help you train for your coding exercises, He may find that you can do without this. If you're comfortable reading long articles on screen, however, many people find that they prefer printed material over reading material on screen. This choice is really up to you. The next time you need to consider is what software you will need. You'll need a base operating to system to run your software development environment, tools, office automation software and backup software. Detroit's will depend on the programming language you decide to develop on how cover this more in more detail in the upcoming slides. The last item you'll need is some basic home networking equipment. You will need access to the Internet, and you'll need to decide if you have a notebook computer as your computer of choice. You also need a wireless connection to make your development environment portable. Fortunately, home wireless connections air very affordable and now easy to come by. Next, you'll need to decide on your preferred programming language. Some of the more common choices for programming languages are Java from oracle dot net platform from Microsoft or the lamp platform, which is really Lennox my SQL in PHP. If you're going to develop for the Java platform, you can either utilize Windows Operating system or Lennox. If you decide to develop with Microsoft dot net, you really have no choice but to develop on the Windows platform. Also, if you decide to develop for the lamp platform, you really need to run, Lennox says. Your development computer, another consideration is decide whether you're going to develop Web based applications software for mobile applications or desktop software. If you decide you're going to develop, mobile applications will probably need several physical devices to test your software on. Although you can use emulators for this, it's best to run final tests on actual physical hardware to make sure they work without any issues. Here's some pitfalls to avoid When you're building your development environment, I can't emphasize enough that you'll need to get the fastest computer you can possibly afford to develop. Code on Developing on old hardware and software will only lead to frustration and present a huge hurdle for you to overcome. Most of the software vendors now have free development tools that you can download from the Internet. Examples of this are Microsoft visual studio community Addition, the Eclipse Environment for Java in tools for Lennox and lamp development. I'll include links for these on how to get these tools as an attachment to this lesson as far as the hardware necessary. For a typical dot in an environment, you'll need a PC with the minimum of an I five processor, although in I seven processor equivalent is preferred, you also need a minimum of eight gigabytes of RAM, although again 16 would be better if you can afford it. Windows 10 is the current operating system and probably the best environment for the current dot net development, Although you could use Windows Server 2012 if you're using the cloud for development environment, you should also get a one terabyte hard drive for installing software such as visual studio community Addition, 2015 Microsoft Sequel Server Express. And you can use visual studio team services for source control. Next. For a typical developed Java development environment, you should have the choice of using a PC or a Mac. Either one of these should have at least a night five processor or better. You'll need eight gigabytes of RAM on your computer, although once again, 16 would be better if you can afford it. After getting your PC, you can download Install Eclipse for free, as well as the my sequel database from Oracle. You can also use visual studio team services for source control. Even though it's a Microsoft product. It's also a free Web based product for the lamp environment. You can probably get by with a little less processor since the Linekar clinics. Operating system is very lightweight in terms of resource is there are many varieties of Lennox operating. Such is a boon to Red Hat and others. You'll have to decide which one is best for you. Your last consideration for your development environment is to consider building your development environment in the cloud. Microsoft Azure and Amazon AWS both offer reasonable hosting fees to build your development server on. You can build a very fast machine and only pay for the server when it's running. By doing this, you can build a much faster machine in the cloud and simply turn it off when you're not using it. Both Microsoft and Amazon offer free packages to get started. However, these machines are typically not fast enough to run complex development environments. Another advantage of developing cloud based servers is the Internet. Connection to these machines is extremely fast, and downloading installing software is significantly faster in the cloud that on your home computer I'm currently doing this and I found my productivity has increased significantly. Another advantage of doing this is you will not have to invest in a fast computer, simply rented time on the cloud and pay for what you use. I highly recommend you do this. If you do this, make sure you turn the computer off when you're not using it as these vendors charged by the minute for a running computer and currently spending about 20 to $30 a month to run my development server on Amazon AWS in summary. Just a few tips for you As you build your development environment. The 1st 1 is defined the fastest hardware you can afford as he just development tools Use a lot of resource is, and you'll be frustrated with the slow development environment if you do not get a fast computer. I also highly recommend that you look at cloud alternatives to lower your costs and increase your compute power. Also, make sure you keep your software tools up to the latest version. This again will help minimise problems that you encounter along the way. Another tip is to utilize source control so you can store the code your as your practicing . Along the way, you can use such tools as a like visual studio, team system, code plex or even dropbox. The store your source code. After investing a lot of time of writing code. You don't want to lose it. By not having impact up in a proper location. This can complete concludes a lesson. I hope I have given you some good information on building your development environment. Thank you very much. And I'll see you in the next lesson. Thanks again. 6. What Investment Will I Need?: in this lesson will talk about the types of investment that you'll need to be able to complete a program that give me sufficient background To become a successful programmer, you'll need to be able to make an investment in three key areas. These are an investment in time support and also a financial investment. The first area to look at is an investment in time. You'll need a substantial amount of time and commitment to be able to complete all the training necessary to become a programmer. The next area is you'll need support from your friends and family to make this happen, do not overlook this areas. It will be important, since you'll need a substantial time commitment, it self discipline to be able to complete the training. The last area is in terms of a financial investment. You'll need to invest some amount of money to be able to purchase the necessary equipment, purchasing books and also some online training or invest in a programming boot camp. It's not possible to complete this training with $0 investment. You can, however, minimize the amount of money that you need to invest in the training. But thinking that you can complete a program of this complexity without any financial investment is not realistic. I'll drill down to each one of these areas and a little bit more detail. The first is an investment time. Majority of your time will be spent studying materials in practicing coding. This area will require a lot of self discipline. It will help have a regularly scheduled time and place that you can work on your programming skills. It will be ideal if you have an officer, a study area where you live. That could be a dedicated space. It will be quiet in a great place to work regularly on your training materials. In terms of time, it's better to schedule or regular time to work on materials, much like a standard class. It's easy to let other priorities drive your schedule and fall behind on your training. Try to think of your end goals in mind as you're studying each day to prepare for your new career. Support is one area that I think many aspiring programmers often overlooked, hasn't going back to school in a traditional program. You'll need your friends and family to help encourage and support you as you proceed throughout, your training would be ideal to find a mentor, somebody who is already working as a programmer that can help you. You might also reach out to the local programming groups or a club that you might join so you can begin to network with people already working in the industry. You'll find some people they are already working the industry or oftentimes willing to help you. The next area will talk about is the financial investment you'll need to make in order to become a programmer. I've had many of my students over the years believe they can do this by just looking at materials over the Internet and not make a financial investment. I've never known anyone that's been able to accomplish this without at least a minimal investment of money. First and foremost, you'll need a very good computing environment to develop code. We'll talk about this later less, and I'll show you some alternatives that could lower the costs you'll need to invest in equipment. Unfortunately, developed code you'll need a very fast computer. Using an old computer with a slower processor will only lead to frustration. I will include some additional estimates of costs in the planning section of this class and summary. You need to be realistic with yourself and what you can commit to in terms of time and money to complete your training will develop a plan and the timetable on an exercise. Later in this class, he'll be able to write down all the details you need to complete your plan. Once you develop your plan, you'll need to stick with it and work diligently to make it happen again to encourage you. Think of your end goals in mind. This is a growing field with very high paying jobs that will allow you an opportunity for an excellent career. Stick to it. You can do it, Thank you so much and I'll see you in the next lesson. 7. Where Can I get the Training?: I think this lesson. I'll discuss options for getting training to become a programmer. There are several options available today, so each of them have advantages and disadvantages. So let's get started. Training today can come from multiple sources. These include such sources as books, instructor, led classes, online classes, thunder product demonstrations and mentorships. I'll discuss each one of these in more detail. Buying books or reading books online is one of the traditional ways of learning is a great way to get started on the topic. Books They're not nearly as expensive isn't as instructor led training in many books include Web based formats that air downloadable books sometimes include companion websites with downloadable content. I would think such content is tips and sample projects. There also used books, which are significantly less expensive than new books. The major downside of books is that many people find them boring and many people prefer Web based video training classes that are popular today. I found that a mixture of several different training methods works best for me. Instructor like classes air probably the most expensive option, but it's a time tested way of learning many cities around the world also offered boot camps and these types of classes that are very short and very focused on delivering software development skills. Some of these programs leaving guarantee that you'll be able to be placed in a job after completing training. These programs tend to be very expensive, and you need to be careful about researching the program before you commit funds. You also want to research the reviews of these types of programs online and also consult the Better Business Bureau of possible to determine the credibility of these types of programs. Another inexpensive way to get started with instructor led classes as you may want to look for adult education classes that are taught is continuing education. These classes tend to be significantly cheaper than traditional college classes and really are a great way to get started. Another method to get your training is is the use of online classes such as this one. There are literally hundreds of sources that are available on the Internet that offer online classes. Options range from single classes to subscription based models. The major disadvantage of these classes is you often do not have direct access to the instructor to help you with labs and programming practice. The other limitation both most of these classes is that it's up to you to implement the coding exercises on your own computer without any help from an instructor. This could be a better, overwhelming and sometimes for a new student, and it causes them to become frustrated. If you can find a mix of both on premise classes and online classes, this will probably be the best option to give you both an affordable option with the online classes and hands on training with the on premise classes. The last option to consider if you've completed your initial training is a mentorship program. These programs are somewhat difficult to find, and you generally have to be selected from a pool of applicants. But many programs pay you as an apprentice in the program, and you can learn to code from a senior developer have included some examples of these types of programs as links in the supporting document to this lecture. This approach is generally much better after you've already completed some initial training . The last area will talk about is getting training through vendor product demonstrations. Many vendors hold free product training sessions throughout the country. Vendors such as Microsoft and Oracle regularly provide training on their latest software. Development. Tools and techniques have also provided some links of these programs, where you can look at the schedule of events as well as some of their free online offerings as well. This is also a great way to keep up with new development techniques they're being offered by various vendors in the previous material have outlined several different types of training sources. Each of them have their advantages and disadvantages, and you'll need to consider these as you develop your training plan and budget. Developing this plan and budget is an exercise that I've included in this class. Your budget and your timetable will help shape the types of training you can afford in terms of time and money. Our sample training planes that we've included will also help you decide which training is best for you. This concludes this lesson. I hope it's giving you some good ideas for your training plan that you can include. Thank you so much and I'll see you in the next list 8. Java .NET or Something Else: Hello. In this lesson, I'll talk about selecting a programming language to get started with, so let's go ahead and get started with lesson. When you first get started, you should focus your development efforts on a single programming language. Once you become accomplished in one programming language, it's much simpler to learn a new language after this. Some of the most common platforms on the market today are the Microsoft dot net platform job from Oracle and the Lamp Platform. I refer to these as platforms, since in many cases they're more than just a programming language. They're also some other platforms that are becoming more popular today, and I'll talk about those and a little bit more detail later. Now go through each one of these platforms in more detail. One of the most popular platforms is the dot net train work for Microsoft. It's based on the DOT net framework and issues primarily for developing applications for the Windows operating system. Although recently Microsoft has developed a version of the DOT net framework for cross platform development, it's still primarily used for Windows based development. One of the unique things about the dot net framework is it supports multiple programming languages. Such a C sharp visual basic, F Sharp and others. C Sharp is very similar to Java, and it's one of the more popular languages supported by dot net A s p dot net is the language used for Web development. DOT NET can also be used to develop desktop applications service development through W, C, F and mobile applications. Microsoft has recently added much more support for mobile application development through some key acquisitions. Such Azam aren another popular platform on the market today is Java. Java was originally developed by Sun Microsystems, but that company was purchased by Oracle in 2010. Oracle now maintains and distributes Java products. Java is based on the job of virtual machine, or JBM. One of the unique things about Java is it can run on multiple operating systems. This means you can develop software for Windows machines, Lennox machines or the Apple IOS operating system. Jonah can also be used for Web development through Java server pages. You can also be used to develop desktop applications, enterprise applications and mobile applications through the use of Android studio. The next platform will talk about is the lamp platform lamp targets software development for the Lennox operating system. Lamp utilizes the Apache Web server, the My SQL database and the PHP programming environment. All of these air free tools to be downloaded from the Internet. You can purchase support contracts from commercial companies to help you run and maintain these environments. This software is very popular in university environments, nonprofit organizations, government organizations and also some commercial applications. The free licensing cost is very popular for many organisations who choose to implement this software. There are also many other platforms out on the market today. These include languages such as Drew Paul, older Legacy language languages such as COBOL, and new cloud based platforms such as salesforce dot com and Microsoft Dynamics. However, the languages I covered earlier constitute the majority of the software development market today. Software, languages and techniques are constantly changing, and you should be prepared to take advantage of new opportunities as they come about successful programmers engages lifelong learners, so you should be aware if you pursue a career is a programmer, it will be constantly required to learn new languages and techniques as they change. So with all this information, how can I choose the development language well, first, you should review vendor information on the programming languages I've just described. You should see if any of the information their appeals to you and something you might wanna pursue as a career next. You should look at the local job listings to see which types of programmers are in demand in your area. You can talk to some local staffing agencies to get their recommendations to see what companies are hiring with the particular language. You could also check with some of your friends and family to see if they know what languages air being used. Attire. Workplace. Finally, you could check with local universities to see what languages they teach, and this also might be a good clues to what languages are in demand in the local area. In summary, your first programming language will be highly useful in getting your first job. Haver. After that, things may change after you get your first job. Technology is constantly changing, and they'll be opportunities to learn new technologies as their rolled out. You should be prepared to take advantage of these new technology projects as they often lead to higher pay and possibly promotion opportunities. Don't worry about learning a second programming language. It's far easier if you've learned your first programming language. Remember, this is an industry that changes very quickly, and you should expect change. This concludes this lesson. Hope it's giving you some good thoughts on which programming language to choose for your training. Thank you so much. And I'll see you in the next lesson, Yeah. 9. Entry Level Certifications: in this lesson will talk about entry level certifications that are available for programmers. The certifications are available from a number of different vendors and will depend on the technology track that you have chosen for your training. Let's talk about some of the details of each of these. Since you're applying for a job without a formal degree, certification will be much more important for you. The certifications will indicate to an employer that you have proven basic skills with particular product or development toe. These products and certifications change over time, so it's important to keep up with these as products change. Next, I will talk about some basic certification for Microsoft dot net, Oracle's Java PHP and some other types of certification. First area of certification will talk about for this is Microsoft dot net in their Microsoft Certified Solution Developer certification. In order to obtain this certification unit, need to pass three exams. These are programming in HTML five, with JavaScript developing with s p dot net NBC and developing with Microsoft Azure have included a link where you can get more information on each of these. The next area of included is some information about Java certification. The entry level job a certification is called Java Foundations Certified junior developer associate have included a link for more information on the job. A certification program next one is PHP, and they all also offer several certifications that you can obtain. This includes the certificate from the W three C school, which includes by Sequel and also the Zen PHP certification. I've also included links for these as well. There are other certifications you can pursue is well. These include certifications for cloud based operations, such a salesforce dot com, Microsoft Azure, Amazon AWS and several notable certifications. I will include links for these, as well as an attachment to this lesson in summary entry level certifications exist for all the major platforms. The certifications air very useful. When you don't have a degree or much experience in, you're looking for your first job. Many of these certifications have low cost, Web based training to help you study for the exam. Certification needs to be combined with hands on experience to be the most effective. Some of these exams can even be taken over the Internet. This concludes our lesson on certification. I hope it is giving you a good starting point for planning certifications on your master training plan. Thank you so much. And I'll see you in the next lesson. Yeah. 10. Writing Your Resume: okay, and this lesson will talk about writing your resume. I'll give you some tips on writing your resume and what information is useful to include in your resume. So let's go ahead and get started. Your resume is the first thing in HR department or an employer will see from you, and you want to make a good first impression. It's important to give this document a professional appearance. You might want to consider getting some help online or for a recruiter that are oftentimes happy to help you. Since you're applying to become a software developer developer, you'll need to highlight specific languages and platforms you've worked on. This might be difficult since this is your first job you're applying for, but you can highlight languages and platforms that you've worked on during your training experience. Project experience is also very important again. Since this is your first job, you should be able to include projects that you've worked on in a classroom setting, or perhaps a project that you volunteered for. Any type of project experience is important because it tells hiring managers the kinds of things that you've had access to. While you were training you should be able to find online templates from Microsoft and Google for resumes. Hell include links for these and some of the things I found on the Internet as an attachment to this lesson. One of the other things you might consider is constructing a Web based resume. Wix offers a free service for this, and I will include a link to the unrest online resume that I have constructed. Another tip is linked in Can support an export of your profile as a PdF, and this can be useful is a resume as well. Some other useful tips for your resume are the following. Since this is an entry level position, keep your resume to one page of possible. Once you have more experience, it's okay to have a longer resume that highlights your project experience. Be sure to include all relevant contact information in your resume. This should include your email. Address your cell phone number, your linked in account linked to your online resume if you have one and any links to sample projects, if you have them in summary with a little work and research, you can make your resume stand out and look very professional. I've attached some sample resumes for your review, and I hope they help you with preparing your resume. This concludes this lesson on resumes. I hope it helps. Thank you so much. And I'll see you in the next lesson. 11. Get Some Experience First: Hello. In this lesson, I'll talk about how you can get some experience. Still have something to put on your resume before you get your first job. Many people find this area to be particularly difficult. Have or I think, with some some of the ideas in this lesson. You should be able to get some reasonable experience without too much difficulty, so let's go ahead and get started with lesson. The following is a list of some of the areas where you might be able to get some additional experience prior to looking for your first job. The first area is to look for some work as a volunteer in a local organization. Many and non profit organizations are always looking for people to help them with their operations. The next areas to develop your own application and posted online so you can demonstrate it to employers if necessary. And in addition to developing an application, you could also develop your own website and opposed to for employers to review as well. Also, if you're working in a boot camp for taking some on premise classes, many of these programs will offer a capstone project as a final phase of the training, and you can point to this area as experiences. Well, I look good. I'll not go through each one of these in a little bit more detail. And in order to get some experience, many volunteer and non profit organizations offer an ideal opportunity to get some real life experience. These organizations can include churches, school organizations, clubs and local nonprofit organizations. Many of these organizations need website development, basic I t support and perhaps could use some help with mobile applications. In addition, school clubs and PTO organise the organizations present another opportunity to get some experience for the next area. To get some experience, you could develop your own application and posted online so you can showcase your skills to potential employers. Both Microsoft Azure and Amazon AWS offer free entry level trials to their services that could be used to build an online application that will prove to employers your basic skills . Both of these services offer our tutorials on how to get started with their services. In addition, if you're reclaiming becoming on planning a mobile application developer, you could host a simple application to the iTunes store or the Android Google play website . This is, however, a bit more complicated in iTunes required to be registered programmer, which I believe costs around $200 to get started the next area. In addition to developing a sample application, you could also start developing a website to showcase some of your development skills, their multitude of websites and services that offer free entry level programs to develop websites. These include Wicks, Amazon and also Microsoft. You can also check out my Microsoft's azure free student account and see if you meet the criteria for that account in summary. There a number of ways to get experience, but you'll have to get a bit creative in order to showcase Thies to employers, many nonprofit organizations will be happy to accept volunteers, and they have really t needs that need to be addressed. Once you've created some of these projects, make sure you showcase him on your resume or on a website so you can show them to potential employers. This concludes this lesson on getting some experience. I've hope it's giving you some ideas on what types of projects you can include along the way, while your training and I thank you so much and I'll see you in the next lesson 12. Where to Look For Jobs: in this lesson would go through some tips somewhere to look for jobs. Well, look a several different sources that you can look for for jobs and how you can best communicated potential employers. So let's go ahead and get started when you first start looking for a job. There's a ton of information on the Internet, but it's overwhelming. For first time. Job Seeker will review four different places that offer different opportunities for job seekers. Let's go through each one of these in detail. The first site that I'll cover is linked in LinkedIn is a great way to build your professional network. Recently, they've also added job postings to the side as well. It's a very active place for potential employers. Start by filling out your profile and make sure it's complete. Next, you can start building your network by including professional references and people you work with. Also, job recruiters can be included on this side as well. Not only is the site useful for finding your first job, but it may be very useful in finding other career opportunities throughout your career. Clinton also has the capability of exporting your profile to pdf file and can really be used as a resume as well. The next site will talk about is monster dot com. Monster is one of the major job posting sites, and there are many others, like Monster, out on the Internet as well. Monster will be able to help you target jobs by classifications as well as by geographic area. A lot of information will be generated from the site for you, but you need to make sure to keep up with email and phone calls from job leads. One often overlooked site for jobs is Craigslist. This site typically only post entry level jobs but me it but may be a great way to get started with the help desk position or a support position and then be able to work your way up. Another great way to look for jobs is through the use of a recruiting service. Check the local ads to see what services are available in your area. You can also check with your friends and family to see if they have any recommendations, which services they think are particularly good. If you're attending a programming boot camp, you can check with your instructor to see what services they might recommend and summary. You'll need to have multiple sources to be able to get the right job. Keep a log of all the places you've contacted and all the people you've talked to, so you not get confused when they call you back. You may need to start with the support position and work your way up to a programming position. Try to enjoy this process, even though it might be frustrating. And after getting your first job, don't worry. This process gets much easier. This concludes this lesson on where to search for jobs, I hope has given you some good tips and a Canadian in your job search. Thank you so much and I'll see you in the next lesson. 13. Interview tips: Hello. After you complete your training, you want to get ready to go on a number of interviews to get your first job. In this lesson, I'll go over a number of interview tips that can help you during this process. So let's get started. The following tips Air Based on my experience in both giving interviews and being interviewed over a number of years, this process can be very nerve racking, especially when you're going through it for the first time. The only way to get better at this process is through practice. After you've interviewed a number of times, you become much more comfortable with the process. My number one tip to have a successful interview is to show up early. Being late for an interview is a disaster. No matter what your excuses, it's almost impossible to overcome being late to a job interview. This makes a very bad impression on employers. In addition, you'll feel rushed, and you're not be able to perform at your best. If you show up early, you're able to sit and focus before your interview will give you time to relax before you begin the interview process. Also, by showing up early. It shows employers that you're conscientious and are able to keep your commitments. Another thing you have to overcome with an interview is nervousness. It's very natural to be nervous for an interview, and I found, If you're very nervous, it's better to just tell the interviewer that you are. It will help you relax during the process if you go ahead and admit that you're nervous and allows the employer to see a very honest and open side of you again. Being nervous, convey overcome through practice. My next tip is, to be very honest while answering questions. If you don't know an answer, just say so. Faking it in a technical interview is very bad. Most technical hiring managers know when somebody's making up an answer, and it leaves a very bad impression simply not. Knowing the answer is not necessarily bad. You could just tell them you haven't been exposed to that particular concept, or if you don't know something, perhaps you can expand on. But just admit that when you don't know something, it's far better before your interview. You should research the company you're interviewing with. It leaves a very good impression if he knows something about the company, and you've done your homework beforehand. It shows the company that you have initiative and are willing to give the extra mile to get things done once you begin your interview. Questions to remember is software development is really a team sport and make sure you come across as a team player. Most software development shops employed quite a few people and working with the team members critical skill to be successful, If you can be sure and mention other jobs you've worked on that reflect your team skills as faras dress. Many crooners were would tell you to wear a suit and tie or business formal attire to an interview. Most software shops today are not that formal, and it's probably more appropriate for an entry level programmer to dress business casual. But I'll leave that up to you. Another nice touch for in interviews to follow up with the written card to thank them for their time after the interview. This may sound strange, but it will leave a good impression with your perhaps future employers. My last tip is to try to be yourself and have fun with the process once again, I want to emphasize that this process will get easier over time. I've attached some sample interview questions, and many of them are non technical questions. The's nontechnical questions are very important to hiring managers, so please do not ignore them. This is the last part of the lesson. I hope I have given you some good tips to prepare for your interview and good luck with the process. Thank you so much and I'll see you in the next lesson. 14. Summary: Thank you so much for attending this class. If you have questions or comments, please post them in the class discussion, not get back to you as quickly as possible. A lot more material to end resource is to this classes. I find them. So please look for updates. Has all periodically post new material to the class again. Thank you so much. And good luck on your new career. Thanks again.