Who wrote that, ChatGPT? Complete nonsense. Computer science is the number one degree in demand in the job market right now. Not that there aren't other paths to the same end goal, and yes, you probably need to specialize.
Timothy Dean Mobile Speed
Posts
-
Computer Science ranked as one of 20th most useless degree major -
I absolutely hate no-code systems.This is exactly what I experienced when trying to build such a system. What would be a better approach in your opinion to provide tools to dramatically enhance the productivity of developers?
-
I absolutely hate no-code systems.By best possible end result I mean the best possible compiled native performance. Not necessarily the easiest to program, but the best result for the end user of the app. I think some of the higher level languages suffer from the same problems and shortcomings of no-code but to a lesser degree. Higher level languages such as Java, C#, and even web programming in general were created to save coding time. But they all sacrifice something to get there, runtime performance. I think we need to find better solutions that increase developer productivity without sacrificing native performance and native user interface capabilities.
-
I absolutely hate no-code systems.I worked for a startup company developing such a tool and put many years of thought into it. The goal, of course, was to come up with a way to simplify mobile application development to reduce the time and skill needed to generate an app. It started with trying to do as much as possible with drag and drop in some sort of visual interface. We generated many custom mobile apps with the system for customers, but what we learned that you can only do so much with drag and drop, more custom control was needed. So we allowed more detailed configuration via direct manipulation of the underlying data. Then we learned, configuration can only take you so far, more control was needed. It turns out, there are some things that are actually easier and more concise to define in code than configuration or drag and drop! Trying to break down code into configurable data, at some point actually becomes more complicated than the code you are trying to replace. Then we started looking into defining our own scripting language, our own debugger, etc... which was crazy. So here we are trying to eliminate code and it came full circle and we are trying to define a new language. It failed in the end. I think a better approach is to actually build similar tools, but build it on an existing language like C++. Don't try to eliminate the developer, but give him tools to generate code and dramatically improve productivity. Go after the best of both worlds. You get the best possible end result with native generated C++ code, best possible user interface, best possible performance, and if customization is necessary (it always is), you are building on the best possible language with the best extensibility, cross platform at the code level, etc... What say you?
-
The Agile CultCouldn't agree more. The customer facing side of agile with quick turnaround times and continual feedback is good. The management side is mostly crap. Pair programming? Who came up with that? That's way out there in left field. Agile is based on "collectivism" where the whole team "owns" everything which basically means nobody owns anything. When you don't have ownership for what you do, you are less likely to take care of it. Whens the last time you washed and vacuumed out a rental car before returning it? When you have complete ownership in what you do, its your baby and you will naturally do whatever it takes to make it a success. Its human nature. Developers should own the code they work on. If it breaks, they should be responsible to fix it. If its a success, they get the credit. Developers should be involved in all of the high level meetings with the customer, setting priorities, etc... In fact, there should be less project managers, more software engineer / rock star / project managers. Developers should be managing their own projects.
-
Do we need Business Analysts?In my opinion, it works best when you don't have business analysts, project managers, or even programmers / coders. Managing projects and analyzing the business needs is the responsibility of software engineers. You get better end results when the people writing the code are deeply involved in understanding the business needs.
-
work contract questionYou absolutely must modify this before employment or you will run into problems later down the line if you want to sell your own software. As you can see there is a clause that states the company has no rights to anything you developed before employment. At the minimum, you should write out a description of what you are working on and have developed on your own time and include that in the contract. Make an addendum that clearly states that you aren't giving up rights to what you have already started, and what you plan on continuing to work on in your own time. It is important to get that approved up front.