Ask HN: How do I stay on top of AI within software development?
What are the steps I should be taking now to take advantage of AI as a developer? So far I've been using it to replace Google, generate boilerplate code, generate example code for working with an API, and just bouncing ideas off of it.
I've been collecting several resources that seem useful (besides ChatGPT). I've been wanting to understand these technologies deeper [1, 2, 3].
Are there other resources that are recommended?
Should I be learning more about prompt engineering? [4]
[1]: https://writings.stephenwolfram.com/2023/02/what-is-chatgpt-doing-and-why-does-it-work/
[2]: https://www.fast.ai/
[3]: https://karpathy.ai/zero-to-hero.html
[4]: https://github.com/dair-ai/Prompt-Engineering-Guide
As a developer tools will be created for you. You could make better tools or the next wave of tools.
You could offer the public a different interface on top.
This post tells me you have fear of missing out. Your 3d printer inexperience or ability to create your own smart contract hasn't held you back and neither will this.
Staying on top of AI within software development requires continuous learning and staying updated with the latest trends and advancements in the field. Here are some tips that can help you:
Follow relevant news sources and publications: Stay updated with the latest news and developments in the field of AI by subscribing to relevant news sources and publications such as AI News, MIT Technology Review, and TechCrunch.
Attend conferences and workshops: Attend AI conferences, workshops, and meetups to learn from industry experts, network with peers, and stay updated on the latest advancements in the field.
Join online communities and forums: Join online communities and forums such as GitHub, Reddit, and Stack Overflow, where you can interact with other developers, ask questions, and learn from their experiences.
I've been working with AOT Technologies (https://www.aot-technologies.com/) for past 3 years, I've seen how well they are gelling with the latest AI technologies and how they are promoting the AI Techs among the developers. So the culture and freedom in your organisation is also an important factor.
Highly recommend following or making a list of machine learning accounts on Twitter.
I find that's almost always where news breaks out first if you really want to be on top of things.
To stay on top of AI within software development, you can attend industry events and conferences, join online communities and forums, read industry publications and research papers, and participate in training and certification programs. Additionally, it's important to stay informed about emerging AI technologies and trends, experiment with different tools and techniques, and collaborate with experts in the field to share knowledge and best practices. Continuous learning and experimentation are key to staying ahead in the rapidly evolving field of AI within software development. You can also check https://www.aot-technologies.com/ for new softwre developement practises with AI.
With the same skepticism you should treat any technology that has lots of VC investment, sounds cool, has concepts that people initially don't understand, and will attract every sort of vulture that has finished picking off the blockchain/ICO/NFT/defi carcass.
You have multiple questions that I'll try to cover. They are rightfully questions that anyone working in software development should have.
> How do I stay on top of AI within software development?
The best way is to apply the same way you do with software development into AI. AI is pretty much just software on different layers. The abstract of AI is still being determined so that's why you may be feeling FOMO now. What's happening now is basically an arms race for AI and testing it in real-time.
> What are the steps I should be taking now to take advantage of AI as a developer?
Gain access with any publicly available products with AI, such as Copilot, ChatGPT, etc. and use them. Another important subset of AI are the developer tools test them out and offer to test and review if they're offering such programs. Your list is already good btw. One thing I haven't seen mentioned is learning the overall fundamentals of AI outside the software we're seeing. Since we're at an arms race moment for AI, there will be a lot of changes understanding the fundamentals then would be a net positive to better iterate learning as releases happen.
> Are there other resources that are recommended?
Many already shared here, I'd take a look at those. If you use Twitter I recommend making a list and actively revisiting it atleast weekly or twice a week.
I've been grappling with this same question myself. Depending on what areas your focused on, you should probably look in different places.
- New product launches: HN, Reddit, Twitter
- Technical ML advancements: arXiv, GitHub, HN
- Building your own projects: Project docs (Stable Diffusion, OpenAI), Andrej Karpathy, GitHub
Shameless plug - I've been asking myself the same question lately, and I've started exploring as much as I can and documenting everything I find: https://generatives.substack.com/
I read the introduction [0] to prompt engineering in the [4] (above), and am confused, isn't it just common sense.
To be honest I didn't dig deep, but the introduction [0] seems obvious stuff. Am I missing something?
[0] https://github.com/dair-ai/Prompt-Engineering-Guide/blob/mai...
https://www.reddit.com/r/StableDiffusion/
https://www.reddit.com/r/ChatGPT/
https://www.youtube.com/watch?v=kCc8FmEb1nY (Let's Build GPT: From scratch, in code, all spelled out)
https://openart.ai/promptbook (Stable Diffusion Prompt Book)
https://www.emergentmind.com/ (Formerly LearnGPT.com)
https://platform.openai.com/playground
https://chat.openai.com/chat (pay for plus, you can learn faster)
haskell, FP
RNNs: http://karpathy.github.io/2015/05/21/rnn-effectiveness/
https://hackage.haskell.org/package/grenade
haskell, composing well FP, succintness is important for complex concepts involved in RNN, and using an RNN as another layer in Grenade is very elegant and this is enabled by the haskell's composability, type-safety and type-classes. This makes RNNs almost fun relative to how painful tensorflow and their imperative kin are to use in python. Albeit tensorflow is more advanced with more advanced features not yet available in weka, grenade, hlearn.
not all neural networks are equal imho: https://www.youtube.com/watch?v=sPjA6lS0GlQ
>> what’s really nice about these functions is that they directly mirror the functions in Layers, in fact, this match works so well that we can embed a Network as a Layer in another Network. Grenade is a dependently typed, high level, artificial neural network library written in Haskell. It’s pretty robust, fast, and expressive, and uses some interesting type level programming techniques which don’t appear to have been used in neural networks before. Grenade does a lot of things right, it’s very expressive in my view, and makes the construction of networks incredibly safe: they essentially can’t crash, and they’ll always be sound. It’s also pretty quick, using BLAS and some hand written C, I’ve found this acceptable for a lot of problems.
or for lispers : http://www.intelligency.org/ai_lisp.php
or for elixir : https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1
Learning about prompt engineering will help, but my guess is- it'll evolve too with newer versions of GPT and it's significance could go down as we get bigger and higher dimension models.
If I'd already developed an application- I would explore ways to make it AI native app. Question I'll be asking myself would be: is there anything in my app that needs prediction, classification or generation? Will my app user gets any benefit out of it?
For example: if HN was my app,I could show more relevant articles based on my history or comments. But does end user really need it? That's answer we should dig in ourself though
Using copilot? Trying to be more creative using it.
You will be an architect moving forward with AI, rather than an engineer.
Coding, as writing code by yourself, will be more of a brain-dead job in the future, how to instruct AI to write code for you more efficiently will be a bread bringer.
Are we there yet, for ${subj}? Is it even clear that we are driving straight? (Living under a rock.)
If I've been living under a rock for the past 6 months, how do I get started using ML tools in my programming flow?
undefined
[dead]
I would recommend combining AI with the power of blockchain.