Learning with Treehouse for only 30 minutes a day can teach you the skills needed to land the job that you’ve been dreaming about.
I can honestly say that besides technical knowledge, Treehouse also gave me a certain mindset, and while I generally am a very ambitious person, with each completed course I felt energized to better myself even more.
Is there any advice you’d like to share with new students who are aspiring developers?
I’ve been only for about 2+ years in this industry and I could already write tens of pages about what should and should not be done by aspiring developers, but here’s a few:
If you’re offered a project you know nothing about, take it, you’ll learn after.
Be passionate about it. If your brain doesn’t get “turned on” by new concepts, libraries, programming languages, you should not be doing it.
Get ready to learn continuously. The web is like the Universe. Ever expanding. Consequently the same has to happen to your knowledge and skill-set.
Teach others and code forward ( code forward is a concept I came up with and it comes from “pay it forward”; it basically means do a few projects for free once in a while for people who deserve it ).
Accept failure as a necessary step in self-betterment.
Research before asking questions and know when to ask. Putting in even hours or days for finding the solution will always be more rewarding in the long-run than asking a question on StackOverflow waiting to be spoon-fed the answer. That being said, asking has its place especially in a team-based environment or if the deadlines are (as they often are) very tight.
Go to as many interviews as you can. If you tell a recruiter (agent) that you’d like to go to the interview even if just for the sake of the experience, they’ll respect you for that, and will do their best to land you an interview. That being said, don’t just rely on recruitment agencies, show some initiative and contact companies on your own too. It might just be the detail that gets you hired.
Finally, keep learning, especially when you feel discouraged.
The in-vogue languages vary by employment sector. Financial and enterprise systems need to perform complicated functions and remain highly organized, requiring languages like Java and C#. Media- and design-related webpages and software will require dynamic, versatile and functional languages with minimal code, such as Ruby, PHP, JavaScript and Objective-C.
With some help from Lynda.com, we've compiled a list of 10 of the most sought-after programming languages to get you up to speed.
What it is:Java is a class-based, object-oriented programming language developed by Sun Microsystems in the 1990s. It's one of the most in-demand programming languages, a standard for enterprise software, web-based content, games and mobile apps, as well as the Androidoperating system. Java is designed to work across multiple software platforms, meaning a program written on Mac OS X, for example, could also run on Windows.
Beginners are advised to learn C/C++ first, as Java is not the most user-friendly of languages.
What it is: A general-purpose, imperative programming language developed in the early '70s, C is the oldest and most widely used language, providing the building blocks for other popular languages, such as C#, Java, JavaScript and Python. C is mostly used for implementing operating systems and embedded applications.
Because it provides the foundation for many other languages, it is advisable to learn C (and C++) before moving on to others.
What it is:C++ is an intermediate-level language with object-oriented programming features, originally designed to enhance the C language. C++ powers major software like Firefox, Winampand Adobe programs. It's used to develop systems software, application software, high-performance server and client applications and video games.
What it is: Pronounced "C-sharp," C# is a multi-paradigm language developed by Microsoft as part of its .NET initiative. Combining principles from C and C++, C# is a general-purpose language used to develop software for Microsoft and Windows platforms.
What it is: Objective-C is a general-purpose, object-oriented programming language used by theApple operating system. It powers Apple's OS X and iOS, as well as its APIs, and can be used to create iPhone apps, which has generated a huge demand for this once-outmoded programming language.
What it is: PHP (Hypertext Processor) is a free, server-side scripting language designed for dynamic websites and app development. It can be directly embedded into an HTML source document rather than an external file, which has made it a popular programming language for web developers. PHP powers more than 200 million websites, including Wordpress, Digg andFacebook.
What it is:Python is a high-level, server-side scripting language for websites and mobile apps. It's considered a fairly easy language for beginners due to its readability and compact syntax, meaning developers can use fewer lines of code to express a concept than they would in other languages. It powers the web apps for Instagram, Pinterest and Rdio through its associated web framework, Django, and is used by Google, Yahoo! and NASA.
What it is: A dynamic, object-oriented scripting language for developing websites and mobile apps, Ruby was designed to be simple and easy to write. It powers the Ruby on Rails (or Rails) framework, which is used on Scribd, GitHub, Groupon and Shopify. Like Python, Ruby is considered a fairly user-friendly language for beginners.
What it is: JavaScript is a client and server-side scripting language developed by Netscape that derives much of its syntax from C. It can be used across multiple web browsers and is considered essential for developing interactive or animated web functions. It is also used in game development and writing desktop applications. JavaScript interpreters are embedded in Google's Chrome extensions, Apple's Safari extensions, Adobe Acrobat and Reader, and Adobe's Creative Suite.
What it is: Structured Query Language (SQL) is a special-purpose language for managing data in relational database management systems. It is most commonly used for its "Query" function, which searches informational databases. SQL was standardized by the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO) in the 1980s.
Data Science, Machine Learning, Big Data Analytics, Cognitive Computing .... well all of us have been avalanched with articles, skills demand info graph's and point of views on these topics (yawn!). One thing is for sure; you cannot become a data scientist overnight. Its a journey, for sure a challenging one. But how do you go about becoming one? Where to start? When do you start seeing light at the end of the tunnel? What is the learning roadmap? What tools and techniques do I need to know? How will you know when you have achieved your goal?
Given how critical visualization is for data science, ironically I was not able to find (except for a few), pragmatic and yet visual representation of what it takes to become a data scientist. So here is my modest attempt at creating a curriculum, a learning plan that one can use in this becoming a data scientist journey. I took inspiration from the metro maps and used it to depict the learning path. I organized the overall plan progressively into the following areas / domains,
Fundamentals
Statistics
Programming
Machine Learning
Text Mining / Natural Language Processing
Data Visualization
Big Data
Data Ingestion
Data Munging
Toolbox
Each area / domain is represented as a "metro line", with the stations depicting the topics you must learn / master / understand in a progressive fashion. The idea is you pick a line, catch a train and go thru all the stations (topics) till you reach the final destination (or) switch to the next line. I have progressively marked each station (line) 1 thru 10 to indicate the order in which you travel. You can use this as an individual learning plan to identify the areas you most want to develop and the acquire skills. By no means this is the end; but a solid start. Feel free to leave your comments and constructive feedback.
PS: I did not want to impose the use of any commercial tools in this plan. I have based this plan on tools/libraries available as open source for the most part. If you have access to a commercial software such as IBM SPSS or SAS Enterprise Miner, by all means go for it. The plan still holds good.
PS: I originally wanted to create an interactive visualization using D3.js or InfoVis. But wanted to get this out quickly. Maybe I will do an interactive map in the next iteration.