Geek Lands: skills

A fresh blog on latest technology and programming trends for the Geeks by a Geek.

Recent Posts

Showing posts with label skills. Show all posts
Showing posts with label skills. Show all posts

Wednesday, August 30, 2017

4 resources to find free Cisco skills and certification labs

August 30, 2017 0
4 resources to find free Cisco skills and certification labs
Options include virtual courses, live teachers and instructional software

 

For network professionals and enthusiasts around the globe always try to get the latest training to obtain new skills and certifications, there is no shortage of excellent resources on the mighty internet, but how do you know which ones are good and which ones are great?

The first approach is to go straight to Cisco website. The company has huge wide spectrum of training tools and resources available for a variety of different topics and price points, ranging from free to thousands of dollars.

Here are four resources Cisco offers.
Cisco Learning Network



Cisco Learning Network is the company’s central hub for training and certifications for beginners as well as professionals. Users who join are able to explore certification paths, view exam topics, take training seminars, join discussion and study groups, and get information on pricing and booking of exams. Much of this information is free, although some training seminars cost money.
More information: Cisco Learning Network

Cisco Networking Academy


Cisco Networking Academy, or NetAcad, is a central repository for Cisco’s official virtual training seminars. Some of the seminars, such as introductory courses are free, others, such as exam-specific training seminars, cost anywhere from hundreds to thousands of dollars.
More information: Cisco Network Academy

Cisco Learning Network Store


This subset of the Cisco Learning Network offers structured curriculum for certain goals, such as training for entry, associate, professional, expert, architect and specialist-level exams. Other structured multi-session courses include topic areas such as data center, IoT, IP routing, network programmability, security/VPNs, security and CCNA cloud. Self-paced training, virtual labs, practice exams and community discussion and study groups are also available through the store at various costs, ranging from free to thousands of dollars.
More information: Learning Network Store

Packet Tracer


Packet Tracer is a network simulation and visualization training software developed by Cisco. It’s used to prepare for certification exams or just general practice of network configuration skills. It’s used in many online Cisco courses and comes in Windows, Linux or mobile versions for Apple and Android. Many Packet Tracer courses are free through the Cisco Networking Academy. Other training tools through the Cisco Networking Academy are not free, such as certain Cisco Learning Labs and the expert-level CCIE Lab training courses.
More information: Packet Tracer

If I have missed your favorite Cisco resource please let me know in comments below!

Tuesday, July 25, 2017

10 tips for becoming a better programmer

July 25, 2017 0
10 tips for becoming a better programmer


Skilled programmers remain highly valued in the tech world: Developer jobs are typically some of the hardest to fill, and the demand for these types of professionals doesn't seem to be slowing down.
However, both new programmers and industry veterans face several struggles in a world of rapidly-changing technologies, making it increasingly difficult to stay relevant in the field and move up the career ladder, according to Dan Vassallo, a web developer at Vydia. "Newbies and long term hackers alike are constantly striving to perfect the newest hot technology and add another skill to their LinkedIn profiles," he said. "Sometimes this is a good thing, and other times it can have a negative effect."

Here are 10 tips for becoming a better programmer to help you enhance your career opportunities.

1. Let your soft skills do the magic

Interpersonal skills including communication, empathy, and humor are key to setting yourself apart from other qualified programmers when it comes to building a career and moving up the ladder, according to executive coach Debra Benton.
"Charisma, likability, and other soft skills are important," said Jim Baca, a senior Android developer and coach. "No one wants to work with uncharismatic, unlikeable people. These are skills that are just as important as tech skills—in fact, they become more important as your career progresses. These skills garner more opportunities, so don't discount them."
Learning to talk to non-programmers is also a valuable job skill, said Gregory Golinski, a programmer and SEO specialist at YourParkingSpace. "The jargon they use can be very cryptic to other team members who don't know anything about programming, Golinski said. "Programmers should always remember that most people don't know what an array or a function are."

2. Code in real-time, code often

"There is no replacement for coding solutions to real world problems and the practice that comes from these experiences," said Willie Tejada, chief developer advocate at IBM. "What you code isn't as important as coding as frequently as possible and challenging yourself."
This requires putting in the hours to improve your programming skills, said Avi Flombaum, co-founder and dean of the Flatiron School. "Don't just learn how to use something—know how it works," Flombaum said. "Spend more time learning how and why things are built as opposed to just how to use them. Always try to go one layer deeper into the most important concepts."
You can use GitHub to publicly display passing projects or exercises, and have other developers in your network review your code and provide commentary on where it can improve or how you can approach things differently, said Paul Wallenberg, unit manager of technology recruiting services at LaSalle Network.
"Programmers that are on the hunt for a new job must showcase the projects they have worked on," said Manu Singh, a mobile developer at Clearbridge Mobile. "This sets you aside from the competition and shows not only what projects you've worked on, but a deeper look at who you are, how you completed the work, and where you want to go. By putting together a portfolio of your work, you're building your personal brand."

3. Be language agnostic

Learning more than one programming language can dramatically increase career opportunities and income potential, as technology continues to evolve and new languages are developed, according to Tejada. "Language is a tool, so it is critical to learn new ones," Tejada said. It's valuable to have deep experience in a language, but it's also important to know a breadth of languages and pick the right tool for the job."

4. Make friends in Open Source circle

When you contribute to the open source community, it will empower you, Tejada said. "When you contribute to a project, pay attention to the feedback you get from users and other developers," he added. "When you give to the community, make sure you take advantage of the opportunity to receive as well."
Recognize how important it is to interact with your professional community, but also think long and hard about what you want your role to be, said Charlie Robbins, director of engineering at GoDaddy and former member of the board of the Node.js Foundation. "Rather than chasing the notoriety of a 'superstar' developer, make sure you're speaking at conferences, writing blog posts, and engaging in mentorship projects that you actually feel passionate about," Robbins said. "Exchanging ideas and learning new things from your community can help avoid burnout, but only if you're approaching it in a genuine way."


5. Enroll in a local user groups or mentorship programs online

Many user groups will offer mentorship programs, usually pairing up entry level or junior programmers with more senior users of a particular language, often for free, said Wallenberg.
"The thing that has helped me the most in becoming a better programmer has been working with highly skilled programmers," said Antony Vitillo, VR developer and owner of the VR blog The Ghost Howls. "Try to work always with people more skilled than you, this way you'll learn a lot."
This is especially important when first starting out in a programming career, said Brad Davis, IT branch manager at Addison Group. "Look for a larger team, as this ensures that you have senior developers that can help you to grow your abilities," Davis said. "Also, focus on a position where you interact face-to-face with your colleagues. While there are perks to working remote, it's difficult to develop skills without the direct support offered by on-site positions."
Pair programming with another developer is a great way to learn through instantaneous feedback, according to Alyssa Mazzina, developer marketing content writer at Stack Overflow. With this method, one participant writes code, while the other watches the work as it's done. The two switch roles every few minutes, and talk to each other throughout the process. "The practice is will likely set you up for better success as it's a fully immersive learning experience, faster integration into the team and more significant growth as a developer," Mazzina said.

istock-665241970.jpg
Image: iStockphoto/scyther5

6. Develop a side project

A side project may sound daunting, but you should consider starting one just for fun, Mazzina said. "Programming something you're passionate about is crucial to development, and by taking on a side project with no expectations other than to have fun and learn, you'll be surprised at how much you can grow," Mazzina said. "Try learning a new programming language, or build an app to sharpen your skills and broaden your ability."
GitHub is also full of projects both large and small that welcome contributions, said Cynan de Leon, head of data engineering and analytics for Mint at Intuit. "This is a great place to see if someone has already started creating your idea, and see what ways it can be improved," de Leon said. "You also get the benefit of having other people look at what you've contributed, continuing that cycle. It could be something as small as a Sudoku solver, or something as huge as a top-level Apache project. It doesn't matter; if you're passionate about it, go for it."

Check my side project where I built an audio player in NodeJS here

7. Work on a particular skill to specialize

Programming changes very quickly—often, you learn one technology, and by the next week, it's been replaced with something better, said Alex Markov, developer and founder of Refersion. "My advice is to specialize by focusing on a smaller segment of tech, such as database admin, front-end web development, etc.—then keep up with that industry, learn everything, be the best. That's how you'll win at your career," Markov said. "Employers will respect you more when you say, 'I don't know about the other stuff, but when it comes to XYZ, I got your back all the time.'"
If you're struggling to choose a language to begin with, you should pick one and learn it well, Vassallo said. "While we all need to pick up various languages on the path to becoming a programming guru, it pays to really try and shine in one field," Vassallo said. "It's totally fine to be a jack of all trades, in fact, it's welcomed. A master of none has a less than desirable skill set."

8. Take code review seriously

Code review is not just an effective way to catch bugs—it's also a great way to spark discussion and share knowledge between team members, said Tigran Sloyan, CEO of CodeFights. "As the reviewee, be receptive towards constructive criticism and take advantage of your reviewers' experience to create something better than you could have done on your own," Sloyan said. "As the reviewer, stay constructive, but use the opportunity to disseminate best practices and accumulated wisdom, or even learn something new from the code that you're reviewing."

9. Learn more about the business side

Whether you are part of a for-profit or nonprofit organization, your software is empowering a business objective, Sloyan said. Learning how your company makes money and serves customers, and the core competency it has compared to competitors, can help you uncover new approaches and improvements that will support the business side.
"Talk to your colleagues in the business departments and ask tough business questions to your senior executives," Sloyan said. "For example, if you work for an online ads platform whose core technology is personalization of ads, defining and innovating on ad relevancy algorithm will make or break your business." You can also gain the foresight to design a system that can scale with your business quickly, and identify opportunities that may not be apparent to non-technical managers.

10. Read voraciously

Many of the skills needed to be a strong developer are not taught in college, Sloyan said. But a number of books written by developers can give you practical information that may otherwise take years to learn on the job. Sloyan recommends Code Complete by Steve McConnell, Clean Code by  Robert Cecil Martin, and The Mythical Man-Month by Fred Brooks.
For beginners in the field, Flombaum recommends Learn to Program by Chris Pine, Programming Ruby: The Pragmatic Programmers' Guide by Andy Hunt and Dave Thomas, Agile Development with Rails by David Heinemeier Hansson, and Weaving the Web by Tim Berners-Lee.