It's becoming more and more clear that the future of development includes AI to co-write your code. Humans will be doing more Software Engineering/Development and less coding. Note that there are still significant limitations with having AI modify existing code without human help. Also, AI isn't great at systems-level thinking, cross-file/module thinking, edge-case thinking, etc. If you can define the functions you need, AI is REALLY good at implementing your functions today. Reminds me of some Masters work I did in 2000 where we were defining requirements using formal mathematics and then generating code based on the definition of the function. Only, it's MUCH easier to define behavior today in natural language. (Formal mathematics is hard)
We test more than 1,750,000 engineers every year as part of pre-hire assessments for some of the top technology and finance brands. We ran some of the most cutting-edge LLMs (including 🍓) through the same tests and found some mind-blowing insights. 1/ Our benchmarks show OpenAI’s 🍓 (o1-preview) dramatically outperforming all other AI models. However, the race between all other models is incredibly close with Claude Sonnet beating GPT4o in absolute score and GPT4o getting the upper hand in solve rate (i.e. getting to a fully working solution). 🏎️ 2/ While top AI models outperform most engineers in coding, the top 20% of engineering candidates can't be challenged even by the all-mighty o1 model! 💪 3/ AI performance improves drastically with multi-shot settings (especially for `o1-preview` and `o1-mini`), too many shots can lead to diminishing returns. The sweet spot seems to be 3-5 shots for models like 🍓 and GPT-4o. Also, some models can go off the rails when given too many shots. 💉 4/ The future of software engineering and technical assessments? Human-AI collaboration. 🤝 We’re building tools to ensure engineers are ready to co-pilot with AI, where the synergy between human intuition and AI strength will drive innovation. See comments for a link to the full research. #technology #innovation #future #artificialintelligence
Software Engineer – iOS and Web
3moThat should be the job of the compiler in my opinion. Not something spewing boilerplate that's been around online maybe for decades. And understanding what your high level code is actually doing on the hardware becomes important quick. You don't read the documentation to learn how to do the easy stuff. You read the documentation to learn how the system works and how best to use it. What is the test criteria? Reverse a linked list? Build a hash table? Or something novel?