LeetCode News, Stories and Latest Updates https://analyticsindiamag.com/news/leetcode/ Artificial Intelligence news, conferences, courses & apps in India Fri, 26 Jul 2024 12:01:15 +0000 en-US hourly 1 https://analyticsindiamag.com/wp-content/uploads/2019/11/cropped-aim-new-logo-1-22-3-32x32.jpg LeetCode News, Stories and Latest Updates https://analyticsindiamag.com/news/leetcode/ 32 32 MachineHack is What LeetCode Should be for AI and ML https://analyticsindiamag.com/ai-origins-evolution/machinehack-is-what-leetcode-should-be-for-ai-and-ml/ https://analyticsindiamag.com/ai-origins-evolution/machinehack-is-what-leetcode-should-be-for-ai-and-ml/#respond Tue, 16 Jul 2024 11:57:36 +0000 https://analyticsindiamag.com/?p=10129285 MachineHack is What LeetCode Should be for AI and ML

MachineHack emerges as the go-to platform for AI/ML professionals, offering hackathons, and assessments to bridge the gap LeetCode can't fill.

The post MachineHack is What LeetCode Should be for AI and ML appeared first on AIM.

]]>
MachineHack is What LeetCode Should be for AI and ML

A notable change is taking place in the ever-evolving landscape of tech hiring. LeetCode, once a cornerstone of technical interview preparation, is losing its charm. Gaurav Sen, the CEO of InterviewReady, a platform focused on system design interviews, explains the flaw, “LeetCode is designed for interview preparation, not upskilling.” 

As a result, prominent firms such as Accenture, Airtable, Betterment, and GitLab are transitioning away from LeetCode-style interviews to more practical, real-world assessments.

The lack of AI and ML-related practice questions is another reason why LeetCode finds itself irrelevant for AI and ML engineers. This is where MachineHack steps in. The platform empowers AI developers through hackathons, community learning, and comprehensive assessments, and aims to bridge the gap between LeetCode and ML. 

MachineHack Generative AI is a complete package where developers can showcase their work, collaborate with other AI/ML developers, and participate in hackathons. Unlike LeetCode, which is mainly limited to data structure algorithms (DSA), MachineHack covers DSA, ML, and all the other essentials for ML jobs.

“We’ve designed MachineHack to be the ultimate package for AI/ML enthusiasts and professionals. Our platform provides a holistic approach to career growth, offering everything from skill development to networking. It caters to the evolving needs of developers and employers in this dynamic field,” said Saket Narayane, product lead (AI) at MachineHack Generative AI. 

A Hub for Dynamic Hackathons

Unlike LeetCode, MachineHack is renowned for its hackathons, which challenge developers to solve real-world problems. 

So far, the platform has hosted over 200 AI hackathons, including the immensely popular Data Science Student Championship and the Bhasha Techathon (in collaboration with Google and the Government of India). MachineHack provides the perfect platform for developers to apply their skills in practical scenarios. 

“As a first-time user of MachineHack, I believe it’s a fantastic platform to kickstart my data science journey. It’s user-friendly and well-organised, making it easy to access data, submit solutions, see the leaderboard, etc,” said Shubham Aggarwal, a student from IIT Madras. He added that overall, MachineHack provided a very positive and engaging experience that “solidified my interest in data science. I’m excited to keep learning and participating in future challenges!” 

These events are backed by industry leaders who are keen to discover and nurture new talent. For instance, the Great Indian Hiring Hackathon and MATHCO.THON: The Data Scientist Hiring Hackathon by TheMathCompany are notable examples where participants can directly interact with potential employers. 

One of its standout events is the Ideathon: How to Detect AI-Generated Content, which invites participants to build tools that can flag AI-generated content in text, images, videos, and audio. This ideathon is research-oriented and attracts esteemed research scholars, providing a platform for deep, exploratory work in AI/ML.

MachineHack, Connecting Developers

Unlike popular coding platforms like LeetCode and Kaggle, MachineHack is designed to be a vibrant community where generative AI professionals can share insights, learn from each other, and grow together.

Akash Kundu, the winner of the Video Frames Sorting Challenge, said that top performers helped him stay motivated to compete with them. “Grandmaster of the hackathons helped and guided me to be a top-ranker while I was in the learning phase,” he added. 

Narayane told AIM that MachineHack connects users with mentors and peers, facilitating a supportive network that can provide guidance, feedback, and career advice. The mentorship aspect is crucial for professional growth and skill enhancement in this rapidly evolving field of AI.

Beginner Friendly with Enough Room for Advanced Users

Often, platforms like Kaggle are saturated with difficult questions, and beginners can get overwhelmed by the complexity of questions. 

Narayane noted that MachineHack is one of the best platforms to get started with AI and ML. “It offers a variety of AI and ML courses. Plus, the participants can then attend hackathons relevant to the AI course, which would give them a confidence boost,” he added. 

Himanshu Agnihotri, a BTech student in AI, agrees that the platform helps tackle real-world challenges. “The platform’s user-friendly setup and rich resources made it easy to dive into problem-solving. Engaging with different datasets and tackling real-world challenges was both exciting and fulfilling,” he added. 

Bridging the Gap between LeetCode and AI

Besides MachineHack, other platforms like deep-ml also provide the UI of LeetCode for AI. “But these are relatively new projects that lack hackathons, courses, and a platform to connect with other developers,” concluded Narayane. 

The post MachineHack is What LeetCode Should be for AI and ML appeared first on AIM.

]]>
https://analyticsindiamag.com/ai-origins-evolution/machinehack-is-what-leetcode-should-be-for-ai-and-ml/feed/ 0
LeetCode for Machine Learning: A Game Changer in ML Education https://analyticsindiamag.com/ai-news-updates/leetcode-for-machine-learning-a-game-changer-in-ml-education/ https://analyticsindiamag.com/ai-news-updates/leetcode-for-machine-learning-a-game-changer-in-ml-education/#respond Fri, 12 Jul 2024 07:45:40 +0000 https://analyticsindiamag.com/?p=10126641 UP Govt To Launch AI & ML Courses For Students Of The State

Deep-ml.com aims to provide a LeetCode-like experience specifically tailored for machine learning enthusiasts and professionals.

The post LeetCode for Machine Learning: A Game Changer in ML Education appeared first on AIM.

]]>
UP Govt To Launch AI & ML Courses For Students Of The State

While LeetCode offers a plethora of coding challenges focused on algorithmic and data structure problems, it lacks questions for machine learning (ML). This gap is now being addressed by a new platform, deep-ml.com, which aims to provide a LeetCode-like experience specifically tailored for machine learning enthusiasts and professionals.

Deep-ml.com is designed to fill this void by providing a dedicated platform for machine learning challenges. The platform, initially launched as DeepMLeet on Streamlit, has since been upgraded to a more robust site that allows users to create accounts and track their progress. 

Bridging Leetcode’s Gap

This new site not only looks more polished but also offers a variety of questions that span key areas in ML, including linear algebra, machine learning algorithms, and deep learning. The platform’s creator emphasized the importance of being able to program machine learning algorithms from scratch, which is a critical skill for any ML professional. 

By focusing on these areas, it provides a comprehensive learning and practice environment for those looking to excel in machine learning. Users can solve problems, save their progress, and revisit challenges as needed, much like LeetCode. 

This feature is particularly beneficial for users who want to systematically improve their skills over time.

Similarly, there are other platforms that look to grow the developer community through hackathons and competitions. MachineHack, a leading GenAI startup, is renowned for empowering AI professionals through community sessions and interactive hackathons for community learning. The company is also hosting a Hackathon challenge with Abu Dhabi’s Technology Innovation Institute, or famously known as the makers of Falcon LLM.  

The post LeetCode for Machine Learning: A Game Changer in ML Education appeared first on AIM.

]]>
https://analyticsindiamag.com/ai-news-updates/leetcode-for-machine-learning-a-game-changer-in-ml-education/feed/ 0
Stop Wasting Time on LeetCode, Try Code Reviews and Real-World Coding https://analyticsindiamag.com/editors-picks/stop-wasting-time-on-leetcode-try-code-reviews-and-real-world-coding/ https://analyticsindiamag.com/editors-picks/stop-wasting-time-on-leetcode-try-code-reviews-and-real-world-coding/#respond Thu, 04 Jul 2024 07:44:46 +0000 https://analyticsindiamag.com/?p=10125756

LeetCode was primarily intended for elimination rather than selection. However, this is creating a negative trend in engineering.

The post Stop Wasting Time on LeetCode, Try Code Reviews and Real-World Coding appeared first on AIM.

]]>

LeetCode is losing its charm, slowly but surely. An avid software engineer, Caleb Mellas, recently posted on LinkedIn that many top companies, including Accenture, Airtable, Betterment, and GitLab, are moving away from LeetCode-style interviews to more practical assessments. 

“The only reason we do Leetcode is because Big Tech popularised it, and everyone copied them…There are better ways (sic),” he said, listing alternatives like code review challenges, real-world coding takehomes, short system design problem-solving tests, and data modelling with follow-up questions.

Not everyone agrees though. “Between salary and coding skill, LC helps buff salary more than coding,” shared one of the users on Reddit, who goes by the name ‘4everCoding’, saying that side projects work best to become a better engineer any day. 

Problems of LeetCode

LeetCode was primarily intended for elimination rather than selection. However, this is creating a negative trend in the engineering culture. Several online forums on Reddit have reaffirmed the notion that it is a waste of time that many businesses enforce and expect.

One user expressed their frustration, stating that it’s disheartening to see that the ability to solve LeetCode-style problems has become a cumbersome gatekeeper mechanism.

Tech sector experts have criticised LeetCode and similar services, claiming that technical screens are just as problematic as whiteboarding, an interview method where candidates are asked to solve problems on a whiteboard. 

Limited Use

Beyond cracking the interview, its practical use is very limited. LeetCode trains you to answer questions in 40 minutes. The aim is to pass the interview, not learn something new.

To sum up, as Gaurav Sen, CEO at InterviewReady in a LinkedIn post wrote, “Leetcode is designed for interview preparation, not upskilling.”

Also, there is very little to no content about AI/ML. 

Not Adapt to Changing Times

One of the major arguments against Leetcode is that recruitment is a far more complex process and incorporates much more than coding skills. 

Soft skills have gained much more importance in the tech industry. Applicants need to have good communication skills to convey their ideas and expectations clearly.

Developers themselves have now started pointing out the missteps that companies make while interviewing coders. 

Many of them have clarified that LeetCode has simply become the most popularised method to understand if a candidate is worth interviewing. It only serves as a basic aptitude test and not a testament of individual skills.

One reason is that LeetCode is unconnected to an individual’s day-to-day employment. At the moment, very few of our projects involve discovering an efficient algorithmic solution without assistance.

Second, this type of question tells you little about the quality of code the person will write. At best, it will tell you whether they utilise understandable variable names and properly indent their code.

LeetCode Alternatives

There are various free alternatives to LeetCode that can help you practise coding and prepare for technical interviews. 

There is HackerRank, which provides a variety of coding challenges and tournaments. It includes various topics, such as data structures, algorithms, and artificial intelligence.

Then there’s CodeSignal, which gives coding challenges, interview preparation, and coding competitions. It also includes a function called interview practice, which is intended to help you prepare for technical interviews. 

Other alternatives include CodeForces for algorithmic challenges, CodinGame for game-playing AI and Kaggle for machine learning. 

GeeksforGeeks is another popular resource for computer science principles and coding tasks. Codewars focuses on coding challenges called kata, which are generated and curated by the community. You can solve kata using your choice programming language.

MachineHack Generative AI is another good alternative due to its dynamic hackathons, comprehensive learning resources, strong community support, practical skill assessments, real-world project focus, generative AI training, user-friendly interface, and career opportunities. 

These features collectively make it an excellent choice for anyone looking to advance their AI skills.

What Should Engineers Do?

Senior developers suggest that if one wants to start learning data structures and algorithms, they should start with LeetCode, and then eventually move towards competitive programming sites like CodinGame, Kaggle and CodeForces.

LeetCode facilitates pattern-based learning, which can help you understand concepts easily, whereas sites like CodeForces emphasise the application of these concepts. The topics are more varied, and the problems are much harder. 

These alternatives talk about interesting algorithms and problem-solving techniques.

Not Everything is Bad

Whether you like it or not, LeetCode-style questions are a common feature in most programming interviews. And software engineers should prepare for them. The key is to prepare wisely, focusing on acquiring problem-solving techniques that can be applied to a variety of problems.

Finally, while LeetCode has its place in helping developers improve their problem-solving skills, businesses and engineers must be wary of emphasising it at the expense of other critical software engineering qualities. 

A balanced approach is critical in generating well-rounded, effective engineers.

The post Stop Wasting Time on LeetCode, Try Code Reviews and Real-World Coding appeared first on AIM.

]]>
https://analyticsindiamag.com/editors-picks/stop-wasting-time-on-leetcode-try-code-reviews-and-real-world-coding/feed/ 0
There’s No Point in Learning 10 Programming Languages https://analyticsindiamag.com/ai-origins-evolution/theres-no-point-in-learning-10-programming-languages/ https://analyticsindiamag.com/ai-origins-evolution/theres-no-point-in-learning-10-programming-languages/#respond Tue, 02 Jul 2024 09:30:04 +0000 https://analyticsindiamag.com/?p=10125472 There’s No Point in Learning 10 Programming Languages

To stand out, developers should focus on building unique projects, contributing to open-source, and staying patient and persistent.

The post There’s No Point in Learning 10 Programming Languages appeared first on AIM.

]]>
There’s No Point in Learning 10 Programming Languages

Learning a language alone doesn’t land you a job – and nor does learning 10 of them. Recently, on Reddit, Indian developers discussed if there was any point in finding out the best “stack” or “tech”. The consensus? It’s not the stack or the language but your expertise and specialisation in a chosen field that ultimately matters.

Many people are fixated on finding the hottest new language, coolest tech stack, or latest trends, but this isn’t going to land them a job. One user commented, “Tech stacks are not going to give you jobs, it’s you. There is absolutely no point of learning 10 languages; just pick 2, pick a specific field, and become the best at it.”

The emphasis here is on specialisation rather than spreading oneself thin across multiple technologies. The issue isn’t a lack of demand for developers but rather a lack of good developers. 

There seems to be a lack of supply for good developers, whereas the demand runs high. There are several jobs for 1x developers, but people who are mediocre at 10 of those jobs would not be able to land the one job they need. 

All Programming Languages are the Same

Most young college students or recent graduates don’t realise the importance of specialisation and becoming exceptionally skilled in one area. 

“You just gotta be the whale in the sea of fishes,” a user explained. For instance, companies and teams still want React developers, but with the abundance of them, the question becomes: “Why you? Why would a company hire you when every third person is a React developer nowadays?”

The highest-paid and most skilled engineers are usually language-agnostic; they can quickly learn new languages, are pragmatic, and focus on simplicity and fundamentals. “The mass layoffs are a result of simply hiring “decent” developers who were not specialised and good enough,” said a user. 

To stand out, developers should focus on building unique projects, contributing to open-source, and staying patient and persistent. “Give your time, contribute to open source, build unique projects, stay focused and patient, keep trying, and you’d see good results,” advised one user.

The Reddit discussion highlighted that grinding LeetCode can easily land a starting salary of 100-200k in top-paying companies, but this trend, started by FAANG, is gradually dying. The industry is shifting back towards valuing specialisation and building real-world projects over mere problem-solving skills.

For freshers, building specialisation seems daunting without experience. However, learning a stack and building projects is a necessary first step.

Moreover, learning programming and learning programming languages are not entirely the same thing. “Hyperfocusing on programming languages is similar to people learning other skills obsessing over which tools and materials they need to use,” said a user on another Reddit thread.

Lies on Resume Works, Sometimes

When it comes to India, even skilled developers at times exaggerate and lie on their resumes to get into good companies. Despite holding degrees, many graduates here find themselves unprepared for the practical demands of the industry, making them seem less competitive on the global stage. 

Another Reddit thread discussed, “I am 25 with a bachelor in CS and masters in AI. With 0 YOE [years of experience], I found it tough to land a job after college and had to settle with a generic SDE [software development engineer] role at a small company.” This is increasingly becoming the trend. 

“You are actually free to lie on your resume about a particular tech stack,” suggests a user in a controversial take. If you can learn enough to pass the initial screenings and impress actual engineers in interviews, you might secure the job. However, another user countered, “Works fine for relatively low pay positions… but this is never going to work in the long run.”

Fresh graduates are voicing concerns about their resumes lacking significant projects, which they fear might hinder their job prospects. One such graduate shared, “I don’t have any projects listed on my resume despite knowing C, Java, and Python. My experience is limited to solving coding problems with these languages. Now that I’ve completed my BTech, I’m worried.”

Experienced developers often become language ambiguous, which means they can quickly adapt to new languages and technologies. “The highest paid, most skilled engineers are generally language ambiguous,” observed a user with 14+ years in tech. This adaptability comes from a strong foundation in basics and first principles.

The post There’s No Point in Learning 10 Programming Languages appeared first on AIM.

]]>
https://analyticsindiamag.com/ai-origins-evolution/theres-no-point-in-learning-10-programming-languages/feed/ 0
The Broken Big Tech Hiring Process https://analyticsindiamag.com/ai-origins-evolution/the-broken-big-tech-hiring-process/ Tue, 26 Mar 2024 09:17:26 +0000 https://analyticsindiamag.com/?p=10117175 The Broken Big-Tech Hiring Process

Google's interview process is rigorous, while Meta is ready to hire without interviews.

The post The Broken Big Tech Hiring Process appeared first on AIM.

]]>
The Broken Big-Tech Hiring Process

In 2015, Max Howell, the mind behind Homebrew, a widely acclaimed package manager for macOS and Linux, faced rejection from Google during his job application. Google employees use MacBooks and Homebrew helps developers save hundreds of hours of time, besides boosting productivity.

However, despite Homebrew’s evident impact, Google’s rigorous interview process, known for its challenging data structures and algorithms problems, concluded that Howell, a highly skilled engineer, didn’t meet their standards.

On the other hand, according to recent reports, Meta has been adopting an unconventional hiring process to stay ahead in the AI race. The company has been hiring candidates without interviewing them while also increasing the compensation for employees who threaten to leave. 

A rush for hiring talent, but not without AI

According to internal reports, Meta CEO Mark Zuckerberg has sent emails to Google DeepMind researchers in a bid to hire them. This is a result of the company’s push for generative AI, leading it to investing heavily in that direction. Many of the company’s researchers have left for rivals such as OpenAI and DeepMind, while some have started their own companies, such as Mistral. 

Zuckerberg is reportedly actively intervening in the hiring process for AI talent at the company, which according to employees is not something he usually does. However, Meta still faces hurdles in hiring as the salaries at the company are not as high as OpenAI, Microsoft, or Google. 

Meanwhile Nadella is playing Poke-AI-mon, and 5D chess and gathering the top AI talents in the world. After OpenAI and Sam Altman, he has roped in Mustafa Suleyman to lead Microsoft AI. Possibly, AI is changing how big-tech employees are getting hired. 

Simultaneously, Owen Rubel weighed in his thoughts about the hiring process at Google. Rubel said he is one of the original team members of the Amazon team who consulted AWS team for creating ‘API Chaining’ and Google has rejected him several times after calling for interview. “Google rejects a lot of people because they don’t fit into their ‘box’” he said. 

James Cook replied to this with “too big to fail”, a comment on Google’s rigorous hiring process. Bob Freitas, who applied for Google twice, said that they expect you to prepare for topics within a very tiny time frame, which he said is next to impossible. 

“In the interview process, it was really just a bunch of ‘toy’ problems that only tested your familiarity with those toy problems,” he explained. “But more importantly, the ‘problems’ had nothing to do with the actual job and were just speculative and academic.”

The need for mediocre talent in big-tech

The problem with the big-tech is they do not really want to hire real world business problem solvers, but instead people who have good memorisation skills and enjoy solving theoretical problems. But that too for a very short period of time.

The same is the case with Amazon. Another engineer says that Amazon intentionally pushes away engineers every two years. “Their philosophy is: if you’re smart, you’ll find another job in two years with Apple or Meta. If you’re mediocre you’ll just shrink due to over-the-top targets and leave on your own or you’ll eventually be laid off,” explained Wallace Ly

“The OG Amazon team is long gone I would think. Most young SWE or SDE there spend only two years there and then go join a startup or have a slower life at Meta,” he further explained. Once something is created by experts, these big-tech hire low- or mid-level developers just to support and maintain the architecture, which helps them in saving costs. 

When it comes to Microsoft, Oscar Itaba narrates his story of applying at the company three years ago with a five-stage interview process for a key role. “I solved the LeetCode algorithm…at the system design stage. I was asked to design a LinkedIn post and comment architecture,” he narrated how after the 5th stage they moved his resume to another team to start another interview afresh. 

This made him never apply for such job roles again. 

Alex Chiou, who shared Howell’s experience back from 2015, said that an engineer doesn’t need to put up with this big-tech hiring process anymore. There are a lot of smaller companies that require better talent to build from scratch, and also pay well. 

“Bad times for big tech is a great time for startups that you’ll hear about five years from now,” said Vinod Khosla. Though big tech is also allocating most of its funds for AI projects, employees want to get to it faster, and also get a bigger payout after they succeed – as opposed to mere salaries when the hiring process is this bad.

[Update 27th March, 2024: Designation of Owen Rubel has been updated]

The post The Broken Big Tech Hiring Process appeared first on AIM.

]]>
Code like a Pro with DeepMind’s AlphaCode https://analyticsindiamag.com/ai-origins-evolution/code-like-a-pro-with-deepminds-alphacode/ Wed, 14 Dec 2022 06:30:00 +0000 https://analyticsindiamag.com/?p=10082271

DeepMind’s AlphaCode has emerged as one of the hottest open-source code generators.

The post Code like a Pro with DeepMind’s AlphaCode appeared first on AIM.

]]>

DeepMind’s AlphaCode has emerged as one of the hottest open-source code generators, besides OpenAI’s Codex, Tabnine, CodeWhisperer, and others. If you are new to programming, these tools will make you stand out from the crowd. 

In February this year, the developers at DeepMind examined the potential of AlphaCode by testing it on competitive programming websites where human developers are given programming problems and ranked on the basis of their results.

Can Big Data Analytics come to the rescue in these turbulent times? Register >>

One of them was a competitive coding competition on Codeforces, a popular platform for hosting coding competitions. A selection of ten varied test problems from different stages of development was given to AlphaCode. The AI tool achieved an estimated rank within the top 54 percentile of participants that attended the contest, thus proving that AlphaCode’s code generation system has achieved results at a competitive level.

AlphaCode versus the world 

AlphaCode’s AI system is pre-trained in various programming languages that include C++, C#, Go, Java, JavaScript, Lua, PHP, TypeScript, Ruby, Scala, Rust and Python. This dataset consists of approximately 715 GB of codes along with their descriptions.

Through AlphaCode, DeepMind has been able to fill the gap that is lacking in AI models like Codex—problem-solving skills. AlphaCode has not only been trained to “understand” natural language but also to design complex programmes and algorithms and implement them in code. It has also been trained to convert problem descriptions into code using thousands of problems from coding competitions. 

When presented with a fresh problem, AlphaCode generates candidate code solutions (in Python or C++) compared to GPT-3 algorithms and filters out the bad ones. Whereas researchers had previously used models like Codex to generate tens or hundreds of candidates, DeepMind had AlphaCode generate up to more than 1 million.

Alphacode versus GitHub Copilot

OpenAI’s AI code suggestion tool GitHub Copilot runs on the natural language processing (NLP) model Codex, a boosted version of GPT-3. While it is built with the vision to achieve goals that are similar to that of AlphaCode, Copilot seems to have a difficult road ahead. Here are some of the differences between the two code generation tools:

  • Training: GitHub Copilot’s AI Codex is trained to identify 12 billion parameters as compared to AlphaCode’s AI-based code generation model, which is trained with 40 billion parameters. This improves AlphaCode’s performance fourfold.
  • Suggestion versus Generation: While GitHub Copilot is built to assist programmers in writing rudimentary sections of code, AlphaCode is capable of generating complete complex programmes.
  • Complexity: While both AI tools are in the beginning stages of development, GitHub Copilot suggests basic code involving simple logic, whereas AlphaCode is tested to produce complex algorithms at a competitive level.

Expectations versus reality 

Despite Alphacode performing well in coding competitions, these are usually focused on solving programming problems and giving solutions in the least time possible. Thus, this may not be a fair measure of real time usage.

Most real world problems need realistic and contextual solutions which need developers and programmers to think and solve complex problems, design systems, make design choices, provide different solutions and more. So, in essence, Alphacode might be able to implement coding for already known solutions reasonably well but will likely fail to perform when it comes to solving real world engineering problems.

So, it can implement but not invent! 

Other platforms 

Recently, OpenAI’s ChatGPT has also been able to solve some programming puzzles. Robert Sweeney, a tech entrepreneur, shared in a LinkedIn post that the chatbot was able to get a working solution with an explanation for a Leetcode question in less than ten seconds!

However, Ritesh Menon, a tech expert, revealed in another post that ChatGPT’s responses are articulate but not always accurate. Menon pointed out that while the tool does correctly solve some easy programming puzzles, it falters when faced with more difficult problems. In addition, it gives bizarre answers with equally plausible explanations when one hits the ‘ try again’ option against its responses.

Besides these,  Salesforce’s Codegen is also another tool for coders. It is a 16-billion parameter, auto-regressive language model trained on a large corpus of natural and programming languages. Codegen can handle simple coding tasks but not so much when it comes to more complex problems.

In June 2022, Amazon also released CodeWhisperer, a machine learning-powered service that helps improve developer productivity by generating code recommendations based on developers’ comments in natural language and their code in the integrated development environment. Amazon claims that developers can speed up the development process with CodeWhisperer by simply writing a comment in their IDE’s code editor.

This month, Google Labs also unveiled Pitchfork, an AI that can convert old code to new code and rewrite itself. The list just goes on. 

While these systems attest to what is possible with AI today in the realm of computer programming, only a few of such systems are open source. In an effort to change this, AI startup Hugging Face and ServiceNow Research R&D division launched BigCode, a new project that aims to develop “state-of-the-art” AI systems for code in an “open and responsible” way. 

The BigCode team said that the goal is to eventually release a dataset large enough to train a code-generating system, which will then be used to create a prototype—a 15-billion-parameter model, larger in size than Codex (12 billion parameters) but smaller than AlphaCode (~41.4 billion parameters)—using ServiceNow’s in-house graphics card cluster.

It’s not always rainbows and butterflies for auto-code generating platforms. In November, Kite, an AI assisting tool that helps developers write code, announced that it would no longer be operational. The platform augments the coding environment with the internet’s programming knowledge and machine learning—similar to GitHub Copilot, which uses OpenAI CodeX, a version of GPT-3 language model. 

The post Code like a Pro with DeepMind’s AlphaCode appeared first on AIM.

]]>
Is Leetcode a good measure to test coding skills? https://analyticsindiamag.com/ai-origins-evolution/is-leetcode-a-good-measure-to-test-coding-skills/ Mon, 25 Jul 2022 07:30:00 +0000 https://analyticsindiamag.com/?p=10071465

Developers who stick exclusively to Leetcode are in danger of building a tunnel vision attitude.

The post Is Leetcode a good measure to test coding skills? appeared first on AIM.

]]>

An active and engaging community, Leetcode includes a range of programming languages and data structures. With time, the developer community has adopted Leetcode as an unofficial standard for testing coding skills. In theory, Leetcode is a comprehensive and harmless platform. Coders who are desperate to crack interviews with tech companies have succumbed to the ‘Leetcode grind.’ Several online forums on Reddit have reiterated the idea that dedicating all their time to sweating it out on Leetcode problems would be their route to exceed at the technical interview rounds in Big Tech companies like Google, Apple or Facebook. The overarching importance given to Leetcode has become an obsession among coders. In recent years, an increasing number of job seekers among developers have complained about the now mindless Leetcode grind. Coders have lengthy discussions on Y Combinator message forums about having spent years practising code only using Leetcode to no avail. 

Examples of Leetcode problems to solve for interview, Source: Medium

Limited use

Good engineers have qualities like a meticulous work ethic, writing code that is clean and legible, adhering strictly to their deadlines and spending a big chunk of their time designing before writing any code. Many programmers usually prepare first by setting up a linter in their code before they write any code. Lint is a tool that automatically checks source code for any programming or stylistic errors.

The usage of Leetcode extends only to the technical round. Leetcode exercises, answers to which involve math tricks and obscure solutions, are few in number. Companies are moving toward tests that have more practical applications rather than solutions that can be memorised. Technical interview rounds are now leaning more towards pair programming tests on platforms like Coderpad. Paired programming is more apt considering it is an opportunity for the organisation to test the coder’s communication skills, teamwork and leadership qualities. Bug fixing tests that are more relevant for companies or resolving hypothetical situations where the interviewee has to explain how they would design a REST API or an API that suits the REST architectural style are better suited.

One of the major arguments made against Leetcode is that recruitment is a far more complex process and incorporates much more than coding skills. Soft skills have gained much more importance in the tech industry. Applicants need to have good communication skills to convey their ideas and expectations clearly. 

Developers themselves now have started pointing out the missteps that companies make while interviewing coders. Many of them have clarified that Leetcode has simply become the most popularised method to understand if a candidate is worth interviewing. It only serves as a basic aptitude test. Developers who stick exclusively to Leetcode are in danger of building a tunnel vision attitude. 

No practical application

Experienced developers also suggest applicants take up other alternatives to sharpen their skills, other than artificially created puzzles like Leetcode. Developers must build passion projects like a website or an app which helps them undergo the entire process of development. The strength and uniqueness of a resume are also measured by the projects and internships that the applicant has undertaken. Personal projects are a much better way to showcase creativity and problem-solving skills. Internships are valued more because of how much closer they are to real-world programming. Coders have also suggested shifting to using other underrated resources like HackAttic challenges as compared to Leetcode. 

HackAttic is an underrated alternative to Leetcode

Coders have debated that Leetcode is useful for them to get used to data structures and algorithms initially and can even improve the applicant’s problem-solving skills. But even then, it doesn’t completely encapsulate the programming aptitude of an applicant. This is similar to how SATs are the standardised test for college entrance exams in the US which eventually only indicates how well the student performed at the SATs and are hardly indicative of their overall intelligence. 

Premature code optimisation 

Developers have also discussed how Leetcode often tends to push them to optimise their code prematurely. This can potentially lead to an “analysis paralysis” where problems which could have been solved are optimised right away. During problem-solving within the organisations, brute force solutions are more than enough. The brute force approach to coding is to look at all possible solutions before fixating upon a specific solution to a problem. On the contrary, it may look more appealing to curtail the tedious process by simply eliminating most solutions by using clever algorithms. However, developers with experience suggest that the focus on moving the logic from “O(N) to O(log n)” for optimisation is not very realistic. In reality, brute force solutions are the ones that make an actual dent in the performance of an algorithm. Solutions like ZigZag Conversion and Merge k Sorted Lists are better examples of this type of problem. 

Right approach necessary

Besides taking these factors into consideration to have a healthy sense of dependence on the platform, coders often fail interviews despite having practised using Leetcode for a long time. It is advisable not to filter problems by subject because it is necessary for applicants to habituate themselves to all kinds of problems. Sticking to a single kind of problem like string manipulation or sorting algorithms will mean the coder is making the test easier for themselves. 

Developers should also not treat Leetcode as a contest to boast how much faster their solution is, as these percentages aren’t an applicable factor. A different approach to the same problem will have a different pace and show a different metric. 

The post Is Leetcode a good measure to test coding skills? appeared first on AIM.

]]>