The document discusses various tech trends including the future of C# programming language, Hadoop and big data solutions, JavaScript frameworks, software architecture principles, and work independence and remote work. The key points are that C# will continue to be supported and updated, Hadoop is useful for large data problems, JavaScript remains popular for client-side development, simplicity and iteration are important to architecture, and remote work is increasingly common and possible for tech careers.
2. Here’s what we’re going to do
I’m going to talk about what I heard and know
I’m going to talk about why I think that’s relevant to you
(that’s what all presentations should be, I think)
Disclaimer: I’m not talking official Calamos Canon. I’m off the cuff here. And
maybe a little off the reservation.
3. Emergence
Keynote
Systems of complexity
Snowflakes are constructed with emergence – out of the physics of water
and randomness – 14 different stable states of ice.
Complex systems are all built on top of a scaffold that sets the rules, but
enables organic growth
4. How is emergence relevant to us?
The complex system of the office
Behavior emerges from the core and very simple rules of operation
When looking at the situation around you, be aware of the simple rules
that create that situation. If you don’t like the situation, change the
rules, the scaffold, not the situation
Don’t rigidly architect systems, put simple rules in place and allow them to
organically grow
5. Future of C#
Roslyn is coming (you know about Roslyn, right?)
No huge paradigm shifts in C# 6
Will be released with a future version of Visual Studio
Lots of new syntactic sugar
Pulling in features and keeping competitive with Java 8
6. What does that mean to us?
At the moment, nothing.
Well, it’s something cool to have a look at and know is coming
Also, it means that MS continues to support our tool of choice and is
keeping it fresh and relevant
7. Hadoop and big data
Hadoop is a Map/Reduce solution
Runs on Microsoft platform, both locally and in Azure
Perf scales linearly with N machines
Should be a 15 minute job to get Hadoop running on your machine with an
emulator
Two choices
HD Insight emulator (and as a NuGet package)
Horton data platform
8. What does this mean for us?
This solution is useful anywhere we have lots of independent calculations
that take a lot of time to calculate
Risk analysis, future projects, even security or company calculations would
all be good candidates.
9. Blablascript
Javascript is still the belle of the tech ball
Can be done simply (know your basics)
Can be done SOLIDly (know your advance-ics)
Can be tested (know your frameworks)
Can be wrapped (know your TypeScript (or CoffeeScript))
10. What do I need to know about JS
usage?
Richer client side applications demand more JavaScript
Node.js is becoming ever more popular. JS is really a first class language
for development
Even if you use JS libraries, it’s still key to know the basics
Javascript, the good parts is constantly referenced – might be worth a read
Angular.js is the king of the mountain for JS presentation frameworks, although if
you’re considering KnockoutJS, Durandal is a strong competitor to Angular and
uses KOJS under the covers.
jQuery still very much in favor
Type/Coffeescript still very much in favor
11. Architecture
“Anyone can design a bridge that stands. It takes an engineer to build a
bridge that barely stands”
“The point of programming is making money”
“Simplicity: maximize the amount of work not done”
“MVP: Minimum viable product”
12. What does that mean to us?
No “one true way” to set up projects
No “one true way” to pick tools
Talk with your architect and rapidly size/spec the project based on need
Iterate
Use the scaffolding provided, let beauty emerge
14. Independence
Being independent isn’t that much different
Thinking independently is a good thing
Many technology people are unhappy in their positions
Corporate politics
Project ebb and flow
Maintenance
15. How are you affected by
independence?
Industry changing
Happiness is achievable
You can be not a pawn and actually be more secure
Independence doesn’t necessarily mean going it alone – it’s about
owning your own career and destiny
“Don’t argue with stupid; be more awesome”
16. Remote
A big part of independence
Unbelievable how many tech folks are 60-100% remote
Corporate IT
Consulting
Like, literally, I could not believe what I was hearing
Independent
Some detractions
Pairing is difficult – mitigation: ScreenHero
Social, isolation – mitigation: team culture and lots of f2f IM/chat
17. What does remote mean to us?
It’s a reasonable request to your manager/company
Remote work is primarily a trust issue
Productivity metrics > butt in seat management
JIRA is coming; having real metrics may enable better remote trust
18. Summary
Lots of great stuff on the web front
Lots of talk of SOLID principles and testing
Lots of discussions about independence and freedom of thought for
developers
Lots of open positions out there. Companies are not looking for good
people at this point. Some of them are looking for good groups or teams
of people.
New tech? High demand? This is a great time to be a developer.