We live in an age and time where anyone can become a developer. Pick up a hosting account, upload a Wordpress blog, tweak a couple of plugins and you have just "developed" a website! Go on YouTube, and you can "learn" node.js. Type "alert(‘Hello World’)" and you are officially a developer. In the mean time others had to go to University, get multiple degrees, earn experience one mistake at a time, and study Stroustrup lectures on the differences in performance between a linked list and a vector list...
I frequently think that coders will be the basic workforce of the future. They will be needed, but not respected. All my years as a programmer, coder, analyst, database designer and implementer, project manager of a team of one, or of a team of several; an employee with a fat paycheck, or sometimes working for less than the secretary, I realized one thing. All companies no matter what they produce, need an IT department. An IT department that is more often than not, the vital part of the company, but unfortunately, the board of directors have no real idea what it does.
Some companies are all about Sales and Marketing. For them the IT department is simply the factory downstairs, where the people upstairs feed it information via the manager and by magic a software application gets a new feature. Every other day there are meetings between the directors and the Project Managers, overseeing the work done, whilst the coders, do the work of figuring out how to put all these ideas for new features into form, into something tangible, something interactive that works.
I've been called to work for different companies and what I usually find is that most IT departments are seriously underpaid, understaffed and unqualified. Everyone seems to be a Full-Stack-Developer nowadays, and I hardly ever find real coders and analysts that really understand computer performance and can churn quality code. Out of my last 5 assignments only one company, had a Project Manager that was a coder, and could understand what was needed to build proper software, track requests and crush bugs, had a solid release plan, and was able to timeshare tasks and communicate the needs of the management to the coders, and the needs of the coders back to the management, while at the same time maintain balanced relations between quality, budget and time.
The rest 4 companies, ranging from eshops to newspapers to financial institutions, only cared about having a project manager with a list of suffixes to their name, qualifications such as PMP, APMP, PRINCE2, etc, who had no real coding skills except maybe some basic SQL.
Mind you, that my MPhil was on project management, and The Mythical Man Month is still one of my favorite reads to this day. I do understand that a project manager could, or even should be, coming for a different discipline to the project. For example the Project Manager could be an engineer, but the project could be on Medicine. it does not matter, a good project manager could still manage the project efficiently. But I find that when it comes to smaller companies, the project manager has to have a good solid knowledge of the underlying project technology.
Facebook and Google, Microsoft and Apple, have so many diverse projects, such large teams, where they need Project Managers to oversee other Project Managers, to oversee team leaders, and its the team leader who mediates between the PM and the team; the person who usually has the technical knowledge.
Smaller companies should merge the role of the Team Leader with the Project/IT Manager, and make certain that the person next to the coders should have a solid coding background. This will solve at least 4 major problems, namely:
The problem of hiring the wrong people for the job. If the manager has no "real" notion of what constitutes a good "software developer", how can she hire the proper one?
The problem of work being evaluated by “WYSIWYG”. Yes you can reveal bugs when you go through the interface, but how can you tell that the code you have just approved will not get slower as time goes by and as system users and database records reach new highs? How can you tell what the future will hold, without asking the right questions about the methodologies used?
The problem of the IT department being underpaid. Unless you know what it takes to make the magic reality, i.e. convert ideas to a fully functional App, you cannot persuade the management to pay the right salary to the IT team. And everyone knows that the fairly paid employee is always the one that offers the most.
The problem of bad project management, due to misunderstanding of man hours needed for a task. Do I really need to explain this?
When it comes to software development in small companies, it is of paramount importance to hire a tech savvy team leader first and allow him to build a team around him, much like in the manner sports teams operate. The manager is usually an ex player. There is always going to be a star player in the team, but even him has to respect the manager and rely on his knowledge to structure the team’s play.
If you liked my article please consider using my Genesis-Mining Code: az2Ol4,
Thank you.
I couldn't agree more. I believe that in the coming years, and as technology really becomes the true driving force of the economy, most of that will fall into place.
However, I'm perturbed by this comment:
"And everyone knows that the fairly paid employee is always the one that offers the most."
Are you being sarcastic or serious? I don't think I agree with this statement. I've worked at software firms, technical houses as well as in finance ... I don't think that rings true in most work places. Usually, the fairly paid individual, is the one that talks the loudest. There are obviously exceptions to the rule, but that has been my experience.
I do, however, want to emphasize the fact that I believe that fair pay will mostly turn out to be a better incentive than just belittling people for their mistakes. My experience has unfortunately not always been a positive one though.
That's not to say that I've had terrible luck. I find myself being extremely fortunate to have worked with some amazing individuals.
#circleoffriends
Though my career, as a coder, the most successful companies paid their developers well, and the developers did not mind the long working hours. I feel I need to agree with you, that "well paid individuals are the ones that talk the loudest", but only in the case of management. Directors and such. People who are not involved with management, just love doing their job even more, when the company offers them a complimentary foot rub.