Navigating the Software Industry
Excerpts from a lecture we had from a industry consultant at school:
Programming Paradigms
(Ways to think about and practice programming)
- Imperative (give computer ordered instructions)
- Declarative (tell computer what to do, not how)
- Procedural (break program into procedures)
- Object oriented (mix data and behaviour)
- Functional programming (everything is functions)
- Logic Programming (define facts and inference rules, useful for queries)
- Event Driven programming (events trigger actions)
- Concurrent programming (parallel handling of many tasks)
- Reactive Programming
- Component-based Architecture (Make reusable components and UI trees)
- Declarative User Interface (UI is a function of application state)
Recommendations for Sunnmøre (finest part of Norway)
Various languages, frameworks and technologies relevant for working around Sunnmøre:
- C# (lots of MS-oriented jobs)
- Java
- Python
- JavaScript (it’s unfortunately just inevitable…)
- TypeScript
- SQL
- Excel (no joke)
- React
- Flutter
- Apache Kafka
(No big surprises here)
On a more general note, the specific languages do not really matter so much, as long as you understand the concepts and constructs that underlie programming.
Otherwise grow up and become a senior developer:
- Take responsibility
- Think about the users and the business
- Do what needs to be done, not what you think would be fun
- Be flexible, let the future unfold
“For any change to happen in your life you must be wrong about something” - Mark Manson
(a quote he added about learning by doing)
Summary
- Attitude is more valuable than skill
- Learn paradigms and constructs
- Practice the constructs using tools
- Challenge yourself
- Keep learning and keep growing
The first point will probably become more and more relevant with increased usage of AI. He also mentioned we should try to make a game at some point. This will provide a lot of great experience while being fun at the same time.
I Approve