(no title)
StressedDev | 1 year ago
0. A strong desire to solve the user's problem and the organization's problem.
1. Knowledge of a major programming language like JavaScript, Java, Python, C/C++, C#, etc.
2. Knowledge of how to use an SQL database or maybe a no SQL database.
3. Knowledge of how to debug the build process and write scripts in Bash, PowerShell, etc.
4. Knowledge of at least 1 major framework.
5. Knowledge of Linux, MacOS, or Windows.
6. An ability to read documentation and learn.
7. An ability to debug large programs and fix bugs without introducing more bugs.
8. A desire to think critically and choose the appropriate technology for the problem (very hard, takes a lot of experience).
9. An ability to write clear code which others will understand.
10. The ability to write, argue, and persuade others.
11. A good person who works well with others, puts the product before himself, and is honest.
Almost all of these things are not taught to computer science majors. At best, a person will learn 1 to 2 languages and maybe Linux. Expecting computer science programs to produce good software engineers is crazy because software engineering and computer science are two different things.
No comments yet.