Some worst aspects of software development.
Honestly the software industry is so tricky that I could write a whole book about it, let’s do this:
- The gig economy. Disguised employment is completely illegal, yet this industry couldn’t care less. This industry is filled with contracts and contract-to-hire, both highly illegal under the FLSA. The law is not enforced and you will spend a tremendous amount of time finding worthy jobs even if you’re highly competent.
- Too many startups. I came to hate this word. They do “start”, but they never do “up”. There are plenty of projects who aren’t viable at all that managed to get investments, as mysterious as it could be. As a software engineer you are highly likely to work for a ton of startups for years until a serious company even decide to call you back on your resume.
- “I have an idea”. I do not even spend my time with people contacted me for their “ideas” anymore. I did a ton of that when I was young, I came, I saw, I cried. I did learn a ton of things this way, including that the only project worth working on is my own.
- Bootcamps. Let’s be honest college is not a necessary condition at all to make your hole in this industry, BUT don’t ever think that bootcamps are any better. Bootcamps are filling the industry with people who know only the basis of the basis and will accept very low pay thinking that it’s a lot of money. At the end the problem with college and bootcamp is the same, if people come in this industry to call themselves “engineers” and for the money, then they’ll likely suck. Regardless of the educational background, software engineering is for passionate nerds and that’s it, but at least the college guys know their worth.
- Non-technical management. Only an engineer knows how to treat engineers. And the way to go is “leave them the f*** alone”. Every workday of an engineer is drastically unique. A unique problem to solve, a unique misfortune, a unique flow, a unique hair pulling, a unique scream of happiness. Any of these can happen at any time. This means one day you’ll wake up at 7AM and finish work at 5PM, another you’ll wake up at 11AM and finish at 4AM. One day you’ll wake up on fire, another day you’ll wake up as a worthless zombie. Communication cannot work synchronously in this industry but non-technical management do not understand that. The result is that they distract their engineers, they stress them out, and they get the worst out of them instead of the best.
- Deadlines. Software Engineers always have a compromise to make, doing their job correctly, or having their manager having the perception that they did their job correctly. The reason for that: deadlines. If you do not consult your engineers before setting a deadline, you doomed the whole project. If you did consult your engineer for the deadline, double it. Couldn’t there be a better option? Yes, asynchronous communication once again. You can’t give a deadline in 5 minutes, because to give an accurate answer you would have to think the whole project, make a roadmap, evaluate the time for each task, add an error margin because you can’t ever know what will go wrong. This takes a lot of time, because it’s basically what an engineer does, designing systems. But management thinks that engineers are paid to code, WRONG. Code is only the most visible part of their job.
- Interviews. Basically not a single person has a clue how to tell if an engineer is competent or not. Even I have a hard time with it. This makes interviewing ridiculously complex, you will go through half a dozen interviews for a single job, complete a million coding “challenges”, and you still have to find time to write a cover letter for each job you apply to. This is straight exhausting. This same exhaustion will blow to your face when you will get one answer wrong in interview out of tiredness. Imagine, you spend a whole hour writing a cover letter for a job, fifteen minutes later you receive an email “Sorry but no.” without even getting a chance to show off anything or a feedback. This is just disrespectful. This industry is supposed to be full of problem solvers, but still the main problem with our industry is the one nobody takes time to tackle.
Comments
Post a Comment