The same-name course on Pluralsight inspires this article: Technology Career Dark Side, to help readers have a more objective view of the IT industry, as well as draw a way to “survive” for themselves.
The programming industry also has a lot of fun: It is easy to apply for a job, an exciting career, lots of new posts, a good salary. However, it has many dark sides that only senior people, prolonged exposure to professional experience and recognition.
1. Technology is continually changing — Who is at fault
In the programming industry, technology is continually changing. New technologies are frequently being born to replace the old ones, making the knowledge obsolete. Therefore, programmers must continuously learn. Otherwise, they will become obsolete.
The root cause behind this is Money. Why do FIFA and PES release new versions every year? To sell for MoneyMoney. Why does each year the iPhone release new versions? To suck the user’s blood, to Make Money. That’s why technology companies are always offering new products/technologies to sell for MoneyMoney: C # changes from 2.0 to 5.0, Windows releases 2–3 new releases every 2–3 years, Visual Studio and SQL Server also. The same, similar.
In general, this change has its positive side: The new framework/library has more features, making coding faster and easier. However, that also comes with no annoyance: Each version has a few minor updates and changes, making the upgrade/integration very tiring and time-consuming. A typical example is the Python language: Python has two versions, 2 and 3. Version 3 integrates too many changes; many python 2 libraries cannot run on version 3…, so the Python community is still struggling. They were arguing about which version to use. The biggest problem is: It takes effort, the time programmers spend to learn that language.
Sometimes a framework/library dies and is no longer supported (VB6, Silverlight). Imagine now that MS SQL is not being developed further, a lot of projects using MS SQL will be in trouble. That is why languages/technologies such as Java, C #, PHP, MySQL are still preferred over NodeJS, MongoDB, … because they have a longer, more reliable life.
The life cycle of a technology: A new technology is born, used by many companies, high recruitment demand, so many people follow. Over the years, the technology died out; no one recruited anymore, so few people studied. However, companies’ applications are built using old techniques; they still need developers to maintain/upgrade applications. That is why the developers Cobol, VB6, Fortran are still precious (Japan has many large and super large systems built with these technologies, all outsourcing for Vietnamese people to maintain).
2. Hackathon and Stackoverflow are not “as good” as you think
Hackathon is a small code contest, usually held on two weekends. Programmers will form a team of 3–5 people to build a product. Prizes (quite attractive) will be awarded to the best teams.
The right side of the hackathon is very much and conspicuous. These events are often entertaining and helpful for developers: They have fun, coded, given gifts, and built relationships, connecting with the community. However, the dark side is less noticeable. Hackathon is organized with the reason of “community development, technology introduction.” This is a cheap way to steal the time and effort of the programmer. Copyright law is also rarely respected (the hackathon application, the copyright belongs to hackathon by default), so you can easily be plagiarized/plagiarized without doing anything.
Stackoverflow is a question and answer network for programmers. Joining StackOverflow will help you improve your level and knowledge. However, joining StackOverflow, you accidentally joined a team of “experts” for free, allowing StackOverflow to collect advertising money. It also applies Gamification (Points, badges) to entice you to contribute time and effort. An answer on StackOverflow saves you 1 hour to fix the error; you should spend 15 minutes on adding back okay, but don’t put 3, 4 hours into it.
However, I still recommend you to attend the hackathon and StackOverflow; they are handy for every developer. But remember to be aware and watch out for its wrong sides.
3. Outsourcing and exploitation issues
In Vietnam or India, there are many outsourcing companies (FPT, Harvey Nash, …). These companies provide the majority of jobs for programmers, contributing to the country’s GDP. Outsource is not completely bad, but too dependent on outsourcing, just plugging into software outsourcing; the domestic IT industry will be tough to develop.
Why foreign companies outsource, in general (also) because of MoneyMoney. The price of Vietnamese and Indian personnel is much lower than international programmers. The outsourcing companies in Vietnam eat most, pay a small portion to the programmers. That is why the PM, the manager, the senior salary towering, and the developer is the drop. I recommend that you study English thoroughly and find a way to sell yourself — to work abroad. I know some of my brothers who work for a foreign company, a man who comes to Singapore to work with a high salary without worrying about being exploited as an outsource.
Referring to exploitation, the most brutal form of exploitation is overtime, also known as OT (Overtime). If you are unlucky to fall into the “burning” project, OT is like a meal. You will have to work until 8–9 pm, including Saturday, Sunday. This has a significant impact on health, social relations, and family. Doing with Japan is not the concept of OT, going to work after 9–10 pm is the “working culture” over there.
4. Excellent technical skills are not enough
Many new graduates still think that this is true. They find themselves a bit good, so they show their attitude when interviewing. The working environment requires more than the ability to code, which is: the ability to communicate, the ability to present / present, negotiation skills, the ability to work in groups… To higher levels like team lead, management, you also have to know how to manage, divide, persuade, and tell others. Code ability is required, but just code is not enough if you want to survive and advance in this industry.
5. Superiors often “don’t know anything.”
Sometimes it is not wrong to say that the superior “know nothing.” A funny fact of our industry is: If they are good at technical, developers will be promoted to management. At the management level, they have little time to code but have to worry about dividing jobs, managing personnel, managing projects, … all the things they’ve never done before. In their new position, they also have to learn gradually about management, just like we started learning code.
Programmers often think that “The leader of the team / PM never has a code, new technology also * doesn’t know.” This is true because they also have to worry about many other things: personnel, resources, interview candidates, or internal company struggles, … do not have enough time to hone technically. Sometimes arguing about a problem, you just see the technical issue, they also have to pay attention to many other aspects such as team arrangement, project progress, membership level, …
Therefore, do not hold hostility, bitterness, or disregard for superiors. Just try to understand and learn from them, maybe you will be “pushed” to be a manager like them. Pro tip: If your boss is really “stupid” and you can’t handle it, feel free to switch to another company/department, your industry will easily apply for a job.
6. Programmers are slowly losing value
The day before, I received a valance job-introduction email — A website for Vietnamese freelancers. Looking at the price of IT services in Vietnam that hurt: An application costs only 2 million, a website is only about 1 million and partly because of the number of IT companies in Vietnam, doing everything from the web to the app at a low price partially because the Vietnamese developers are selling cheap gray matter, selling their labor.
I mentioned that programmers have a decent salary. With positions such as senior, team leader, PM, salary 1000–3000 $ / month is reasonable. However, wages in lower locations are … quite low. Partly because many young people flock to IT school, learn to program when they graduate they are not qualified, they pity to do tedious jobs, low wages.
Modern technology makes people more accessible to programming, so users can do the web, make applications easily. Programmers are increasingly “lazy,” “more,” thanks to the framework. In the future, maybe the programming industry will not be as hot as it is now, developers will fall “catastrophically.”
Conclusion So you have to live the sport?
1. Heard me “scare” for a while now, surely you are a bit suspicious, right? Don’t worry, apply some of my tips below.
2. Master the background knowledge, learn many languages, not embrace a language. C ++, C #, Java, … how good is just a tool? What matters is what you do with the language, you know.
3. There are many developers in my industry, but there are very few good developers. Give yourself the knowledge and skills to raise yourself, if you’re right, don’t worry about unemployment or low wages.
4. Determine the path you want to go: Manager or Technical, or open your own company. Learning more things in the stream such as management, economics, entrepreneurship, … later it will be conducive.
5. Live smarter, and do not be ignorant anymore. Work hard to socialize, build a reputation, relationships. Read the blog of some famous developers to learn how to think, how they work.