Showing posts with label OSI Model. Show all posts
Showing posts with label OSI Model. Show all posts

Thursday, 18 September 2025

Computer Science Degrees aren't needed for tech, but not because of Artificial Intelligence

It was a nice Sunday afternoon when I came across this quote by Anton Osika, CEO of the AI tech company known as Lovable. In it, he made a claim that no Computer Science Degrees are needed to break into tech, now that we have Artificial Intelligence and LLMs. In the interest of keeping it real, I bristled a little at that.

Lovable has no
use for Degrees.

Not because I disagree; in fact I've often said much the same myself - that a Degree just isn't that important in terms of the actual skills required to be a software developer. No, it was more the premise I disagreed with, rather than the conclusion.

My position is that you should be able to get into tech without a Computer Science Degree... with or without AI.

Osika's Conclusion

Academically, I'm pretty decorated myself. Over the years, I've earned a Degree and multiple Diplomas in various tech disciplines. I've forgotten more than most of these youngsters ever learned, and that's not an empty boast - just not a very useful one considering how fast tech evolves.

But none of that is what qualifies me to write software. None of that makes me any more qualified than someone who picked up a book one day and spent the next several thousand hours working at the craft. What qualifies me is the experience I've picked up along the way. The things I've learned by doing.

Learning by picking
up a book.

If employers are willing to give people the chance to learn despite the lack of a Computer Science Degree, those who are genuinely interested will pick it up, and those who aren't, won't. That's the nature of the beast. A Computer Science Degree, or lack thereof, has precious little to do with it. Does it help? Oh, undoubtedly. But it's not the be-all-end-all.

I think about all the things learned during while pursuing my various tech qualifications. How much of it do I really use in my work? Pretty sure I don't use Boolean Algebra. Or Predicate Logic. Or the ability to name all seven layers of the OSI Model. That's not to say everything is useless. Sure, it's nice to know the formal terms when describing software vulnerabilities. It's great to be able to properly verbalize the various states of normalization in a database. But is it necessary as long as one has the know-how?

Therefore, in that sense, Osika is absolutely right. No Computer Science Degrees are necessary to engage in the activity of writing software, and to suggest otherwise is preposterous.

Osika's Premise

The claim was that one does not need a Computer Science Degree to develop software... and that this was due to the power of AI tools. My position is that with or without AI tools, one does not need a Computer Science Degree to develop software. That is because, as mentioned earlier, the skills needed to develop software don't necessarily come from a Computer Science Degree.

However, whether one gets those skills from a Computer Science Degree or otherwise, those skills still need to be learned. The experience still needs to be earned and accumulated. All this makes up the developer's foundation.

Putting in the hours.

It's true that the AI tools may contain a lot of knowledge... but without the foundation, a Vibe Coder can't harness that knowledge fully. I have a foundation that, while not perfect, lets me know what I don't know. I'm not saying that the Duning-Kruger Effect doesn't exist at all for someone like myself, but it is a far larger problem in the case of someone without a foundation that wishes to use AI to create software.

You can't, after all, take control of the process without knowing what to take control of. You can't close up security holes without knowing where they could appear. Sure, one could simply command AI to do all this... but you know who else does all this? Managers. Project Leads. Business guys. People who helm development teams made up of actual human techies. If you tell AI to do the work of software developers, this doesn't make you a software developer; the same way that passing instructions down to actual software developers doesn't make the Manager a qualified software developer.

To be fair, Osika's statement was about a general career in tech, and not necessarily specifically a software developer. But the fact remains is that AI has nothing to do with the ability for anyone to have a tech career. The fact someone is now instructing an AI instead of a human being, does not qualify Osika's statement. People have had the ability to instruct other people since slavers were building pyramids, and the existence of AI makes not a whit of difference in this regard.

The (un)Lovable Conclusion

The claim that one can have the know-how of a seasoned developer just by using AI tools, without having to put in the work, is nothing more than a seductive lie. After all, who doesn't want something without having to put in any work for it?

Osika's words are getting traction though, especially with people who want to believe this. And let's face it - Osika's the CEO of a notable tech company and I'm a painfully average software developer with a blog and an opinion. Thankfully, I'll probably be out of the industry before these dangerous ideas truly take hold.

Yours lovably,
T___T

Tuesday, 24 April 2018

Plugging those Knowledge Gaps

Programming languages. Frameworks. Databases. Development Methodologies. There's a lot of knowledge out there. Some of which you may have picked up, some of which you use often, much of which you have yet to even discover. One of the biggest mistakes a web developer - or any kind of software engineer, for that matter - can make, is to think that he knows enough. It is not enough. It is never enough. As a dev, you are not a finished product. You are a work in progress. Keep that in mind, and never let that go... because the moment you do, you are done. Finito.

Web technology is constantly in motion, and if you stay still, you will be left behind. That is not a warning. That is a fact.

And above all, don't ever make the mistake of thinking you're accomplished enough that basic knowledge is beneath you. I've encountered developers who thought they were hot shit, and turned their noses up at researching the basics. The end result is that they could write code that somewhat worked... but they pissed off their co-workers by leaving unhelpful comments in the code and writing code that was so ugly it hurt my eyes.

No dev is ever too good to revisit the basics, or improve.

Piecemeal Knowledge

Many experienced web developers don't learn their craft in school. We pick up stuff on the job, learning whatever needs to be learned and improving as we go along. That seems to be the optimal way because web technologies are widely varied, and it's hard to find two seasoned web devs with identical skillsets. Our knowledge tends to be piecemeal. There are too many things that need to be learned, and far too little time to master any one thing. We learn enough to achieve one task, then move on to the next. If - and only if - we have to execute the same task over and over, invariably we learn different ways of doing it, and a certain degree of mastery sets in.

That said, this is the very reason why there doesn't seem to be a standard set of skills any web dev should have. Sure, most if not all web devs know HTML, CSS and JavaScript. But to what extent? Many web devs would be proficient in at least one back-end scripting language, if not several. And probably worked with databases. How deep should that knowledge be? Most web devs would know enough HTML, CSS and JavaScript to build a web page. Not every dev has ever had to deal with shopping carts. Or Social Media widgets. Some have even managed to go through their entire careers without needing to call a single external API. Some will know just enough JavaScript to manipulate the DOM. Some will know just enough CSS to format text and change page backgrounds. Some will know just enough PHP (or Python, or C#, take your pick) to run a few automated tasks and make some calculations.

That is not impossible, or even wrong. It happens.

No one has an answer to exactly how much a web developer should know, other than a very general list of things... and if they do, that answer is invariably incomplete. That is because web technology is used in so many contexts that there is no one skillset that will cover everything, unless one learns everything. And common sense will tell you that it is impossible. Some people will consider you a total noob if you don't know how to BCNF a relational database. Or the difference between an associative array and a hash table. Or all seven layers of the OSI model. But really, practically, how often in a typical web development environment does a developer have to know these things? If you learn these things and don't use them often enough, how long before you forget them? For instance, I always have to look up how to write a simple Switch Case statement in any language - because I use these maybe once a year. Or less. But a Try-Catch or a For loop - now these are on the forefront. But are these examples true for you? Are they true for all devs?

Whack-a-Mole

There are knowledge gaps everywhere. They will always exist. Everyone has them. Plugging these knowledge gaps is like playing that Whack-a-Mole game - as soon as you bop one pesky mole on the head, another pops right up! Because the more you learn, the more stuff you discover that you've yet to learn.

It's an impossible task. It'll keep you busy for eternity. Does it mean that we shouldn't do it?

Fuck, no!

You see, plugging these knowledge gaps is what keeps devs like me going. The nice thing about web development is that there's always something new and fun to learn. The sucky thing about it is that there are only twenty-four hours a day to learn stuff with.

How to plug those knowledge gaps?

As a fellow professional of mine likes to say, "Google is your friend". Every time you come across a term you haven't heard before, look it up. Religiously. Your search may be satisfied right away, or it could lead you down an endless rabbit hole. Either way, this is a good thing.

Every time you make a discovery while tinkering away, confirm that discovery. Search for the countless other people who have undoubtedly trodden the same path. See what they have to say, and add what value you can. Because silence may be golden, but sharing is priceless.

The takeaway

Generally, you need to start having at least a vague idea of what you don't know. It's all right to be an idiot. Just don't be the kind of idiot who doesn't know he's an idiot.

The only thing you can do about knowledge gaps, is to keep on identifying and rectifying them. You can never eliminate all your knowledge gaps - but you can ensure that the knowledge gaps that you have today, aren't exactly the same ones you had last year. 

Keep plugging away,
T___T

Thursday, 17 November 2016

No-show Nodevember

Days from now, tech conference Nodevember will be held in Nashville, Tennessee on the 20th. In there, panelists will present the past, present and future of the JavaScript-based platform, NodeJS.



Having begun to work more extensively with JavaScript in the last couple years, I naturally took an interest in this particular development. And sadly, this conference will be notable for one significant absentee - Douglas Crockford.

A couple months back, the organizers of Nodevember announced on Twitter that Crockford had been uninvited to the seminar as keynote speaker. Their reason? As follows.

"While we have a tremendous respect for Mr. Crockford's abilities as a speaker and his contributions to our craft, we became aware that based on private feedback - not simply the dialogue on Twitter - that his presence would make some speakers uncomfortable to the point where they refused to attend or speak."


Now, there could be more to the picture than what was presented. We'll never know, and the organizers aren't telling.

What we can see, are little pieces of whatever picture that took place during Crockford's last presentation prior to the announcement. Apparently, Crockford had made quite a few people uncomfortable during his little talk on The Seif Project. Check out the video below.



At the 41:30 mark, he makes the following assertion
"So the old web was great because it provided promiscuity. It meant that you could go and connect to anything and you're probably going to be okay. You might get shocked and embarrassed but your machine's not going to get taken over, your identity is not going to get stolen. That hasn't always been true but pretty much the web can do that and that's good because that allows us to get introduced to things. We used to call it surfing. That you could go from one thing to another and discover stuff and start forming relationships. Unfortunately, the same thing which allows the promiscuity to work is very bad for dealing with commitment. So that's what the new web is for."

Soon, people were accusing him of slut-shaming the Internet and usage of sexist terminology. And this particular accusation on top of everything.

Say what?

Yep, apparently the word promiscuous was too harsh for some very easily offended souls in the audience. In a world now filled with trigger-free zones and political correctness, being outraged appears to be the in-thing now. And Nodevember will be all the poorer for it. While I wouldn't go to the extent of calling him "the Father of JS", Crockford has made significant contribution to JavaScript. I had read his book JavaScript: The Good Parts, and while his writing style was far from engaging, there was plenty to be learned, and it was presented in a manner I could absorb with relative comfort.

Thankfully, Crockford was not without his defenders. In an impassioned blogpost, Adam Morgan wrote, with very deliberate sarcasm:
"What a danger to our industry! Ignoring the complete over-reaction to these two comments a quick search of the word promiscuity on dictionary.com shows that Crockford actually used this word correctly."

He then went on to explain that Crockford had probaby meant "consisting of parts, elements, or individuals of different kinds brought together without order" instead of "characterized by or involving indiscriminate mingling or association, especially having sexual relations with a number of partners on a casual basis". I'm not exactly sure I agree. What version of the word promiscuous had Crockford actually intended? If it had been the second, then why did he follow up with "Unfortunately, the same thing which allows the promiscuity to work is very bad for dealing with commitment"? It certainly seems to hint very strongly at the latter definition.

But still. So what?

Crockford wasn't using a derogatory term on anyone. On your mothers, sisters or even your pet goldfish. If he was slut-shaming, he was slut-shaming the Internet - what amounts to a collection of separate entities made out of electrons and wires, and joined together by the seven OSI layers.

Go watch the video. Crockford's public speaking is even less engaging than his writing. The old dude's Boring with a capital B. Guy was wooden, straight-faced. Dead serious. He wasn't trying to be witty, or cracking a joke. (OK, maybe he was, but he was terrible at it) He was just trying to explain his point using a metaphor. Not a particularly clever one, I grant you. But offensive? Come on.

I guess it's true - people can be butthurt by anything these days. Stop being sensitive. Start being sensible, instead. Techies already have a negative reputation for being socially inept. We really don't need to add being whiny douchebags to that.

The YouTube video below sums it up pretty well. Score one for common sense, old chap.



More on Safe Spaces

In the wake of the 2016 USA Presidential Election, I came across this article about the shattered feelings of voters as Hillary Clinton was defeated at the ballot box by Donald Trump. Really, a "cry-in" to mourn the results of a fair and open election? Is that such a tragedy? Oh, I guess it is, because a man very few people (me included) have a high opinion of, won! And won fair and square, playing by the very rules the US of A have been applying for the past 200 years!

When I was done picking my jaw off the floor, there was another contender for WTF Moment of the Week. The article ended with a campus activities coordinator saying "I have no words". You and me both, lady.

There are probably more instances out there, and judging from this, perhaps I shouldn't have been that surprised about Nodevember's decision concerning Crockford.

What can I say? These Americans are crazy. Going by what's happened this election and what's happened with the upcoming Nodevember, USA is going down the rubbish chute. Not because of Donald fucking Trump, but because this generation of people appear to be crafted from very fragile snowflakes.

The End?

Kevin Old, one of the former organizers of Nodevember, must have realized how ridiculous this entire affair was, because he put this statement up. I guess, better late than never, eh?

What a load of Crock!
T___T

Monday, 19 January 2015

Film Review: Blackhat

I caught Blackhat over the weekend, because the title promised to be a film about hackers. And because the producers cleverly used a hacking term as the title, I badly wanted to like this film. Instead, I left the theater with mixed feelings.


It turned out not so much to be a film about hackers, but an action film involving hackers.

The Premise

A power plant in China is hacked into and destroyed. Agent Chen Dawai (played with a mixture of sternness and elegance by Wang Leehom) is sent to investigate, and deduces that the code that opened the backdoor for the hackers was written by him and his then-roommate, Nick Hathaway (an incredibly buff Chris Hemsworth), who is currently doing time for some cybercrime. He pulls some strings to get Hathaway out of jail to help in the investigation.

Warning: Possible spoilers ahead!

And thus you have been warned. Let's get on with the review, shall we?

The Characters

Wang Leehom is stoic and serious as Chen Dawai. Came across as intelligent and a stand-up guy. But somehow very stiff. He looked uncomfortable being in the movie.

Chris Hemsworth as Nick Hathaway, the bad-ass genius hacker, is just a little too unbelievably awesome. Fine, I can buy him being one hell of a programmer. I can buy him being impossibly gorgeous and oozing machismo, with a body that could only be described as "godlike". (Oh wait...)  Slick fighting skills? Could have picked those up in prison. Knowing how to use a gun? Still plausible. But using it with enough skill to single-handedly dispatch all the bad guys who had gunned down his entire team? Er....

Tang Wei played Chen Lien, Chen Dawai's sister. I felt it was a waste of screen time. Undeniably eye candy, but her role didn't extend beyond giving Hemsworth's character someone to sleep with and carrying out certain plot points which could just as easily have been executed by Wang Leehom's character. And seriously, for crying out loud, if you're going to turn her into a sex object anyway, why's she fully clothed in every sex scene? Where is the smoking hot body that made her so famous in Lust, Caution?

Adrian Pang and Andy On had short-lived cameos here. The presence of Andy On, in particular, raised an eyebrow from me. Didn't I last see him in True Legend and Special ID as the main villain?

The Mood

It alternated between The Matrix and The Bourne Identity. Slick and sophisticated with the techie scenes, grim and gritty with the fight scenes. Not that I'm complaining, really. But at one point, I'd had enough with the whole fetish the filmmakers seemed to have with zooming up close whenever a hack was made, past the screen and into the inner circuitry. Were those guys aiming to show the entire 7 layers of the OSI Model or something?

What I liked

The dialogue had some gems. Nick Hathaway's method of negotiation speaks to me. Here are some examples:

Agent: This isn't a negotiation.
Hathaway: Well, I just made it one!

Mook: You want to speak with the boss? This is not possible.
Hathaway: I'm holding all of his money. Make it possible.

I also liked the way the characters were uneasy allies at first, suspicious of each other, and eventually grew on each other. Enough for Hathaway to feel bad when the woman constantly busting his balls early in the film, gets gunned down later.

And the locations! Oh, the locations! The languages! Going from China, to USA, then to Hong Kong and finally Malaysia. Mandarin, English, Cantonese and Malay. This felt like such a cultural experience.

Hathaway also pulls off some nifty identity theft in the movie. Nicely done.

What I didn't

The bad guys had bullets that could pierce through steel and kill Andy On's character, and Hathaway somehow thinks wearing some magazines and newspapers as body armor will help? What the hell?

Conclusion

Nice idea. Had its flaws. Could've been done better. And sure as hell didn't require the presence of Tang Wei's character. Kept me entertained, but not a show I'd watch again.

My Rating

5.5 / 10

Ah well, what the hack.
T___T