To succeed in a software development career, it is important to be passionate about programming and disconnect from work when not on the job. Developers should understand how the businesses they work for operate and make money. Continuous learning, practicing skills regularly, and getting involved in open source projects can help developers improve. Networking, communicating well, and writing clean, maintainable code are also valuable skills. Overall, enjoying the work and having fun are important for long-term success.
Working the right way, by knowing all the wrong waysBoyan Djumakov
Software development is a strange mixture of work and art. We do not only write code, but we make art as writers create their masterpieces. Your habits reflect on your daily work and shape how you approach new tasks. The main problem of bad habits, aside of wasting your time and lowering your motivation, is that rather often you don’t even know about them. I will talk about bad habits by sharing with you all of the bad practices that I remember from my past and current projects. I will talk about what helps me write better, what motivates me and what prevents me from doing so. I will tell you how I started with Delphi, PHP and JAVA, how I hated JavaScript and how I love it now. We will even briefly talk about DevOPS and how I had to develop a torrent client in Python. I’ll share how I manage to learn new things, despite my uncanny laziness for reading.
GameDev 2017 - Валерій Міненко "7 clients that you never should not work with"Lviv Startup Club
The document provides advice for working with different types of clients as a freelancer or small game development studio. It identifies 7 types of difficult clients: 1) those who don't know what they want, 2) greedy clients, 3) those who change requirements frequently, 4) lazy or unresponsive clients, 5) clients who are too active, 6) asshole clients, and 7) clients who want impossible things. For each type, it provides strategies like creating detailed requirements documents, careful budgeting and estimation, clear communication, and setting boundaries. Overall recommendations include clarifying requirements, having a schedule, giving regular updates, and maintaining a collaborative working relationship.
This document provides tips for choosing a career path and reasons to study Python programming. It recommends considering your dreams, hobbies, skills and favorite school subjects to help identify a career. Python is described as an accessible first programming language that employers seek, and can be used to create projects and become a programmer or software developer. The document acknowledges that learning programming may cause others to view someone differently, but encourages the reader by saying their journey is what matters and their coding skills are valuable.
Odd Dog Media - UW American Marketing Associationodddog
Adam Broetje of Odd Dog Media provides advice on career success and skills. Some of the key points made include: (1) network and help others whenever possible, (2) learn how to teach yourself new skills, and (3) pick a passion and take action by doing something with it rather than just bringing problems. The document also lists technical skills useful for marketing careers like HTML, CSS, analytics tools, and content creation skills, and recommends online resources for learning them.
5 lessons to help you transition into Product ManagementJonathan Lai
This document provides 5 lessons to help transition into product management: 1) Develop your story and understand why you want to be a PM, 2) The importance of networking and resources for connecting with others, 3) Recommended books, blogs, and online resources to learn from, 4) The value of practicing case studies to demonstrate your skills without pressure, and 5) The benefits of experimenting with small projects and skills development to gain experience and a portfolio. Regular practice, learning, and connecting with others are emphasized as important ways to prepare for a career in product management.
Product Managers: How To Get Your Developers To Love YouProduct School
Product managers and developers often have communication issues that lead to wrong estimates, lack of transparency, and outdated documentation. Some reasons for this include covering one's ass instead of transparency, and people not liking to read documentation. Story mapping and specification by example are techniques that can help by providing transparency into the development process and clear examples of what needs to be built.
113 seven dumb product & marketing mistakes ive made (gary dietz)ProductCamp Boston
Gary Dietz facilitated a Product Camp Boston workshop to discuss seven common product and marketing mistakes. He began by providing context on his background and experience launching products. The seven mistakes discussed included: 1) not understanding sales channels, 2) sharing drafts too early, 3) not using the phone to communicate, 4) viewing networking as disingenuous, 5) focusing too much on tools, 6) not allowing inclusive brainstorming, and 7) incomplete margin planning. For each mistake, Dietz provided points to consider and advice on how to avoid similar issues.
The document provides tips for becoming a world-class software developer. It recommends asking yourself why you want to become a developer, not getting discouraged, and finding your preferred learning method. Additional tips include getting involved in a tech community to interact with others, not comparing yourself to others, contributing to open source projects, being comfortable with challenges, asking questions when stuck, focusing on one thing at a time, understanding how different technologies fit together, choosing the right tools for each job, learning basic design principles, finding a mentor, building a strong portfolio and resume, maintaining a work-life balance, and persevering when wanting to give up coding.
There was once a time in product development where waterfalls ruled but today smart teams and companies are shifting their approaches to be more nimble and iterative. As they adopt approaches like Agile and Lean Startup many are also realizing that design matters. It’s not just what a product looks like but rather the entire experience that differentiates between good and great products. And they’re all looking for a UX unicorn to help them.
With some real-world examples, I’ll share with you:
+ how to become a UX unicorn
+ how the industry works & how it’s changing
+ how to work in Agile as a designer
+ leverage light-weight methods to work quickly
+ what I've learned along the way
A presentation to the GA.com members, giving helpful tips on #CVhacks featuring a "livehack" where a CV is made more appealing in a few simple steps. @adam__bolton
A training workshop, created for professionals in the advertising and marketing agency world, aimed at improving how we share and organize information throughout the workday.
This document provides tips and guidelines for participating in a hackathon event. It explains that a hackathon is a timed event where participants work in teams to build working prototypes of software or digital products. The goals are to learn new skills, solve problems creatively, and have fun. Key advice includes scoping your project idea narrowly, planning your work in sprints or chunks, prioritizing functionality over polish, and taking breaks to stay productive throughout the event.
Sketching With Sketchflow - Overview of PrototypingBrad Nunnally
This was a presentation I gave at the St. Louis Day of .Net conference on August 21st. 2010. Following the presentation I gave a hands on demo of Blend 4 w/ Sketchflow and prototyped a Mobile Application to manage personal health records.
The document outlines the key steps of the graphic design process, which include discovery, research, brainstorming, production, and presentation. It recommends gathering information and doing research before starting design work in software. This allows designers to avoid jumping straight into production and enables revisions. Following the outlined process helps achieve the best results for a design project.
This was a presentation given at St. Louis Innovation Camp. The audience was comprised of people looking to start their own business and the presentation offered them some guidance on how prototyping can help them.
Iterate quickly with a prototype you can testNicole Capuana
A hands-on workshop where you will pair up and sketch a design for a mobile app. You will turn those sketches into a clickable prototype and draft a usability test. Don’t worry, you don’t have to be a designer to do this. If you can draw a square, circle, line, and a triangle, you’ll do fine.
We’ll review prototype tools, how to structure a test, and why this approach can help you validate, experiment and learn fast.
Most businesses fail within the first year or two. How do you improve your odds of success? We’ll review the magic in learning loops, how to understand your users and customer development, and what you need in team dynamics to drive your startup forward and point you in a more successful direction.
By Nick Barendt & Nicole Capuana
The document discusses reasons why people enjoy programming and traits of good programmers. It notes that programmers like creating things, solving puzzles, learning, and precision work. Good programmers are curious, clear thinkers with problem-solving skills who are passionate about their work. Principles of good programming include keeping things simple, avoiding repetition, abstraction, and writing code with maintainability in mind.
In the course of her career working solo, in a duo, with agencies, with corporations, and with a startup, Meagan's learned a few valuable lessons (some the hard way) about how to grow as a designer. She'll talk about how she got started, as well as insights on collaborating, evolving your style, and getting things launched. You'll also hear about the design maxims she holds dear (and which ones she ignores), and the web development techniques that have strengthened her design skills. She hopes to leave you with some ideas for how to be a web design champion.
The document discusses the idea of a "360° developer" and the speaker's journey to becoming a well-rounded developer. Some key points:
- The speaker struggled when changing jobs from C# to Ruby, lacking context for agile practices and dealing with personality conflicts.
- They realized they needed to develop knowledge, personal, and functional skills to effectively solve business problems. This led to the idea of a "360° developer" with a diverse set of skills.
- The talk outlines developing skills in SOLID principles, design patterns, conflict resolution, mentoring, and cross-domain problem solving to become a well-rounded developer.
Enroll for Android Certification in Mumbai at Asterix Solution to develop your career in Android. Make your own android app after Android Developer Training provides under the guidance of expert Trainers. For more details, visit : http://www.asterixsolution.com/android-development-training.html
Duration - 90 hrs
Sessions - 3 per week
Applications - 50+ practise
Project - 1
Students - 15 (per batch)
Software Craftsmanship and Agile Code GamesMike Clement
Join us to talk about what it means to be a software craftsman, how the Software Craftsmanship Manifesto (http://manifesto.softwarecraftsmanship.org/) provides a framework for us to improve.
A large part of being a software craftsman is practice. Using different "code games" we can have a full toolbelt of activities that will help us (and those around us) become better at our craft.
Agile software development promises the ability to deliver value quickly. But this isn’t just a matter of process. Uncle Bob says "the only way to go fast is to go well." But how do we go well? As software developers, we can only deliver features as fast as the code base and our skills allow us. Unfortunately the quality of our code base is directly related to our skill in the past.
Musicians and athletes spend most of their time practicing, not performing. As software developers (aspiring craftsmen) we must have practice sessions that allow us to improve our skills and develop better “code sense”. We’ll look at some different “agile code games” that will help us improve our craft.
Software development management slides by George Berkowski (Hailo)MiniBar
This document provides a summary of key aspects of effective software development management. It discusses starting with a clear vision, focusing on building something useful. It emphasizes the importance of finding the right people through networking and making friends. When it comes to incentives for startups, it recommends creating your own company and mastering your own destiny. It also touches on outsourcing versus in-house work, the importance of being agile, using simple and integrated tools, and acting as your own best user to ensure quality.
Turning Passion Into Words provides tips for aspiring authors on how to turn their passion into words. It discusses understanding your audience and defining your target reader profile. It also covers defining your thesis, outlining your writing, connecting with readers, and getting published traditionally or through self-publishing. The document gives advice on voice, research, consistency, and using tools like Markdown to write more efficiently.
The document provides guidance from Ritesh Menon, VP of Technology at Globant, on getting ready for an industry career. It discusses the importance of having strong programming skills, algorithms, data structures, and problem-solving abilities. It recommends focusing on 1-2 programming languages and open source contributions. The document also offers tips for resume preparation, highlighting achievements and skills while keeping it concise. It emphasizes the importance of online presence and networking. Finally, it discusses cracking job interviews through preparation, demonstrating confidence, solving problems, and showing genuine interest in the role. The overall message is that gaining industry experience is a continuous learning process that may involve rejections but to never give up.
Software development is not exactly the same as computer programming. When it comes to a career, development for productization introduces many more things than simply coding. It is important to learn how to accomplish tasks, sharpen skills, develop the career and enjoy it. And last but not the least, how to start?
The document provides tips for becoming a world-class software developer. It recommends asking yourself why you want to become a developer, not getting discouraged, and finding your preferred learning method. Additional tips include getting involved in a tech community to interact with others, not comparing yourself to others, contributing to open source projects, being comfortable with challenges, asking questions when stuck, focusing on one thing at a time, understanding how different technologies fit together, choosing the right tools for each job, learning basic design principles, finding a mentor, building a strong portfolio and resume, maintaining a work-life balance, and persevering when wanting to give up coding.
There was once a time in product development where waterfalls ruled but today smart teams and companies are shifting their approaches to be more nimble and iterative. As they adopt approaches like Agile and Lean Startup many are also realizing that design matters. It’s not just what a product looks like but rather the entire experience that differentiates between good and great products. And they’re all looking for a UX unicorn to help them.
With some real-world examples, I’ll share with you:
+ how to become a UX unicorn
+ how the industry works & how it’s changing
+ how to work in Agile as a designer
+ leverage light-weight methods to work quickly
+ what I've learned along the way
A presentation to the GA.com members, giving helpful tips on #CVhacks featuring a "livehack" where a CV is made more appealing in a few simple steps. @adam__bolton
A training workshop, created for professionals in the advertising and marketing agency world, aimed at improving how we share and organize information throughout the workday.
This document provides tips and guidelines for participating in a hackathon event. It explains that a hackathon is a timed event where participants work in teams to build working prototypes of software or digital products. The goals are to learn new skills, solve problems creatively, and have fun. Key advice includes scoping your project idea narrowly, planning your work in sprints or chunks, prioritizing functionality over polish, and taking breaks to stay productive throughout the event.
Sketching With Sketchflow - Overview of PrototypingBrad Nunnally
This was a presentation I gave at the St. Louis Day of .Net conference on August 21st. 2010. Following the presentation I gave a hands on demo of Blend 4 w/ Sketchflow and prototyped a Mobile Application to manage personal health records.
The document outlines the key steps of the graphic design process, which include discovery, research, brainstorming, production, and presentation. It recommends gathering information and doing research before starting design work in software. This allows designers to avoid jumping straight into production and enables revisions. Following the outlined process helps achieve the best results for a design project.
This was a presentation given at St. Louis Innovation Camp. The audience was comprised of people looking to start their own business and the presentation offered them some guidance on how prototyping can help them.
Iterate quickly with a prototype you can testNicole Capuana
A hands-on workshop where you will pair up and sketch a design for a mobile app. You will turn those sketches into a clickable prototype and draft a usability test. Don’t worry, you don’t have to be a designer to do this. If you can draw a square, circle, line, and a triangle, you’ll do fine.
We’ll review prototype tools, how to structure a test, and why this approach can help you validate, experiment and learn fast.
Most businesses fail within the first year or two. How do you improve your odds of success? We’ll review the magic in learning loops, how to understand your users and customer development, and what you need in team dynamics to drive your startup forward and point you in a more successful direction.
By Nick Barendt & Nicole Capuana
The document discusses reasons why people enjoy programming and traits of good programmers. It notes that programmers like creating things, solving puzzles, learning, and precision work. Good programmers are curious, clear thinkers with problem-solving skills who are passionate about their work. Principles of good programming include keeping things simple, avoiding repetition, abstraction, and writing code with maintainability in mind.
In the course of her career working solo, in a duo, with agencies, with corporations, and with a startup, Meagan's learned a few valuable lessons (some the hard way) about how to grow as a designer. She'll talk about how she got started, as well as insights on collaborating, evolving your style, and getting things launched. You'll also hear about the design maxims she holds dear (and which ones she ignores), and the web development techniques that have strengthened her design skills. She hopes to leave you with some ideas for how to be a web design champion.
The document discusses the idea of a "360° developer" and the speaker's journey to becoming a well-rounded developer. Some key points:
- The speaker struggled when changing jobs from C# to Ruby, lacking context for agile practices and dealing with personality conflicts.
- They realized they needed to develop knowledge, personal, and functional skills to effectively solve business problems. This led to the idea of a "360° developer" with a diverse set of skills.
- The talk outlines developing skills in SOLID principles, design patterns, conflict resolution, mentoring, and cross-domain problem solving to become a well-rounded developer.
Enroll for Android Certification in Mumbai at Asterix Solution to develop your career in Android. Make your own android app after Android Developer Training provides under the guidance of expert Trainers. For more details, visit : http://www.asterixsolution.com/android-development-training.html
Duration - 90 hrs
Sessions - 3 per week
Applications - 50+ practise
Project - 1
Students - 15 (per batch)
Software Craftsmanship and Agile Code GamesMike Clement
Join us to talk about what it means to be a software craftsman, how the Software Craftsmanship Manifesto (http://manifesto.softwarecraftsmanship.org/) provides a framework for us to improve.
A large part of being a software craftsman is practice. Using different "code games" we can have a full toolbelt of activities that will help us (and those around us) become better at our craft.
Agile software development promises the ability to deliver value quickly. But this isn’t just a matter of process. Uncle Bob says "the only way to go fast is to go well." But how do we go well? As software developers, we can only deliver features as fast as the code base and our skills allow us. Unfortunately the quality of our code base is directly related to our skill in the past.
Musicians and athletes spend most of their time practicing, not performing. As software developers (aspiring craftsmen) we must have practice sessions that allow us to improve our skills and develop better “code sense”. We’ll look at some different “agile code games” that will help us improve our craft.
Software development management slides by George Berkowski (Hailo)MiniBar
This document provides a summary of key aspects of effective software development management. It discusses starting with a clear vision, focusing on building something useful. It emphasizes the importance of finding the right people through networking and making friends. When it comes to incentives for startups, it recommends creating your own company and mastering your own destiny. It also touches on outsourcing versus in-house work, the importance of being agile, using simple and integrated tools, and acting as your own best user to ensure quality.
Turning Passion Into Words provides tips for aspiring authors on how to turn their passion into words. It discusses understanding your audience and defining your target reader profile. It also covers defining your thesis, outlining your writing, connecting with readers, and getting published traditionally or through self-publishing. The document gives advice on voice, research, consistency, and using tools like Markdown to write more efficiently.
The document provides guidance from Ritesh Menon, VP of Technology at Globant, on getting ready for an industry career. It discusses the importance of having strong programming skills, algorithms, data structures, and problem-solving abilities. It recommends focusing on 1-2 programming languages and open source contributions. The document also offers tips for resume preparation, highlighting achievements and skills while keeping it concise. It emphasizes the importance of online presence and networking. Finally, it discusses cracking job interviews through preparation, demonstrating confidence, solving problems, and showing genuine interest in the role. The overall message is that gaining industry experience is a continuous learning process that may involve rejections but to never give up.
Software development is not exactly the same as computer programming. When it comes to a career, development for productization introduces many more things than simply coding. It is important to learn how to accomplish tasks, sharpen skills, develop the career and enjoy it. And last but not the least, how to start?
This document outlines traits of a good engineer according to a talk given by N.R. Rajagopal. It discusses seven key traits: 1) Curiosity - having an insatiable desire to understand how things work beyond surface level issues. 2) Finding ways to break things - looking at boundary conditions and edge cases. 3) Ability to get up to speed quickly on new large codebases. 4) Making tradeoffs between competing factors like time, cost and quality. 5) Designing for long-term maintainability rather than short-term goals. 6) Commitment to lifelong learning as technology continually changes. 7) Taking pride in one's work and enjoying challenges.
Presented at an O'Reilly Webcast, 8 November 2011
Good mobile designs share many features in common, regardless of the fidelity of the device type, the OS or the user. Almost two decades of interactive design experience, as well as the creation of almost 76 mobile patterns for Designing Mobile Interfaces have led to some very specific and actionable insights into their use. Covers the intent of mobile patterns, and how to use them correctly in your design. Designed to be especially helpful for those migrating from other platforms, such as desktop web design.
The webcast was recorded, so since SlideShare dosn't have notes pages, if you want to know what I was saying, just listen directly:
http://oreillynet.com/pub/e/2087
Avoiding the Heuristic Solution: Moving past functional and correct to joyful...Steven Hoober
Slideshow for the O'Reilly Webcast
"Avoiding the Heuristic Solution: Moving past functional and correct to joyful and inspiring"
To be given on 31 Jan, 2012 -- Sign up for free, now:
http://www.oreillynet.com/pub/e/2102
Interactive systems can be easily made foolproof and practical, but joy and delight all too often elude the final product. This author of two books on design process and interactive patterns has discovered that strict adherence to these same processes or patterns can result directly in functional, but ultimately boring interactive products. In this discussion, you will learn how to avoid the safe answer, while still embracing proven patterns, best practices and user feedback. You will also discuss how to recognize this problem, the principles to avoid these pitfalls, and how to implement tactics to encourage innovative design for your users, and that works within your organization.
User experience (UX) design is important for indie developers. As an indie, you must own the user experience even if you are not a professional designer. To improve your UX skills, manage your fears, develop a vision for your product, and cultivate feedback through iterative testing. Follow a lean process of rapid prototyping and testing assumptions with real users. UX involves visual thinking - use sketches, stories and drawings to explore design ideas before coding. Constantly test your designs and gather feedback to refine the user experience.
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paperI-Chao Shen
I found this slide on the forum. Thx for the guy that wrote most of the content down for us to review. Hope everyone can learn and think a lot from it!
The document discusses the differences between good and bad developers. It identifies two main types of bad developers: cowboy coders and mediocre developers. Cowboy coders write messy, buggy code quickly but arrogantly, blaming others for issues. Mediocre developers lack interest and take a long time to build subpar code due to not understanding concepts. Both types are satisfied with their skills and unwilling to improve. In contrast, good developers are aware of what they don't know, take responsibility, write structured code, strive to learn, and enjoy problem-solving. The most important factor is a developer's passion and willingness to continuously better their skills.
The document outlines 8 critical skills needed to be a successful GIS professional. The top skill is sales skills, as half of a GIS professional's job involves sales - talking to clients to understand their true needs, showing them what is possible, and guiding them towards appropriate solutions. The second most important skill is project management, as GIS professionals must juggle multiple projects at once while managing stakeholder expectations and time constraints. The third key skill is analytical and critical thinking, as GIS professionals must be able to logically analyze problems and mapping requests.
Este documento discute la importancia de mantener un alto nivel de calidad en el código a través del refactoring. Se mencionan varias métricas y "code smells" que pueden indicar problemas en el diseño del código y se proponen soluciones como extraer clases, mover métodos y utilizar patrones de diseño para mejorar la legibilidad, mantenibilidad y capacidad de extensión del código. También enfatiza la necesidad de invertir tiempo y recursos en refactoring para prevenir problemas a futuro y mantener un código de alta calidad.
This document discusses recommendations for building an effective ecommerce website. It covers topics like frontend design including the homepage, categories, product pages, and checkout. It also discusses tracking user behavior, A/B testing, and key business metrics like acquisition, activation, retention, referral, and revenue. The goal is to help small businesses reach more users and sell directly to customers while avoiding common mistakes.
Ansible is an automation tool that allows users to configure, deploy, and orchestrate applications on servers. It works by pushing small programs called Ansible Modules to nodes over SSH and executing them. Key components include inventory files to define hosts, roles to define tasks and templates, templates to customize configuration files, and playbooks to orchestrate the automation defined in roles across multiple server groups. Ansible can securely manage sensitive information using Ansible Vault.
The document provides an overview of containers and compares implementations between Linux containers, Solaris Zones, and FreeBSD Jails. It focuses on Docker containers and SmartOS Zones, explaining how Docker uses libcontainer instead of LXC, how to build Docker images with Dockerfiles, and how to run Docker containers by pulling images from a registry and mapping ports. It also demonstrates how to create and start a SmartOS Zone virtual machine image.
The document outlines the design choices for an ecommerce platform, including wanting a scalable single page application with an API backend, fulltext search, CDN integration, and replacing the backend independently. It chose Spree for the backend, AngularJS frontend, Solr search, PostgreSQL, Sidekiq jobs, Redis sessions, Nginx assets, HAProxy load balancing, Memcached caching, CoreOS, Docker containers, GoLang routing, Ansible configuration, and Fastly CDN. The architecture separates catalog, app, and admin interfaces across services running in Docker containers managed by CoreOS and routed through Vulcand.
Ceviche has its roots in ancient Peru over 2,000 years ago. It is made from fresh fish marinated in citrus juice, typically lime, along with onions, tomatoes, cucumbers, chilies and cilantro. There are many variants using different types of seafood like shrimp or octopus. The document provides a home made ceviche recipe including instructions to chop ingredients and mix them with the marinated fish, letting it sit for 30 minutes before serving topped on tostadas and enjoying with valentina salsa, corona beer, and friends.
The document discusses API best practices and using EmberJS for web applications. It covers API versioning, HTTP status codes, caching techniques like counter caches and Solr, serializers for formatting API responses, and using EmberJS to address challenges of modern web applications like data binding, real-time updates, performance, and scalability. Examples of API endpoints and responses are provided to illustrate RESTful design, caching, and serialization.
FSL Vallarta, mejorando el rendimiento de las aplicaciones webEdwin Cruz
Este documento presenta varias mejores prácticas para mejorar el rendimiento de aplicaciones web, incluyendo el uso de caché, CDN, compresión GZIP, lazy loading, sprites CSS, imágenes optimizadas, combinación y minificación de scripts, y monitoreo de métricas clave. También discute técnicas para el frontend como preloading y caching de páginas, y para el backend enfatiza el uso de caché, procesamiento asíncrono, y arquitectura orientada a servicios.
Mi prestentacion de programador apasionado (version en español) que hable en El congreso internacional de ciencias exactas 2012, en la Universidad Autonoma de Aguascalientes, es una serie de tips, más que una historia de la vida
Este documento contiene consejos de Edwin Cruz sobre cómo tener una exitosa carrera en ingeniería de software. Ofrece sugerencias como entender el negocio para el que se está desarrollando software, invertir en aprender continuamente, encontrar un mentor, practicar constantemente, especializarse pero también conocer otras áreas, y tener una actitud positiva y enfocarse en hacer un buen trabajo.
En esta platica trate de transmitir mejores practicas que se deben tener en cuenta cuando se diseña una API, y como ruby on rails te podria ayudar a desarrollarla en muy poco tiempo
Migrando Rails Apps entre Cloud y Bare Metal ServersEdwin Cruz
Platica dada en MagmaRails 2012, aqui comparto mis experiencias de migrar aplicaciones rails de bare metal servers a custom cloud, de PaaS a bare metal servers y todas las combinaciones. Cualquier pregunta twitter: softr8
AI and Data Privacy in 2025: Global TrendsInData Labs
In this infographic, we explore how businesses can implement effective governance frameworks to address AI data privacy. Understanding it is crucial for developing effective strategies that ensure compliance, safeguard customer trust, and leverage AI responsibly. Equip yourself with insights that can drive informed decision-making and position your organization for success in the future of data privacy.
This infographic contains:
-AI and data privacy: Key findings
-Statistics on AI data privacy in the today’s world
-Tips on how to overcome data privacy challenges
-Benefits of AI data security investments.
Keep up-to-date on how AI is reshaping privacy standards and what this entails for both individuals and organizations.
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, presentation slides, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
#StandardsGoals for 2025: Standards & certification roundup - Tech Forum 2025BookNet Canada
Book industry standards are evolving rapidly. In the first part of this session, we’ll share an overview of key developments from 2024 and the early months of 2025. Then, BookNet’s resident standards expert, Tom Richardson, and CEO, Lauren Stewart, have a forward-looking conversation about what’s next.
Link to recording, transcript, and accompanying resource: https://bnctechforum.ca/sessions/standardsgoals-for-2025-standards-certification-roundup/
Presented by BookNet Canada on May 6, 2025 with support from the Department of Canadian Heritage.
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
AI Changes Everything – Talk at Cardiff Metropolitan University, 29th April 2...Alan Dix
Talk at the final event of Data Fusion Dynamics: A Collaborative UK-Saudi Initiative in Cybersecurity and Artificial Intelligence funded by the British Council UK-Saudi Challenge Fund 2024, Cardiff Metropolitan University, 29th April 2025
https://alandix.com/academic/talks/CMet2025-AI-Changes-Everything/
Is AI just another technology, or does it fundamentally change the way we live and think?
Every technology has a direct impact with micro-ethical consequences, some good, some bad. However more profound are the ways in which some technologies reshape the very fabric of society with macro-ethical impacts. The invention of the stirrup revolutionised mounted combat, but as a side effect gave rise to the feudal system, which still shapes politics today. The internal combustion engine offers personal freedom and creates pollution, but has also transformed the nature of urban planning and international trade. When we look at AI the micro-ethical issues, such as bias, are most obvious, but the macro-ethical challenges may be greater.
At a micro-ethical level AI has the potential to deepen social, ethnic and gender bias, issues I have warned about since the early 1990s! It is also being used increasingly on the battlefield. However, it also offers amazing opportunities in health and educations, as the recent Nobel prizes for the developers of AlphaFold illustrate. More radically, the need to encode ethics acts as a mirror to surface essential ethical problems and conflicts.
At the macro-ethical level, by the early 2000s digital technology had already begun to undermine sovereignty (e.g. gambling), market economics (through network effects and emergent monopolies), and the very meaning of money. Modern AI is the child of big data, big computation and ultimately big business, intensifying the inherent tendency of digital technology to concentrate power. AI is already unravelling the fundamentals of the social, political and economic world around us, but this is a world that needs radical reimagining to overcome the global environmental and human challenges that confront us. Our challenge is whether to let the threads fall as they may, or to use them to weave a better future.
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
2. Passion vs Obsession
• People with harmonious passion have the
ability to disconnect when work is over, easily
transitioning into their lives outside of the
office. Obsessive people don't have that ability
3. Look back to your career history, has it
been remarkable?
4. Are you a programmer by
coincidence?
• How did you get to your first job?
• Was it what you wanted?
• Did you succeed?
20. Why do I have to invest too much in
practicing?
• You could be part of:
– a lot of people that do the work
– fast people that do the work
– smart people that automate the work
21. Want to practice by challenges ?
• www.topcoder.com
• www.projecteuler.net
• www.puzzlenode.com
• www.rubykoans.com
• www.codecademy.com
22. Want to practice by market?
• Go and solve recruiting challenges
23. Want to practice with real world wide
problems?
• Go and fix bugs in open source projects
• Fork
• Learn
• Fix
• Pull request
• Have a beer
24. Practice your dusty skills, example,
how often do you use regular
expressions?
57. Thanks!
• Books you should have already read
– Passionate Programmer
– Clean Coder
– The Art of Agile Development
– Design Patterns
– Anti Patterns
– Any Management book
Edwin Cruz [email protected]
softr8@twitter
gmail
github
everywhere!
Editor's Notes
#4: Look at 2 months back, 6 months back what do you have to show of?
#5: programming by coincidence is copy code, make little changes, test make more little changes and make it work without fully understand what's going on, sooner or later, you will have to do things by your own and you will fail.
#6: It depends, depends on you, on your career plan. You need to have a clear understanding in what you would like to be, senior engineer, manager, owner, etc. why ? Because everything you do will give you experience, don’t waste time learning things you wont use.
#8: All is business: our companies employ us just because they're going to make money with us, it's not about love, that's the goal, make money. So you need to figure out how to fit in business. but
#9: Talk with business people, ask them how they do their job and how technology helps them, do this regularly, subscribe to some business blogs, and try to gather a list of questions to ask them, all those questions would help you to understand how business are driven and will make you more unique!Medel Example
#10: You're following everyone else's plan, you need to follow your own plan!
#11: In my personal case, that’s why I love to be a consultant, there’s always new challenges to learn how the businesses work
#13: If you had money, where would you invest in? savings account, low reward and risk, startup? high reward but also high risk. Same happens on programming languages, you may want to learn most common technologies, you know that there's market for it, but you'll get an average salary. Java, Cobol, BeOS, Ruby
#14: Analyze all technologies, you may want to choose a cutting edge technology, but if it's attractive for someone else, it'd eventually get packed and the reward will go down, but, if you mastered your skills, you can still get high reward. You may want to take high risk learning some technology that is in its sunset, it's highly risky, but if you get a job, you can potentially get what you want, no one else knows it, and all the critical business apps are in your hands, but be flexible, move fast enough before all those systems are replaced.
#15: Go to job posting sites, and find out which skills are in high demand and low demand, then go and try to get offshore outsourcing companies and what they're offering, get the diff and focus on the ones that are in high demand domestically and little penetration offshore.
#16: are you waiting to someone else to have mercy of you ? Don't wait to be told, ask! There's a lot of developers around the world that would claim to do the same as you do, sometimes with much lower rates. Become unique! Remember, supply and demand rule.
#17: Asking is not a sign of weakness, all knowledge that we have nowadays has been inherited from our ancestors, they've been mentoring us, sharing their experiences, find a good mentor, ask him to help you to create a roadmap, based on his experience.Why? they're always using alpha versions, cutting edge technology and they can know how much a wave can last. Who dont know any alpha geek? I bet at least, you know one of them the guy who first installed XP when it came and there was no drivers for modems, the first guy that ripped movies, downloaded the newest game, etc, they're remarkable!
#18: If you really want to learn something, try teaching it to someone else. Someone else could have a question that you never imagined, so it pushes to the edge.
#19: you may not be an absolute expert in something, but be sure that your knowledge will help to someone else with less experience, example: go and visit local meetups and offer your help to less experienced users, subscribe to mailing lists, IRC, forums, etc. Eventually your name will appear in search results.MySQL list example, replicationYour fear is the one that is between the pros and know them! When going to conferences, go and pick tables randomly, present yourself, and start meeting people, RailsConf example
#20: Go to any music academic, listen at the quality, it does not generally sound good, and it's intended to be like that, if so, they're not pushing their limits. When those musicians go and perform profesionally, they're paid to perform, not to practice.
#21: Managers will have the same budget, it's up to you to part of any group, to be in the one with high rates and faster people, or low rates with a lot of people, imagine the reward on each type of developers, This is incredible easy, and powerful, simple things like installing a small program to resize windows will save you time, shortcuts to open everything needed, startup scripts, shell aliases, commit hooks scripts, when doing a release, it'd be nice to generate automatically the report and send it via email, this would save you tons of time!Startup example, they’re coming with a lot of money and short time
#25: they're powerful and underutilized, because lack of practice.
#26: Most of the times, the word methodology is synonym of paperwork, but that's not true. while practicing, you may break the cycle imposed by managers in terms of methodologies, they tend to apply the methodologies that they learnt (sometimes decades ago). what if your employee does not have nay process and you take the ownership, you will rock! PELDA˜NOS
#28: Blake Mizerany gave a good talk about polyglot, choose the best technology based on needs, not in love.
#29: Design patterns is the art to document reusable solutions to common software development problems. Go and find open source projects and see how specific pattern was implemented by others. when you have new problems to be solved, you might remember "oh wait, I saw this implementation in this cool open source project"
#30: Be the worst meaning always playing with people that are better than you, this will push you to the edges! Example, how many of you have played solo Unreal Tournament, Age of Empires, halo, etc! and you feel that you are good at it? then you went to play online just to discover that you're nothing! you can't even respawn.
#31: Listen carefully, take notes, imagine what your boss is going to ask you after every meeting, email thread, report, etc, what if you discovered a performance issue looking at the response time when finance is running a monthly report? you know that sooner or later, finance team will contact your boss about it, and your boss will ask you have a look, what if the answer of this is: "Oh yes, I noticed it last week, and I've already placed an improvement" instead of "Mhm, financewhat? ok, I'll set some meetings and see where the problem could be" meaning that you dont have any clue about it.Be careful, being ahead is tricky! remember that you're being paid to do your job, but what if you do job nobody asked you to do, what if you were wrong? move small,
#32: If you dont track anything you're doing, you don't have anything to justify your work, you should always be asking yourself: how can I increase the visibility of my work? they might know that you're good, what if they promote you to do the job they dont want to do ? or even worse, work that you hate! make this transparency happen, if they know you well, they will promote to positions that fit you. Look back and see how valuable you have become: if you have tracked all your accomplishments, you can probe the business how valuable you are, and you can get what you deserve, what do I need to do to get as twice as my current salary in 1,2, 5 years?
#33: good and bad programmers are always going to quit their jobs, and the business will continue no matter what, don't try to probe anything
#34: Do you remember when you were students, you worked as trainee, earning few pesos, but you were able to go out almost daily, eat, go to the movies, etc ? and right now, it's much harder to do it?? that's because you used to treat your money more valuable and now that you ear more, it's not that valuable, it happens the same when programming, you need to treat your time as it were the most precious thing in the world, you need to sleep well, have fun and code, so, focus in your 8 hours schedule!
#35: I bet it was when a server was down, when the network failed, hard drive died and you needed to restore a backup from a weird format, etc. you got the work done fast and well done, it’s because the time was high value!
#36: raise errors as soon as you notice them, dont try to hide, problems need solutions, avoid using git blame! be the ones that find errors, report them quickly and offer a solution.
#37: we as programmers always feel that saying that we can't do something we fail, but that's the quickest path to loose our commitment and trust ability. Keep sanity, you need to sleep!
#38: dont speak in cryptic language that they dont understand, you may make them feel stupid with your sarcastic moments, check old emails sent to non technical people and look how technically you wrote
#39: You're working in a word wide environment, you need to communicate with coworkers/clients across the world, learn how to write well, because you need to improve your communication skills!. Have a look at some job posts, and see how many of them have this requirement (communication skills), or good verbal and writing skills. You are what you can explain!
#40: Show your brand, create a blog and post what you've been learning, show them the code you're been releasing as open source, they may be using the same technology that you contributed, this demonstrates skills in real projects, you're not saying that you heard about it, tell them your username in forums, your email in some mailing lists. But:
#41: Google your name, and see what it says about you. Write smart, think in the future
#42: Dont panic: what does best players share in common? they dont panic, they're always relaxed and know their context, panicking gives us inability to perform at our best at time we really need to perform at our best.
#43: if you're a manager, ask to your employees if they're bored, if you're an employee, tell them that you're getting bored, whenever they ask what would you like to do next, tell them! I want to become senior engineer, I want to found my own company.
#44: Focusing on finishing the project leads to forget good processes, and bad processes lead to bad software.
#45: what are you going to do? everything is in waves, you're either in front, above, or behind. book some regularly time to read blog posts, news, try new technology, do small prototypes and get familiar, your boss someday could come from a conference saying: "look! we're going to change everything to this cutting edge technology!"
#47: Engineers who love to code derive pleasure from building software in much the same way a composer might feel ecstatic about finishing a symphony. It is that feeling of excitement and accomplishment that makes rockstar engineers love to code
#48: Smart people know that the best way to solve problems is go straight at them, Instead of spending weeks designing complex, unnecessary infrastructure and libraries, a good engineer should ask: What is the simplest path to solving the problem at hand?
#49: The original idea behind refactoring was to improve code without changing what it does, this avoids legacy code that no one wants to touch
#50: Patterns are recurrent scenarios and mechanisms that live across languages and systems. Applying a pattern ensures correctness since it leverages existing know-how: a method for solving a particular engineering problem that has worked before.
#51: The goal is to create a working system, how can you be certain that your code is actually working if you never test it? Good engineers will always write a test once a bug has been exposed to make sure it does not come back again. But a good engineer also knows not to waste time writing trivial or redundant tests
#52: Aprovecha! Reinventing the wheel has always been one of the biggest problems in the software industry. Correct leveraging of existing infrastructure allows rockstar engineers to focus on what is most essential - the application itself.
#53: Good engineers work hard to make the system simple and usable. They think about customers all the time and do not try to invent convoluted stuff that can only be understood and appreciated by geeks.
#54: The other secret of good engineers is that it takes the same amount of time to write good code as it does to write bad code. A disciplined engineer thinks about the maintainability and evolution of the code from its first line. There is never any reason to write ugly code, a method that spawns multiple pages, or code with cryptic variable names. Rockstars write code which follows naming conventions, code which is compact, simple and not overly clever
#55: A good engineer might have a favorite programming language but is never religious about it . A good engineer knows that and is willing and able to learn new languages, new libraries and new ways of building systems.
#56: How can you build large scale software without knowing what a hashtable is? Or the difference between a linked list and an array? And the algorithms are just as important - from binary search to different sorts to graph traversals
#57: How fun is your work ? when we have more fun, we do better job: bored tasks are not challenging at all, but we need to do them, so ask yourself, why is the boring work boring? what's the difference between the work you love and hate? a simple technique to make it challenging is to pursuit perfectness in those tasks, let's say that you hate unit tests, and you need to automate some test coverage for the most critical flow, what if you pursuit for 100% of coverage? isn't that challenging? you've made a bored task in a challenging one