How to Change Career in 2019
Many People are not happy with their current Job and think to change career. In this blog, I explain How to Change Career in 2019 and choose a better career option in your life.
In this blog, I’ll take you through the process of deciding what you want to get out of your software development career and how to change your career.
Having a business mindset
Most software developers starting out in their careers make a few huge mistakes. The biggest of those mistakes, by far, is not treating their software development career as a business.
Don’t be fooled; when you set out into the world to write code for a living, you’re no different than the blacksmith of old times setting up shop in a medieval town.
Times may have changed, and most of us work for a company, but our skills and our trade belong to us and we can always choose to set up shop somewhere else.
This kind of mindset is crucial to managing your career because when you start to think of yourself as a business, you start to make good business decisions. When you’re used to getting a regular paycheck that isn’t really dependent on your performance, it can be easy to develop a mindset that you’re just an employee of a company.
While it’s true that you may be an employee of a particular company at any given time in your career, it’s important to not let that particular role define you and your career.
It’s better to think of an employer as a customer for your business of developing software.
Sure, you might only have a single customer, and all of your revenue may be coming from that single customer, but viewing the relationship this way moves you from a position of powerlessness and dependency to one of autonomy and self-direction. (In fact, many “real” companies have one big client that makes up a majority of their revenue.)
TIP This is the first thing you must do in your career: switch your mindset from that of an indentured servant to a business person who is running their own business. Just having this mindset at the start will change the way you think about your career and cause you to be mindful and present in the active management of it.
Career Change Tip 1:
How to think like a business
Now, just thinking of yourself as a business doesn’t really do you much good. You have to understand what it is to think in this fashion if you want to get any benefit from it. Let’s talk about how to think about yourself as a business and what exactly that means.
We can start off by thinking about what makes up a business. Most businesses need a few things to be successful. First, you need to have a product or a service. A business without something to offer doesn’t have a way to make money, because they have nothing to sell. What do you have to sell? What is your product or service?
You may very well have an actual digital product to sell as a software developer—but most software developers are selling the service of developing software.
Developing software is a wide term that can cover a variety of different activities and individual services, but in general, software developers are selling their ability to take an idea and make it into a digitized reality.
NOTE The service you provide is to create software.
Just thinking about what you offer as a business in this way has a profound impact on how you view your career. Businesses are constantly revising their products and improving them. You should too.
The service you provide as a software developer has a tangible value, and it’s your job to communicate not only what that value is, but what makes it different than the offerings of thousands of other software developers out there.
That brings us to marketing. It’s important to at least realize that having a product or service by itself is not enough. You’ve actually got to be able to let potential customers know about that product or service if you want to make any money.
Companies all over the world realize this key truth about business and that’s why they spend so much money and effort on marketing. As a software developer offering your service, you also have to be concerned with marketing.
The better you market your offerings, the higher price you’ll be able to charge for your services and the more customers you’ll potentially be able to attract.
You can imagine that most software developers starting out don’t think about their careers in this way. Instead of starting out with a bang, they enter the scene with a barely audible pop. So don’t do what they do.
Career Change Tip 2:
Focus on what service you’re providing and how to market that service.
Think about ways you can improve your offering.
Think about how you can specialize the service you’re providing to serve the needs of a particular type of client or industry.
Focus on being a specialist who provides a very specialized set of services to a very particular type of client. (Remember, as a software developer looking for a good job, you only really need to land one client.)
Also, think about how best to spread the word about your service and find your customers. Most software developers create a resume and blast it out to companies and recruiters. But, when you think about your career as a business, do you really think that is the best and only way to prospect potential clients?
Of course not. Most successful companies figure out how to get customers to come to them to buy their products or services; they don’t go out chasing customers one by one.
Even without getting into the specifics, the point is to think outside of the box and start thinking like a business. What is the best way you can attract customers and how can you tell them about the service you have to offer? If you can answer this simple question, you’ll start off your career with a bang.
Think about a business that has a product or service they offer. How do they differentiate and advertise that product or service?
If you had to describe the specific service you can provide a prospective employer or client in a single sentence, what would it be?
How does treating your career like a business affect the way you Do your work
Look for a job or new clients
Thinking about the future:
What are your goals?
Now that you’re thinking about your software development career as a business, it’s time to start defining the goals you have for this business.
Not everyone is alike. You might have a very different set of goals for your career than I do, but if you’re ever going to achieve any of those goals, you have to know what they are.
This is, of course, easier said than done. I’ve found that most people, software developers included, drift through life without really having a concrete realization of what their goals are or what they’re trying to accomplish in life.
This is the natural state of most human beings. We don’t tend to give enough thought to what to focus on and as a result, our steps lack purpose or direction.
Think about sailing a ship across the ocean. You can get into a ship and raise your sails as most people do. But if you don’t have a clear destination picked out and you don’t take steps to steer the ship in that direction, you’ll just drift aimlessly at sea.
Perhaps you’ll end up sailing your ship by chance to an island or other land mass, but you’ll never really make any solid progress until you define where you want to go. Once you know your destination, you can use all of the tools at your disposal to actively steer the ship in the direction that will take you there.
It seems pretty obvious, yet so few software developers ever define goals for their career—why? I can only guess, but I’d say that most software developers are afraid of committing to a long-term vision for their career.
They want to leave all options open to them because they’re afraid of choosing one path and going down that path. What if it’s the wrong path? What if I don’t like where it takes me? These are scary questions indeed.
Some developers haven’t even given it much thought at all. Left to our own devices, we tend to follow the path that’s laid out for us. It’s a much more difficult job to create our own path, so we just don’t do it.
Instead, we take the first job we get an offer for and stay at that job until a better opportunity comes along or we get fired—I mean “laid off.”
Whatever your reason may be for not defining goals for your career, now is the time to do it. Not tomorrow, not next week, but right now. Every step you take without a clear direction is a wasted step. Don’t randomly walk through life without a purpose for your career.
Career Change Tip 3:
How to set goals
Okay, so now that I’ve convinced you that you need to set goals, how do you do it? It’s easiest to start out with a big goal in mind and then create smaller goals along the way that will help you get to the bigger goal. A big goal is usually not very specific, because it’s hard to clearly define something that’s potentially very far off.
But, that’s okay. You don’t have to be specific when you define a big, far-off goal. Your big goal has to be specific enough to give you a clear direction in which to travel.
Your big goal should be something not too specific, but clear enough that you can know if you’re steering toward it or not. Think about what you want to ultimately do with your career. Do you want to become a manager or executive at a company? Do you want to go out and start your own software development business someday?
Do you want to become an entrepreneur creating your own product and bringing it to market? For me, my goal was always to eventually be able to get out on my own and work for myself. setting goals
It’s really up to you to define what your big goal is. What do you want to get out of your career? Where would you like to see yourself in 5 or 10 years? Go ahead and spend some time thinking about this—it’s really important.
Once you’ve figured out what your big, far-off goal is, the next step is to chart a course to get there by making smaller goals along the way. Sometimes it helps to think backward from your big goal to your present situation.
If you had already achieved your big goal, what would have been some of the milestones along the way? What path could you imagine tracing backward from your big goal to your present situation?
At one time, I had a big goal of losing about 100 pounds of weight. I had let myself get out of shape and I wanted to get back on track. I set for myself smaller goals of losing 5 pounds every two weeks. Every two weeks that I was able to reach my smaller goal, it moved me forward toward my big goal.
If you can make small goals that gradually move you forward in the direction toward your bigger goals, you’ll eventually reach your destination. It’s important to have various sizes of goals that lead you in the direction of your big goal.
For example, you might have a yearly goal of reading so many technical blogs or learning a new programming language.
That yearly goal might be a smaller goal that will lead you toward your bigger goal of becoming a senior-level developer. But that yearly goal might be broken up into smaller goals of reading a single blog each month or making some defined amount of progress each day.
The smaller goals keep you on track and motivated so that you keep heading in the direction of your bigger goals. If you set out to accomplish a big goal and don’t have smaller goals along the way, you don’t end up having time to course-correct when you’re off track.
Smaller goals also give you frequent rewards that help motivate you. Small victories each day and each week help us feel like we’re making progress and accomplishing things, which makes us feel good about ourselves and helps us keep moving forward. Smaller goals also don’t seem as daunting as a big goal.
Career Change Tip 4:
Tracking your goals
Periodically, you should track and update the goals you have set for yourself—and adjust them if necessary. You don’t want to travel miles off course before you discover your mistake, and you probably don’t want to travel far down a path that turns out to be the wrong one, either.
I’d recommend setting regular intervals for checking up on your goals. This will help you to make adjustments when needed and keep you accountable. You might want to review the goals you set for each week at the end of that week before you plan out the next week. The same goes for every month, quarter, and year.
It can be helpful to reflect on what you accomplished during small and large time periods so that you can figure out if you’re making the right amount of progress or you need to make some kind of adjustment.
Sit down and write out at least one major goal for your career.
Break down that major goal into smaller goals that correspond to Months
Write down your major goal where you can see it each day to remind you of what you’re striving for.
People skills: You need them more than you think
Leave me alone, I just want to write code!
I used to be under the impression that the job of a software developer was just to write code. I know I’m not alone in having been guilty of thinking that way.
The fact is that a majority of our time in the software development field is spent dealing with people, not with computers. Even the code we write is written first for human consumption and only secondarily for the computer to understand.
If that were not the case, we’d all be directly writing our code as machine language—1s and 0s. If you want to be a good software developer, you have to learn to deal effectively with people (even if writing code is the part of your job you enjoy the most).
Think about how much of your time at your job is actually spent interacting with people and you immediately begin to see the value of improving your interactions with them.
When you sit down to do you work in the morning, what is one of the first things you do? That’s right, check email. And who sends you email? Is it computers? Does your code send you an email asking you to finish it or to make it better? No. People do.
Do you go to meetings during the day? Do you converse with coworkers about problems you’re working on and strategize on how to solve them? When you do finally sit down to code, what do you code? Where do the requirements come from?
If you think your job is to write code, you had better think again. Your job as a software developer, and in just about any profession, is to deal with people.
Career Change Tip 5:
Learning how to deal with people
Many excellent blogs have been written on the subject of dealing with people, and I’ll give you my personal list of what I think are the best ones in section, so I’m not going to attempt to cover everything there is to know on the subject in this short blog.
But I do want to cover some of the basic concepts you should know that will perhaps give you the best bang for your buck. I’ll borrow heavily from one of my all-time favorite blogs on the subject, How to Win Friends and Influence People by Dale Carnegie.
Everyone wants to feel important
Perhaps one of the most important concepts you should know when dealing with people is that, at their core, every single person wants to feel important. It’s one of the deepest and most desperate desires of the human race and the primary motivation for most great achievements in society and life.
Every time you interact with another person, you should remember and be aware of how you’re affecting this basic human need. If you belittle or make a person and their accomplishments feel diminished in some way, fully expect them to react with the ferocity and desperation of a person whose oxygen supply has been cut off.
It’s very easy to make the mistake of quickly dismissing a coworker’s idea so that you can present your own, but when you commit this grievous error in judgment, you’ll often find them deaf to your own ideas because you’ve made them feel unimportant.
If you want people to accept your ideas and think them valuable, you have to extend the same courtesy first. You can never win a person’s heart if you do not leave their pride intact.
Career Change Tip 6:
By token of this first concept, you should immediately be able to realize that criticism will rarely be a tool that will achieve your intended result. I used to be a big criticizer. I used to think that punishment was a much more effective motivator than rewards, but I was completely wrong.
Time and time again, studies have shown that rewarding positive behavior is much more effective than punishing negative behavior. If you’re in a position of leadership or management, this is an especially important principle to observe.
You have to learn to bite your tongue and only speak words of encouragement if you want to inspire people to perform their best or you want to effect change.
Perhaps you’re currently working for a boss or have worked for a boss who lacks the understanding of this principle and responds to all faults with outright and harsh criticism. How does it make you feel?
Does it make you feel motivated to do a better job? Do not expect others to react in a much different way. If you want to motivate and inspire, use praise instead of criticism.
Career Change Tip 7:
Think about what the other person wants
The key to successfully dealing with people is to stop thinking in terms of you and what you want and start thinking in terms of what is important to the other person and what she wants.
By shifting your mindset in this way, you’ll avoid making another person feel less important and you’ll be less likely to criticize her. A person who is handled in this manner is much more likely to deal with you in a favorable way and see your ideas as valuable.
When you first enter a dialog with a coworker or boss, try to shift your focus from you to them. Try thinking about things from their perspective. What is it you think they’re trying to get out of this conversation?
What is it that’s important to them? Listen attentively and then when it’s your time to talk, phrase your dialog in ways that appeal to the desires of the other person.
It does no good for telling your boss why you would like to implement a feature in a certain way. It’s much better to phrase the suggestion from the frame of mind of why implementing a feature the way you suggest will be useful to your boss. Perhaps it will cause the software to be more stable or more likely to be shipped on time.
Career Change Tip 8:
As software developers, we sometimes tend to think that all people think about things from a logical perspective. It’s easy to fall into the trap of falsely believing that solid reasoning is enough to compel another person to accept your way of thinking.
The truth of the matter is that even though we like to pride ourselves on our intellectual prowess, we’re all very emotional creatures. We’re like little babies who are walking around wearing suits and ties and pretending to be all grown up.
A slight or injury is just as likely to cause us to cry or throw a tantrum, but we’ve learned to control and hide those emotions out of sight.
For this reason, it’s imperative to avoid arguments at all costs. Logic and pure reason do little to convince a screaming toddler that it indeed makes sense for him to go to sleep so that he’ll be well rested for the day ahead, and it will do just about as much good in convincing a slighted coworker that your way of doing things is best.
I have come to the conclusion that there is only one way under high heaven to get the best of an argument—and that is to avoid it. Avoid it as you would avoid rattlesnakes and earthquakes.
Career Change Tip 9:
Dale Carnegie, How to Win Friends and Influence People
If you have a disagreement about how something should be done, in many cases your best course of action is to first determine whether or not that particular point is a hill that’s worth dying on—especially if you know it is for the other person involved.
Any opportunity that you can find to give up your side and admit that you’re wrong on a small matter that doesn’t mean much to you, but perhaps a great deal to the other person, will win you unmeasurable respect with them and store up for your future credit that can be redeemed when the tables are turned.
If you’ve never taken the time to work on your people skills, there’s no better time than now to start. You’ll find your life much more enjoyable when you learn how to interact and deal with others in a pleasant way, and the benefits you’ll accrue from learning those skills now will be lifelong and difficult to put a price on.
Career Change Tip 10:
Landmine: Dealing with “poisonous” people
Sometimes, you’ll find that there are people who you just can’t get along with no matter what. Some people are just looking for opportunities to bring others down and generally have a negative view of everything in life. I call these kinds of people caustic, and you would do well to avoid them.
If you recognize someone as being caustic, don’t try to change them, and don’t try to deal with them; just stay out of their way and limit your interactions as much as possible. You can recognize the signs of a caustic person by the trail of destruction they leave behind them.
Some people seem to always be involved in some kind of drama and have bad things happen to them. They often try to play themselves off as the victim. If you recognize this pattern, run—run away as fast as you can.
But what can you do if this kind of person is your boss or a coworker you have to interact with? Not much. You might either have to suck it up or you might have to look into moving to a new department or even a new job. Whatever you do, don’t get sucked into their trap. If you have to interact with them, do it in a minimal, nonemotionally invested way.
In a single day at your work, keep track of every encounter you have with another human being. At the end of the day, count up how many interactions you had during that day, including answering emails or phone calls.
Get a copy of the book How to Win Friends and Influence People by Dale Carnegie. The book is in the public domain, so you can find it very cheap. Read it—more than once.
Try to come up with a list of software developers you know or have heard of who fit each of the three categories.
If you’re interested in becoming an independent consultant or entrepreneur, set up a meeting with someone you know who is already on that career path and ask him or her what it’s like.
Career Change Tip 11:
What kind of software developer are you?
Have you ever had to hire a lawyer? What was the first thing you did? If you’ve never hired a lawyer, what do you think would be the first thing you’d do?
If you guessed that you’d need to figure out what kind of lawyer you needed, then you’re correct. You don’t want to just call any lawyer; you want to call a specific lawyer who deals in the area in which you have a problem.
Lawyers have the expertise and they usually make that expertise known from the start. There are criminal lawyers, accident lawyers, real estate lawyers, and so on.
You wouldn’t want to have a divorce lawyer represent you for a tax or real estate problem, so specialization is important. A lawyer doesn’t come out of law school and decide they just want to be a “lawyer,” but unfortunately that’s exactly what most software developers do when it comes to their profession.
Career Change Tip 12:
Specialization is important
There are plenty of software developers out there who don’t have a specific specialization. In fact, most software developers will completely define their specialization by what programming language they program in. You’ll commonly hear “I’m a C# developer,” or “I’m a Java developer.” This kind of specialization is too broad.
It doesn’t really say enough about the kind of software development work you can do. A programming language doesn’t tell me anything about what kind of developer you are and what you can actually do. It only tells me one tool that you use to do your job.
You might be scared to specialize in one area of software development because you’re afraid that you’ll become pigeon-holed into one specialty and that will exclude you from many jobs and opportunities. While it’s true that specialization will close you off from some opportunities, it will open many more for you that you wouldn’t have otherwise had.
Think about the lawyer situation again. If you became a lawyer and had no specialization, technically every person seeking a lawyer could be your client. But the problem is that very few people would want to hire a generalist lawyer. Most potential clients would seek to hire a specialist.
Even though it would appear that you had a bigger pool of potential clients, the reality would be that by being a generalist, you’d have greatly reduced your pool of clients to only those who weren’t savvy enough to realize they needed a specialist.
By being a specialist you have a smaller pool of potential employers and clients, but you become a much more attractive prospect to them. As long as your specialty is big enough and it’s not overcrowded, you’ll have a much easier time finding a job or getting a client than you would if you just called yourself a software developer.
Career Change Tip 13:
Kinds of specialties for software developers
There are many different kinds of specialties for software developers. Obviously, there are language specialties and platform specialties, but there are also specialties in methodologies and specific technologies or industries.
One of the first things you should figure out, though, is what kind of software development it is you want to do. Do you want to work on the frontend of applications, creating and programming user interfaces? Do you want to work on the middleware of an application, implementing business rules and logic?
Do you want to work on the backend of an application, working with databases or low-level operations? You can even pick all three and be a full-stack developer, but in that case, you should definitely specialize in a specific stack of technologies. (For example, a full-stack web developer might specialize in creating MVC websites, using C# and SQL Server.)
You can also specialize in areas like embedded systems development where you work close to hardware devices and write code that runs on computers inside of a device. Embedded systems programmers have to deal with a whole different set of problems that web developers do.
Operating systems is another area of specialty, although not very important when dealing with web development. Many developers specialize in writing applications for a specific operating system, like Windows, UNIX, or Mac.
Mobile application development or even a specific mobile operating system is another potential area for specialization. There is a huge demand for iOS or Android developers who specialize in writing mobile applications for that platform.
Some developers specialize really deep and become experts in a very specific platform or framework. These developers have few potential clients, but they can demand a high hourly rate because of their specialty.
You’ll find that low-level specialties are most common around very expensive software suites or frameworks. Consider the giant German software company SAP. Some very highly paid developers specialize in developing customer solutions to integrate with this expensive software system.
Web development stack Embedded systems
Specific operating system Mobile development
Picking your specialty
Most software developers I tell about specializing agree with me, but I’m often asked about how to actually pick a specialty. Picking a specialty often can seem like an overwhelming task.
Here are a few tips to help you pick your specialty:
What were some of the major pain points in your current or previous company? Can you become a person who specializes in solving those pain points?
Is there a particular kind of work that nobody wants to do or that lacks skilled people? Become the person who is an expert in that area, and you’ll have plenty of business.
What kind of topics most commonly come up at conferences and user groups?
What kind of questions do you answer the most, either for coworkers or on sites like Stack Overflow?
Whatever you do, make sure you pick some kind of specialty. The size of your market will determine how specific it is, but try to make it as specific as possible. You’ll be in much higher demand in your specific market if you do so. And don’t worry; you can always change your specialty later if you need to.
Obviously, I’m not specializing in developing software for printers anymore, and I know many other developers who have had great success moving around to different specialties during their careers.
Career Change Tip 14:
What about the Polyglot programmer?
Whenever I bring up the topic of specialization, I always encounter at least some resistance. I think it’s important to clarify that even though I recommend specializing and having a specialty, it doesn’t mean I think you shouldn’t also have a wide variety of skills.
Although those two things may seem contradictory, they don’t have to be. Being a well-rounded and versatile software developer is great.
Being able to use multiple technologies and programs and many different programming languages can only help your career and can make you a much more valuable software developer than someone who only knows one specific technology or programming language. But it’s very difficult to market yourself as a jack-of-all-trades.
It’s nice to have a developer who can do anything on the team, but rarely do companies or clients set out to find that kind of person. Even though you may be awesome at all kinds of different technologies and know 50 different programming languages, you still will be better off picking some specialty—even if it changes from time to time.
Learn as much as you can and become as flexible as possible, but also have a specialty that makes you unique and stands out. If you have to choose between the two options, start with specialization and branch out later.
List all the different kinds of software developer specialties you can think of. Go from broad to specific and see how specific you can get.
What is your current specialty? If you don’t have one, think about what area of software development you could specialize in.
Go to a popular job search website and look for jobs in your market for your specialty. Try to get an idea of whether or not further specialization would be beneficial to you or limit your choices too much.
Career Change Tip 15:
Not all companies are equal
Your experience as a software developer can be radically different depending on what type of company you choose to work for. It’s important to decide for yourself whether you want to work for a small company just starting up, a large corporation with massive budgets and shareholders, or somewhere in between.
Not only does the size of the company greatly affect your experience, but all companies have their own individual cultures that can have a dramatic impact on your overall happiness and how much you feel that you fit in and belong where you’re at.
It’s important to take this into consideration before accepting a job offer. It’s easy to evaluate a potential employment opportunity based solely on salary and benefits, but in the long run, the work environment will likely be much more important to you.
In this blog, we’ll examine the pros and cons of each type of company—small, medium, and large—and talk about how to decide what type of company you want to work for.
Small companies and startups
Most small companies are startups, so they have a very distinctive startup mentality. This startup mentality is usually focused on rapid growth and doing everything you can to get the company to a profitable situation or reach some other pressing goal.
As a software developer working for a company like this, you’ll most likely have to wear many hats. You won’t just be writing code. Because there are fewer employees, roles will be less defined and you’ll have to be more flexible.
If you just want to sit at your desk and write code, you might not like having to set up a build server or help out with testing. But if you’re the kind of person who thrives on energy and excitement and is always up to face a new challenge, you might find this kind of environment very engaging.
In a small company, what you do is often much more impactful. This can be both good and bad. If you like to blend into the crowd and just do your job, you probably won’t like working at a small company—it’s very hard to fly under the radar. But if you’re the kind of person who likes to see the impact of the work you’re doing, a small company is by far the best place for this.
With a small number of employees, each person’s contributions directly affect the bottom line and are noticed. This means your great achievements are magnified, but so are your screw-ups.
Small companies also usually offer much less stable than a larger company, but a potentially bigger reward in the long run. A small company is much more likely to go out of business or not be able to make payroll and have to cut staff.
But at the same time, if you can ride out the storms, being one of the first employees of a small company that has grown significantly can be very rewarding.
It can be difficult to reach a director-level position at a big company by climbing the corporate ladder, but at a small company, your upward mobility is much greater because new employees tend to come in underneath you already.
Many developers work for startups taking low salaries and working ridiculous hours hoping to get rich on the stock options if the company goes public or gets acquired, but I consider that a pretty risky bet. I wouldn’t recommend choosing to work for a startup just because you might hit the lottery someday.
Taking that approach, you’re likely to burn out fast and have nothing to show for it. A better reason to work for a small company or startup is that you like that kind of fast-paced exciting environment and you want to be part of building something and watching it grow.
Most companies are medium-sized companies. So this is the most likely place you’ll end up working, or you may be working for one now.
Medium-size companies are usually companies that have been around for some time and have a profitable business, but don’t have the momentum to make it into the fortune 500 lists.
In a medium-size company, roles are usually a bit more defined and you have quite a bit more stability. I’d say that medium-sized companies often offer more stability than large companies, which often have large workforce reductions and periodic reorganizations. If you like stability, you’ll probably find a medium-size company suits you best.
Working at a medium-size company, you’ll probably find the pace a bit slower, although it’s still hard to hide among the reeds. Your contributions might not cause the company to sink or swim, but they will be noticed. In a medium-size company, slow and steady often wins the race.
The fast-paced do-or-die mentality of a startup usually drives decisions quickly and embraces cutting-edge technologies, but most medium-sized companies are risk-averse and move quite a bit slower.
If you like working on the bleeding edge, you’ll find it a tough sell to your boss at a medium-size company, because it will be hard to justify the risk.
[Note: You can free download the complete Office 365 and Office 2019 com setup Guide.]
Large companies are pretty interesting. Each large company is very different from another. Large companies usually have very deep company cultures that permeate every aspect of the company. Many large companies are publically held and have CEO celebrities who you aren’t likely to ever interact with.
Perhaps the biggest thing you’ll notice when working for a large company is the amount of procedure and process that’s in place. When you interview for a large company, you usually go through a series of interviews and follow a very formal process.
And when you work at a large company, you’ll probably have to conform to an established way of doing things. Cowboys and renegades are usually not welcome in the corporate culture. If you like the process and you like structure, you’ll probably enjoy working for a large company.
One neat thing about large companies, though, is the opportunities you have when working for one. When I worked for a fortune 500 company, I had many different training opportunities and just about every software product at my disposal. Many large companies offer career guidance to help you grow and learn within their organization.
You also may get the chance to work on some cool stuff. Small and medium-size companies don’t have the budgets for massive, world-changing projects. But for many large companies, technological innovations are common.
You might not be able to have a noticeable impact on one of these large-scale initiatives, but you could be part of a team that brings something truly remarkable to the market.
For many developers, large companies are frustrating, because they feel that their individual contributions don’t matter. You’re likely to be working on a small piece of functionality in a large code base. If you’re the kind of developer who likes to get your hands into all aspects of a software system, you might not like working at a large company.
It’s very easy to go off the radar working at a large company. I’ve worked at several large companies where some developers basically did nothing all day long and no one really noticed until there was a major round of company-wide layoffs.
This kind of autonomy can be put to good use, though. Sometimes it’s nice to be able to work on projects that you think are important or interest you without having the pressure of having to produce.
A final note about large companies: politics. Large companies usually have complex political systems that can rival large governments. You can try to avoid politics as a software developer in a large company, but even if you do, other people’s political maneuvers are sure to affect you in some way.
And, as we’ll talk about in the next blog, to climb the corporate ladder, you’ll have to learn how to navigate your way through the complex political climate of any large company you work for.
If politicking isn’t your thing and you want to avoid it completely, look for a small company with a flat management structure.
Software development companies versus companies with software developers
Another major factor you should consider when deciding what kind of company to work for is the difference between companies that have software developers to work on their internal software or part of some product they’re producing versus companies that actually produce software or do software development as their core offering.
Companies that don’t focus on software development, but instead hire software developers to work on some aspect of their system, treat software developers in a much different way than companies whose primary focus is software development.
When a company’s focus isn’t software, typically software developers aren’t given as much respect and leeway. These companies are much more likely to have loose soft-ware development practices.
On the other hand, companies whose livelihood is based on developing software are much more likely to put a high value on the software developers they hire. It doesn’t mean necessarily that the work environment will be better, but it’s usually very different.
You’ll also probably find that software development companies are a bit more cutting-edge when it comes to technologies and tools that companies that have a different focus but hire software developers. If you want to work on newer technologies, you’ll probably want to find a company that develops software directly.
The difference between these two types of companies becomes very apparent when dealing with Agile software development methodologies.
Companies whose primary focus isn’t software tend to have much more difficulty adopting Agile processes because Agile processes are usually driven by the development teams.
Agile processes require adoption from the top down, so it’s often a difficult sell to make a whole company change the way it does things just because some developers think it’s a good idea.
Career Change Tip 16:
These are just some general guidelines about the different kinds of companies you might work for as a software developer, but every company is different. It’s up to you to decide what kind of working environment suits you best and what kind of company culture you best fit in to.
It’s always a good idea to talk to developers already working for a company before accepting a job there so that you can get a more realistic feel for what it would be like to work at that company.
Take some time to think about what kind of environment you prefer working in. What company size matches your ideal working environment?
Make a list of companies in your area or companies you have worked for and decide which category each fits into.
Career Change Tip 17:
Climbing the corporate ladder
I know quite a few people in the IT industry who just can’t seem to ever move up in the world. Year after year they have the same exact job and job title. I wonder if they ever even get a raise. Do you know someone like that?
It’s surprisingly common. If you don’t want to end up on that dead-end path, you’ve got to do something about it. In this blog, I’m going to give you some advice on how to climb the corporate ladder so that you don’t get stuck in the same position, never advancing.
Career Change Tip 18:
The most important thing you can do to go up in the ranks of any company is to take on more responsibility.
TIP It may seem obvious, but often in your career, you’ll be faced with choices between more money and more responsibility. The right choice—at least in the long term—is almost always more responsibility.
Money always catches up to responsibility. Any time you’re offered more responsibility, take it.
But what if you aren’t offered more responsibility? What can you do to gain it yourself? Sometimes you have to go out and look for opportunities where you can take charge of an initiative or head up a project. There is almost always some neglected area of business that you can find to contribute your talents to—you just might have to dig to find it.
One of the best places to search is in areas that no one else wants to get involved in. Perhaps there’s a legacy application that no one wants to touch or a certain module in your codebase that is particularly nasty.
These are landmasses to add to your growing empire, because no one will want them, so you won’t be up for much of a fight. But if you can turn those swamplands into fertile ground, you can really show your value.
Another way to indirectly take on responsibility is to become a mentor for others on your team. Volunteer to help the new person get up to speed. Always offer help to anyone who needs it.
Not only will you learn more by encountering and solving other people’s problems, in addition to your own, but over time you’ll develop the reputation of being the “go-to” person on the team. Eventually, this reputation is likely to land you a team-lead position or management position, if you want to go that route.
HOW YOU CAN TAKE ON MORE RESPONSIBILITY
Is there a project that has been neglected that you could take charge of?
Can you be the person who helps new team members get up to speed?
Can you take the role of documenting processes and keeping those documents up to date?
What job does no one else want to do that you could take on and make easier or automate?
Career Change Tip 19:
It doesn’t matter if you’re the brightest, best, and hardest-working developer on a team if no one knows who you are and what you’ve achieved. All of your hard work can easily go to waste if you can’t find a way to let your boss and upper management know what you’re doing.
One of the first things I did whenever I started a new job was to start keeping a daily account of where I spent my time and what I accomplished during the day. I’d then take that information and compile a weekly summary every Friday to send to my manager.
I called this my “weekly report,” and when I’d send out my first report at each new job, I’d include some information to let my manager know that I understand how important it is to know what your direct reports are doing, and so I was sending a weekly summary of my activities to make his or her job easier.
This weekly report ensured that every single week I’d show up on my manager’s radar and I could talk about what I accomplished that week without outright bragging.
It was a great way to gain visibility and it often appeared that I was much more productive than my peers simply because my manager was hearing about all the work I was doing, but not much about the work other developers were doing.
Not only was this weekly report valuable for my visibility, but it was also an excellent resource for myself when review time came around. I could go back through my weekly reports and pick out my key accomplishments for the year.
When it came time to fill out reviews, I knew exactly what I had accomplished during the year and I had dates to prove it.
I’d definitely recommend sending an unsolicited weekly report, but there are also many other ways to become more visible in your organization.
One of the best ways is to offer to give presentations on some topic or problem your team is facing. Pick a topic you can present on and offer to present that topic to your team.
You can even offer to do it as a lunch-and-learn where you present an educational topic during lunch instead of on company time. This is a great way to gain visibility and show how knowledgeable you are in a particular area.
Plus, there’s no better way to force yourself to learn something than to know that you have to present it in front of other people. I’ve done my best learning under that kind of pressure.
Career Change Tip 20:
HOW TO BE MORE VISIBLE
Keep a daily log of your activities—Send this log as a weekly report to your manager.
Offer to give presentations or trainings—Pick a topic that would be useful to your team.
Speak up—Do this at meetings and any time you get the chance.
Be seen—Set up regular meetings with your boss. Make sure you are seen often.
Another really good way to advance is to keep increasing your skills and knowledge. It’s hard to stagnate when you’re constantly improving your education level. Educating yourself makes it easy to justify a raise or promotion because you can clearly show that you’re more valuable now than you were before.
You can, of course, take traditional higher-education courses—especially if your company will pay you to get a degree—but there are many alternative ways to educate yourself that can pay off in the future. You should always be learning something new or advancing your skills in some way.
Sign up for training courses or seek out certifications that will show that you are committed to continually improving.
At one point, early in my career, I felt like my upward mobility was somewhat limited, so I decided to start getting Microsoft certifications. I studied hard and took all the tests I needed to get one of the top-level Microsoft certifications.
It wasn’t easy, but I quickly saw the benefits of my career. The extra effort showed my manager that I was serious about advancing my career and opportunities were quickly opened for me.
Also, don’t just learn about software development. Take some time to learn about leadership, management, and business if you have your sights set on higher-level and possibly executive positions.
And don’t forget to share what you’re learning. We’ve already talked about how you can offer to give presentations to share your knowledge, but you can also create your own blog, write magazine articles or blogs, and speak at community events or conferences.
The outside exposure will help establish you as an authority in your area of expertise and will make you seem more valuable to the company you’re working for.
Career Change Tip 21:
Be the problem solver
In any organization, there are always plenty of people who will tell you why some idea won’t work or some problem is too hard. People like that are a dime a dozen. Don’t be one of them. Instead, be the person who always has a solution to a problem and is able to execute that solution to get results.
One of the most useful kinds of people to have around in any company is the kind of person who never seems to find an obstacle that they can’t overcome. Building a reputation for being that kind of person is a sure way to get promoted.
Forget the political games and posturing for the position—if you can solve problems that other people can’t or aren’t willing to tackle, you’ll easily become the most valuable person at any company.
Landmine: I don’t have any opportunity for advancement
Most companies offer some kind of opportunity for advancement, but perhaps you’ve followed all the advice in this blog, and, for whatever reason, you just don’t see any opportunities ahead of you. What do you do then?
Quit. Make sure you have another job lined up first, but sometimes you just have to realize that you’re in a dead-end job and you need to find a better opportunity.
Perhaps your work environment is caustic and mentally unhealthy, perhaps nepotism ensures you’ll always stay where you are; whatever the reason, you might need to move on.
Career Change Tip 22:
What about politics?
You can’t really have a blog about advancing in a corporate culture without at least mentioning politics. I’m addressing this one last because I think it’s the least important thing to focus on when trying to advance your career.
I’m not naïve; I realize that most organizations have quite a bit of politics and you have to be aware of them, but I don’t think you should invest too much time in playing political games.
Sure, you can advance up the corporate ladder by deft maneuvers and ruthless ambition, but when you advance that way, you’re likely to fall just as easily. Some will disagree with me, but I’ve always found it better to build a solid foundation based on actually being a valuable employee rather than appearing to be one.
With that said, you should still be aware of the political climate of whatever organization you’re in. You can’t completely avoid politics, so you have to at least know what’s going on, what kinds of people you need to avoid, and which ones you should never cross.
What is one way you can take on more responsibility at your current job right now?
How visible are you to your current boss or manager? What is one concrete action you can take in the next week to become more visible?
What are you doing to educate yourself? Decide what would be the most valuable thing to educate yourself on and create a plan to get that education over the next year.
Career Change Tip 23:
Freelancing: Going out on your own
One way to get out on your own and start your own business is through freelancing or becoming an independent consultant. A freelancer is someone who doesn’t work for a single client but instead hires out their work to multiple clients either for a fixed price or an hourly rate.
For many software developers, the idea of becoming a freelancer is very appealing, but it can be difficult to get started. For much of my career, when I was working as an employee, I dreamed of being a freelancer, but I struggled with not knowing how to make the transition.
I knew that many developers were making their living working as freelancers, but I didn’t know how they managed to find clients and spread the word about their services.
In this blog section, I’ll give you the advice I wish I had when I was first starting out. I’ll give you a practical plan you can put into place to become a freelancer or enhance your business if you already are one.
If you read the last section on quitting your job, you know that I recommend starting a side business before trying to start a new business full-time. This especially applies to freelance, because it can be very difficult to get started freelancing and get a steady stream of business.
One of the greatest fears of freelance developers is that they will not have work and so they will not get paid. It’s very stressful to know that you don’t have enough work to fill your time or that after you complete some work for a client you’ll have to go out and hunt for more.
It’s much better to have work lined up ahead of time and to be in a situation where you have to turn work down.
The only way to get to this point is to build up your business over time. You need to have existing long-term clients that you can count on for future business and you need a steady stream of new clients coming in the door.
It’s pretty difficult to just hang your shingle out one day and expect both of these things to happen. You have to cultivate these two situations over time.
Career Change Tip 24:
Ask someone you know
How do you get started? How do you actually get your first client? The best way to get a client is through someone you already know. Someone you already know is more likely to trust you, especially starting out.
Without quitting your day job, put out messages on your social networks letting your friends and acquaintances know that you’re starting a new freelancing business and you’re looking for work. Make sure you’re specific about what exactly you can do for them and what problems you can solve.
Make a list of all the people you know who would potentially be interested in your services and email them personally. Tell them exactly what you can do for them and why they should hire you to do the work.
The more prospects you have, the more likely you are to get work. Getting work is mostly a numbers game. Don’t be afraid to send out follow-up emails every so often to keep letting people know about your services. Over time this diligence will pay off.
Your goal should be to get to a point where you’re filling up all of the part-time hours you have allocated to this side business and you actively have to turn people away because you can’t take on any more work.
If you can’t get to this point running your business on the side, you really have no business trying to do it fulltime. It will be much more difficult to fill up 40 hours of work a week than it will be to fill up 10 or 20.
Career Change Tip 25:
Best way to get clients
You’ll probably find that you only have so many friends and acquaintances who need your services—you might even find that you don’t have any. But don’t worry, there are other ways to get clients rather than just reaching out to people you know.
There are plenty of freelancers who advertise their services on various job boards and even use paid advertising to pick up clients, but I’m going to tell you a much easier way that requires a lot less overhead— the only drawback is that it will require patience and some hard work.
What you really want to focus on is what is called inbound marketing. Inbound marketing is basically getting potential clients to come to you instead of you going out to find them. The primary way you do this is by offering something of value for free.
I harp on this quite a bit, but most developers should have a blog. A blog is an excellent way to do inbound marketing because you can publish articles on your blog that get people to go there and read your content.
Once potential clients are on your blog reading your content, you can try to directly convert them to customers by offering your consulting services at the end of your blog post or through some navigation on your site, or you can offer them something else of value in exchange for their email list.
Email marketing is one of the best and most effective ways to market your products or services. Once you have a list of people who are interested in what you have to offer, you can slowly send them more information about you and what you can do for them and eventually convert them to customers.
You can also do inbound marketing by offering free webinars, writing blogs, speaking at conferences, appearing on podcasts, running your own podcast, and just about anything that is giving someone valuable (and mostly free) content related to the service you’re providing.
The only problem with inbound marketing is that it can take some time to start working. You have to have enough content out there to attract
Career Change Tip 26:
Ideas for inbound marketing
enough potential customers to fill up your pipeline with work. That’s a good reason to start now and to not quit your day job just yet. But in the long term, inbound marketing will bring you much more business and make it easier for you to raise your rates—which we’ll talk about next.
Setting your rate
Okay, so you’ve got some clients that are interested in your services, or perhaps you already have been doing some work for clients, but what do you charge them?
This is one of the most difficult problems, besides acquiring clients, that freelancers face. Most freelancers greatly underestimate both the amount they can charge a client and the amount they need to charge a client.
First, let’s talk about how much you need to charge a client. Let’s say that you’re currently working a job where you make $50 per hour. This is a pretty decent wage in the United States, but you can’t charge that same amount as a freelancer and have anywhere near the same standard of living. Let me explain.
As an employee, you’re probably getting some benefits on top of that $50 an hour you’re being paid. Perhaps you’re getting medical benefits and some vacation time. Plus, in the United States, if you work for yourself, you have to pay what is called self-employment tax—yes, the government charges you extra for creating your own job.
Now, let’s consider the overhead of running a business. Normally your employer pays for nice things like electricity, computer equipment, internet, etc. But as a freelancer, you’ll have to pay for all this stuff yourself.
When you’re employed by someone else, you usually get paid for 40 hours a week—at least here in the United States. You don’t really have to worry about filling up your time, because whether there is work or not, as long as you’re at your desk, you’ll get a paycheck. Not so for the freelancer.
As a freelancer, you’ll most likely have some downtime each year, perhaps even each week. In addition, you won’t be able to bill your clients for things like checking and responding to emails, installing an OS on your computer, or any of those other things you might need to do during the day that isn’t directly billable work.
When all is said and done, you might need to make $75–$100 an hour as a freelancer to have the same net pay you would make as an employee.
Many freelancers start out charging what they were making as an employee or just slightly higher and find that they are barely getting by—and until they do all those calculations I ran through, they have no idea why.
As a general rule of thumb, you need to bill at about twice the hourly rate you have as a fulltime employee when you’re a freelancer. Unfortunately, though, that’s not how you set your rates.
You see, you don’t get to arbitrarily throw out a rate based on what you think you need to make and automatically have people pay it. Instead, the rate you can charge is what the market allows you to charge.
This is one of the reasons why I stress inbound marketing so much. The bigger your reputation in the industry and the more clients coming to you, the more you can charge for your services.
You still need to know what number you need to charge to be able to make a living, but it’s up to you to get to the point where you can justify that number—or a higher one—to the market.
You do this by focusing not on the rate itself, but what your work is worth to your clients. You can treat what you do like a commodity or you can treat it as a service that increases the profitability of your clients.
If you decide to treat what you do as a commodity, you can go out there and bid with other developers—many with much lower income expectations—for jobs. In that case, the market will push the buyer to accept the freelancer with the lowest rate.
But if you market your services based on what you can save your client or how you can increase their business, you can base your fee on what value your services would bring to the client. This is why it’s so important to specialize.
I’ll give you an example. I provide consulting services specifically in regards to creating automation test frameworks. When I talk to potential clients about those services, I talk about how much money it costs to build out an automation framework and how expensive it is to make mistakes and have to start over.
I talk about how I have experience building many automation frameworks and that I know exactly what to do.
I show the potential client how hiring me for $300 an hour will save them much more money than hiring a regular developer who may have never written an automation framework before. I tell them how 1 hour of my guidance might save them 20 hours of work possibly going in the wrong direction.
I’m not lying, either. I can make the pitch so effectively because I really believe it’s true. The key is that I’m focusing on how my services will easily pay for themselves and more by the value I’m providing. It becomes an easy decision to hire me instead of someone cheaper who just talks about what he or she can do technically.
Career Change Tip 27:
WHICH DO YOU THINK IS A BETTER PITCH?
“I can design you a new website for your business. I am highly skilled at HTML5, CSS, and web design, and have successfully built many websites for other companies similar to yours.”
Or “Is your current website generating the most traffic it can and converting that traffic to customers? If you’re like most small businesses, the answer is ‘no.’
But don’t worry, I can help you by creating a top-notch custom-designed website that’s specifically designed to increase your traffic and conversion rates. I’ve helped many other small businesses double and even triple their customers and I can help you too.”
One last piece of advice on setting your rate: if you’re never having any potential client tell you “No” or that your rate is too high, raise it. Keep raising your rate until you start getting “Nos.” You might be surprised how much a client would be willing to pay for your services.
I know some freelancers who have more than doubled their rates by using this technique combined with inbound marketing and structuring their offer in terms of the value they can bring a client.
Make a list of all the people you know who could potentially use your services or may know someone who can.
Come up with an email template that you can send to everyone from the list you just created. (Remember to talk about what value you can bring, not just what you can do from a technical perspective.)
Send out a message on your social networks and send your email to a small portion of the list you created and see what kind of response you get. Once you get some feedback, alter your email and send it out again to more people.
Career Change Tip 28:
Creating your first product
As a software developer, you’re in a unique position to be able to be an entrepreneur who not only imagines a concept or new idea but can also create it yourself.
Many software developers choose to become entrepreneurs and create because of this reason. Other entrepreneurs have to hire people to create their own ideas—and as you know, developing custom software can be expensive.
Not only can you create a software product as a software developer, but you can also create an information product like a blog or a video.
In this blog, I’m going to help you learn what you need to know to create your own first product and start down the long and bumpy road of entrepreneurship. But be warned, the path you’re about to embark upon isn’t an easy one.
Career Change Tip 29:
Finding an audience
Many software developers first venturing into the realm of entrepreneurship make the common mistake of building a product before they’ve found an audience for that product.
Although it might seem sensible to start by building a product, you want to avoid falling into this trap; otherwise, you risk creating a solution to a problem that doesn’t exist.
Every product created—including this blog—solves a particular problem. A product has no purpose without a problem to solve, and a product with no purpose has no customers, which means no money for you.
Some products solve very specific problems for a very specific group of people—for example, a software product to help dentists manage their patients or a blog to help software developers learn how to use the .NET Unity framework.
Other products solve a general problem like boredom. Entertainment products like television shows and video games might fall into this category. But regardless of what problem a product solves, that problem, and the audience that has the problem must be identified before the product is created.
If you want to create a product, the first step should be to identify a specific audience that you want to target a solution for. You might have a general idea of what the problem you want to solve for that audience is, but in many cases, it will take some research to find a common problem that’s either not being solved or isn’t being solved very well.
Go where your audience goes and interact with the communities your audience participates in to get an idea of what kind of problems are common. What are the pain points that you’re seeing over and over? Products need customers
I started to notice a trend of software developers asking me how to build a reputation in the industry and how to get their name out there or get noticed. Many developers that were visiting my blog were asking me questions related to these topics.
I could see that there was a real problem that software developers had with learning to market themselves. (In my case, my audience was coming to me through my blog and directly telling me their problems, so it made things easier—again, another reason to have a blog.)
I decided to create a product to solve that problem. I created a program called “How to Market Yourself as a Software Developer”.
The product solves a very specific problem that my target audience had, so I knew it would be successful before I even invested the time to create it. (I also had another method of verifying its success ahead of time, but we’ll get to that in a minute.)
Many developers start backward and create a product that doesn’t yet have an audience and then they try to shop the product around to find an audience. When you do things that way, you’re taking a big risk, because it’s much more difficult to start with the answer and look for the question.
When I created “How to Market Yourself as a Software Developer,” my audience came to me beforehand and told me what their problems were. This is an excellent way to get started that makes selling your product easier later on. Instead of trying to find an audience, build one.
We’ll get more into marketing yourself in section 2, but if you use the techniques in that section to get your name out there and create an audience-centered around you and the content you produce, you’ll find that you’ll already have customers eager to buy whatever product you create.
Many famous celebrities use this technique to create and sell products. They already have an audience that they’ve built up. They know the needs and problems of that audience.
When they launch a product into that audience it’s automatically successful. Take someone like Glen Beck, for example. Political views aside, this guy can sell New York Times best-selling blogs, just because of his audience.
He doesn’t have to go and find an audience, because he created one. Just about everything he produces will automatically have buyers eagerly waiting to buy it up.
If you want to achieve the same kind of success with your products (although, perhaps, not nearly on that scale), build a successful blog first and use other media like podcasts, speaking engagements, video, and more to build an audience. Then, once you have an audience, you’ll be able to sell products to that audience.
Career Change Tip 30:
Testing the market
Once you’ve determined the audience for your product and how it’s going to solve a problem they have, there’s still one more step you should take before you build a product. You should verify the product by testing the market and seeing if your potential customers are actually willing to pay for it.
Remember I said that I had another method of verifying my success for my “How to Market Yourself as a Software Developer” product before I actually created it? Well, here’s a little secret: I got people to pay for it before I even started to work on it.
How did I do this, you might ask? Well, to put it simply: I just asked them to. When I was thinking about creating my product, I decided that before investing several months in doing the work involved, I’d say what the product I was going to create was and offer it at a big discount to my target audience if they would pay me for it before I created it.
It seems a little crazy—and to some degree it was—but it was a good way to prove whether or not someone would actually pay for what I was planning to produce before I spent all the time producing it.
I knew that if I could get developers to give me their money three months or more before it was released, then when it actually was released, selling it would be no problem.
So here’s what you can do: set up a simple sales page where you talk about the product you’re creating and what problem it’s going to solve. Talk about what will be in the product and when you’ll actually produce it.
And give a discounted price so that someone who is interested can preorder the product and get it as soon as it’s released. Offer a money-back guarantee so that potential customers know that if you don’t deliver on the product or they aren’t happy with it, they can get their money back.
But what will happen if you only sell a few preorders? Well, at that point you can decide if you want to change the product or the offering, because you aren’t solving the right problem, or you could simply refund the money back to the few people who bought and apologize, telling them there wasn’t enough interest.
Not a fun thing to do, but much better than spending three months or more building a product only to find out no one wants to buy it.
For my product, it turned out that on the first day I put the pre-sales page up, I sold seven copies of the program. This gave me enough confidence to know that I could move forward and that I wouldn’t be wasting my time. I also had a group of very interested customers who I could ask for feedback to help improve the product as I was building it.
Career Change Tip 31:
I keep harping on you about not just quitting your job and jumping into an entrepreneurial pursuit, but I’m going to harp on you one more time when I tell you to start small. Too many budding entrepreneurs pick a much too aggressive target for their first product and leave everything behind to pursue their new dream.
You have to understand and realize that your first entrepreneurial pursuit will probably fail. And likely your second will, and perhaps you're third. You might not actually see real success until you’ve gone through quite a few failures.
If you throw everything you’ve got into one big undertaking, betting your entire future on its success, you might end up putting yourself in a position where you don’t have the resources— or even the will—to try again. Don’t do that. Start small instead and work on your first product on the side.
You want to make the learning curve as short as possible, so you need to reduce the cycle time between when you take actions and see the results. The problem with a large product is that you may not see the actual results until you’re very far along and have spent considerable effort building that product.
There is quite a bit to learn, but it’s easy to get started. Today, it’s easier than ever to sell something online and there are a ton of resources to help you do it.
You might want to check out Ramit Sethi’s book at I Will Teach You To Be Rich because he’s an expert on the topic and has helped many want-to-be-entrepreneurs become successful.
I’d also recommend checking out the book The Lean Startup by Eric Ries (Crown Business, 2011) to get some ideas of small businesses you could create and how to get started with them.
But a good amount of your education is going to come through trying and failing. To some degree, you have to do what you think is right, find out why it didn’t work, and then try something different. Most entrepreneurs who create successful products do exactly that.
Come up with some target audiences you could investigate to create a potential product for.
Pick one of these audiences and find out where members of that audience congregate, online or otherwise. Join some of their communities and listen to their problems. See if you can pick out one or two potential areas for a product that can solve a pain they have.
Check who else may already be solving this problem. You don’t want to enter a market with too much competition.