THE ROAD TO CODE WEB DEVELOPMENT IMMERSIVE May 31 ANDROID DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY
GENERAL ASSEMBLY @GA_CHICAGO WWW.FACEBOOK.COM/GENERALASSEMBLYCHI @GA_CHICAGO
GENERAL ASSEMBLY
GENERAL ASSEMBLY @THE_NERDERY
THE ROAD TO CODE Scott Baumbich, Swift Developer SWIFT DEVELOPMENT
What is Swift? Swift is a modern programming language that made its first appearance in June 2014. Powerful Intuitive Interactive Fun Concise Expressive
How Swift is used in the industry? ios OS X tvos WatchOS IBM Android? Facebook?
Focus Choosing Swift as your first programing languag Why do YOU want to program? Time commitment Learning curve Life style
Swift Pros Swift is easier to read and write Swift can result in shorter overall code length Swift has some clever tricks up its sleeve Cons It doesn't do everything Objective-C does You need to know Objective- C to debug the code/ framework Since, the language is new the pool of Swift developers is very limited.
The job market for Swift developers
Questions? Scott Baumbich, Swift Developer @ScottBaumbich Scott-Baumbich SBaumbich777@Gmail.com SBaumbich
Ruby, Rails & my coding journey Nicole Lopez
About Me Ruby on Rails engineer at Avant Majored in Arabic Language and Literature Worked in Immigration for 4 years Learned to code through the internet and Meetup groups Started learning with HTML, CSS, Sass, and then Python, Javascript, and eventually Ruby and Rails Started from the front end now I m here
How I Learned... Online Coursera -- Introduction to Programming with Python Codecademy -- HTML and CSS Meetups Girl Develop It -- Sass and Javascript Railsbridge -- Intro to Rails Chicago Women Developers -- Basic bash, Ruby Side Projects & Tutorials
Ruby
What is Ruby? A programming language. a dynamic, reflective, object-oriented, general-purpose programming language
Ruby s methods and object types are dynamically determined at runtime rather than compile time. But what does that mean? Ruby uses reflection to modify its own structure and behavior at runtime (think metaprogramming). Follows an object-oriented programming paradigm. In Ruby, everything is an object. Designed for general purpose use across a wide variety of application domains.
Why Ruby? Accessible, flexible, friendly community, and overall FUN
"I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language." - Yukihiro "Matz" Matsumoto, creator of Ruby pictured >>
PROS Ruby is ACCESSIBLE Low barrier of entry to learn Ruby Easy variable and method definitions without static typing Takes care of memory allocation & garbage collection so you don t have to Reads like English Great documentation Gems are plentiful
Simple code leveraging the power of Gems
PROS Ruby is FLEXIBLE Can write the same thing many different ways Object-Oriented by nature Duck-typing -- if it acts like a duck and quacks like a duck, it s a duck Metaprogramming -- can write code that writes more code
Can also define this array with Array.new(...) or [ hearts, diamonds ] Flexibility & brevity of metaprogramming The Deck object holds many Card objects, keeping Deck & Card logic separate. Reads like English
CONS With great power comes great responsibility. Metaprogramming -- is a blessing and a curse Not great for concurrency or high performance with real-time data Flexibility allows people to be too clever No strong typing allows for mysterious bugs Easy to depend on gems. Which may not always be 100% reliable or documented
Rails
What is Rails? An opinionated Model View Controller (MVC) framework written in Ruby that favors convention over configuration.
PROS Speed of app development rails generate commands rake commands (ruby make) Great documentation -- many tutorials Tons of features out of the box Database, ORM Server with Rack middleware RESTful routing Web pages with built in templating helpers Mailer, Job processor Test framework Tons of gems optimized for rails
What you d see at localhost:3000 when booting up a blank Rails app
Accessible documentation across experience levels
Helpful Errors
CONS For beginners, easy to confuse what s from ruby and what s from rails Rails handles a lot of set-up and configuration from you -- to learn more, you ll need to dig deeper The concept of models in rails can lead to problematic architecture with tight coupling between business logic and objects stored in the database Not performant at scale for same reasons Ruby isn t performant at scale
Opportunities in Ruby on Rails
Tons of opportunities for Ruby and Rails devs Many companies use Rails including Github, Airbnb, Soundcloud, Avant, Enova, Basecamp, Reverb the list goes on. 83 Ruby opportunities listed on Built in Chicago s job page Rails lends itself to rapid development, so is a language used by many start ups.
Main Takeaways Ruby is a great first language for beginners interested in building web apps, and Rails is a great first framework to learn. Rails is a great framework to use to get your app up and running fast. Don t stop learning at Ruby on Rails. Keep digging beneath the surface to further your knowledge! There are tons of job opportunities for Ruby and Rails developers.
Questions? Ruby/Rails Links: http://ruby-doc.org/ http://guides.rubyonrails.org/ Uncle Bob talk about the Lost Years of Software Architecture More info about companies using Rails & Job opportunities here: http://skillcrush.com/2015/02/02/37-rails-sites/ http://www.builtinchicago.org/jobs http://www.rorjobs.com/ http://stackoverflow.com/jobs?tags=ruby-on-rails
Thank you! Github: BintLopez Twitter: @Bint_alBeatz
From PHP to Java Ian Olson Proprietary and Confidential / 2016 The Nerdery, LLC
WHO Ian Olson IS Senior Software Engineer at The Nerdery Professional Developer since 2012 THIS NERD? Open Source Contributor Laravel (PHP Framework) Artisan Languages: Java, PHP, HTML, CSS Proprietary and Confidential / 2016 The Nerdery, LLC 3
Let s Talk about Java Not the coffee! Proprietary and Confidential / 2016 The Nerdery, LLC
What is Java? Java is a general purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers write once, run anywhere (WORA), meaning that compiled Java code can run on all platforms that support Java without the need of recompilation. Proprietary and Confidential / 2016 The Nerdery, LLC 5
Java Use Cases Enterprise Desktop Applications APIs & Micro-Services MVC Framework Proprietary and Confidential / 2016 The Nerdery, LLC 6
Getting Started with Java Tutorials / Websites / Blogs Spring MVC Getting Started (http://spring.io/guides/gs/serving-web-content) Mkyong.com (http://www.mkyong.com) Tools Spring Boot (http://projects.spring.io/spring-boot) Spring Initializer (http://start.spring.io) Intellij IDEA (https://www.jetbrains.com/idea/download/) Books Effective Java (2nd Edition) (http://amzn.to/1w4r6w2) Proprietary and Confidential / 2016 The Nerdery, LLC 7
Pros and Cons of Java CONS PROS Bigger projects can be difficult to compile and build Development is more expensive than in PHP or Python. #1 Popular Programming Languages on TIOBE Index Write once, run anywhere Built with Security in mind Big and Dedicated Development Community Outstanding Performance Proprietary and Confidential / 2016 The Nerdery, LLC 8
Job Market for Java Job market for Java is in high demand. A quick search over on Indeed.com, currently showed 1500+ job postings for Java in Chicago. We here at The Nerdery are looking for Java software engineers to work on some great projects. Proprietary and Confidential / 2016 The Nerdery, LLC 9
Shameless Plugs Email: ian.olson@nerdery. com Twitter: @ianmolson Proprietary and Confidential Proprietary / 2016 and The Confidential Nerdery, LLC/ 10 10
Questions? Proprietary and Confidential / 2016 The Nerdery, LLC 11
WHY PYTHON?
QUICK INTRO Unrelated college degree Bootcamp grad 2 years in Python Chicago PyLadies Co-organizer 3-legged cat owner
WHAT IS!?
COMMON USES Data science and academia Web development Scripting
THE ZEN OF PYTHON Beautiful is better than ugly. Explicit is better than implicit. Simple is better than complex. Complex is better than complicated.
Sparse is better than dense
There should be one --and preferably only one-- obvious way to do it.
Errors should never pass silently.
POPULAR FRAMEWORKS Django Flask Falcon Pyramid
GETTING A JOB IN PYTHON
PYTHON DRAWBACKS Large community -> slow to adopt innovation The Global Interperter Lock (GIL) Fewer bootcamps
Now is better than never.
THANK YOU Slides and presenter notes available upon request @JLUnrein jessunrein.com
THE ROAD TO CODE WEB DEVELOPMENT IMMERSIVE May 31 ANDROID DEVELOPMENT IMMERSIVE May 31 GENERAL ASSEMBLY