7 ms·
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
- gregtim 4y agoStaying 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/ 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.
- cecida 4y agoWith 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.
- dstala 4y agoLearning 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
- ElijahLynn 4y agoGood point, prompt engineering is going to be a very useful skill! Prompt engineering appears to be similar to quality search skills. Learning how to use a search engine for instance, is a key skill that many engineers don't spend time on. I bet a bunch of people reading now don't know you can make sure a word is not included in a search, e.g.'javascript -coffee' or quote a word to make sure it appears e.g. 'javascript "dom"' or use the OR operator e.g. 'javascript OR ecmascript'. All part of the skill of searching, which I consider to be a "multiplier skill", multiplier skills are something where the value pays large dividends over time, much larger than the time invested. Good prompt engineering is going to be a key skill, both for image generation and text generation.
- dstala 4y agoRight keyword - "multiplier skill"! You have said it right. Prompt engineering can be treated that way.
- effnorwood 4y ago[dead]
- DantesKite 4y agoHighly 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.
- ipaddr 4y agoAs 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.
- great_psy 4y agoMaybe I suffer the same fear as op, but I think this is different. The cost to create software is rapidly decreasing with tools like this. For most people on HN making software is how they pay their bills. If I was paying my bills with injection moulding, I would try to be on top of 3D printing as well.
- Jensson 4y agoBut AI today isn't useful enough to make a dent and AI tomorrow will require different skills. Spending lots of time figuring out good prompt structure etc for current AI will likely not translate well at all to what a good prompt will look like in future models, that will just be waste of space in your brain.
- p1esk 4y agoYou don’t need to get “on top of it” right now. The technology is not ready yet. Give it a few more years.
- krageon 4y agoThe cost to create software hasn't lowered yet, and it is a stretch to assume new tools (which historically speaking are likely to cost more than they'll deliver, while being used anyway) will definitely make a dent in that. In most organisations software engineering cost doesn't have anything to do with available engineering capacity and is instead overhead from endless folks who want to have input on all decisions, which no amount of AI will solve (well, I guess something like Skynet would...).
- is_true 4y agoFor now I think copilot is a really powerful prototyping tool. I'm using it as a MVP helper, if something sticks I just rewrite the functionality
- yumraj 4y agoI 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/main/guides/prompts-intro.md https://github.com/dair-ai/Prompt-Engineering-Guide/blob/mai...
- noloblo 4y agohaskell, FP RNNs: http://karpathy.github.io/2015/05/21/rnn-effectiveness/ http://karpathy.github.io/2015/05/21/rnn-effectiveness/ https://hackage.haskell.org/package/grenade 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 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 http://www.intelligency.org/ai_lisp.php or for elixir : https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1 https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1
- keyle 4y agoCould you elaborate why haskell?
- noloblo 4y agoHaskell composing well and type safety makes handling the complex networks of rnns very elegant
- nextos 4y agoIMHO typed FP is important, but not at DL library level. It's going to be hard to match what projects like JAX offer. I think FP, and in particular typed FP, is going to be important for code generation. I think successors of ChatGPT will generate much better code partly because they will explicitly target FP languages. FP code is composable, so it's easier to generate small functions that are correct. Code synthesizers powered by SAT solvers already achieve impressive results, especially when targeting typed FP languages. I imagine that in the not-so-distant future many programmers will be writing type signatures and GPT-like systems will autocomplete function bodies. This might also make formal verification appealing, because one would like to make sure AI-generated code is correct and also because AI-powered assistants will make it more cost-effective.
- ihatepython 4y agoI would recommend combining AI with the power of blockchain.
- deleted 4y ago[deleted]
- ElijahLynn 4y agohttps://www.reddit.com/r/StableDiffusion/ https://www.reddit.com/r/StableDiffusion/ https://www.reddit.com/r/ChatGPT/ https://www.reddit.com/r/ChatGPT/ https://www.youtube.com/watch?v=kCc8FmEb1nY https://www.youtube.com/watch?v=kCc8FmEb1nY (Let's Build GPT: From scratch, in code, all spelled out) https://openart.ai/promptbook https://openart.ai/promptbook (Stable Diffusion Prompt Book) https://www.emergentmind.com/ https://www.emergentmind.com/ (Formerly LearnGPT.com) https://platform.openai.com/playground https://platform.openai.com/playground https://chat.openai.com/chat https://chat.openai.com/chat (pay for plus, you can learn faster)
- charlierguo 4y agoI'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/ https://generatives.substack.com/
- 13years 4y agoTechnology evolution looks like it may become the new rat race. By the time you plan your course of action and skills you need, it is then obsolete before you can complete.
- karmasimida 4y agoUsing 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.
- quickthrower2 4y agoTrue but ability to read and understand code will be as important as ever: maybe more important. Your job will be perpetual mini code reviews!
- gregtim 4y agohttps://www.aot-technologies.com/ https://www.aot-technologies.com/
- rolenthedeep 4y agoIf I've been living under a rock for the past 6 months, how do I get started using ML tools in my programming flow?
- gregtim 4y agoTo 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/ https://www.aot-technologies.com/ for new softwre developement practises with AI.
- dev_0 4y ago[dead]
- wruza 4y agoAre we there yet, for ${subj}? Is it even clear that we are driving straight? (Living under a rock.)
- ravagat 4y agoYou 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.