en

MSGuayaquil

Recursos esenciales para el desarrollador .NET

Este blog

Sindicación

Blog Comunitario

June 2009 - Posts

  • 10 skills developers will need in the next five years

    With the recent changes in the economy, a lot of developers are focused on their short-term job prospects. At the same time, it’s important to make sure that you get the most bang for your buck when it comes to taking the time and energy to learn new skills. Here is our list of 10 skills you should be learning right now to make sure that your resume is relevant for the next five years. The list is hardly exhaustive, and there are huge swaths of the industry it won’t cover (mainframe developers, for example). Nonetheless, for average mainstream development, you can’t go wrong learning at least seven of these skills — not only to the point where you can talk convincingly about them at a job interview, but actually use them on the job. 1: One of the “Big Three” (.NET, Java, PHP) Unless there is a radical shift in the development world (akin to an asteroid hitting Redmond), most developers will need to know at least one of the Big Three development systems — .NET (VB.NET or C#), Java, or PHP — for the near future. It’s not enough to know the core languages, either. As projects encompass more and more disparate functionality, you’ll need to know the associated frameworks and libraries more deeply. 2: Rich Internet Applications (RIAs) Love it or hate it, in the last few years, Flash is suddenly being used for more than just animations of politicians singing goofy songs. Flash has also sprouted additional functionality in the form or Flex and AIR. Flash’s competitors, such as JavaFx and Silverlight, are also upping the ante on features and performance. To make things even more complicated, HTML 5 is incorporating all sorts of RIA functionality, including database connectivity, and putting the formal W3C stamp on AJAX. In the near future, being an RIA pro will be a key resume differentiator. 3: Web development Web development is not going away anytime soon. Many developers have been content to lay back and ignore the Web or to just stick to “the basics” their framework provides them with. But companies have been demanding more and more who really know how to work with the underlying technology at a “hand code” level. So bone up on JavaScript, CSS, and HTML to succeed over the next five years. 4: Web services REST or SOAP? JSON or XML? While the choices and the answers depend on the project, it’s getting increasingly difficult to be a developer (even one not writing Web applications) without consuming or creating a Web service. Even areas that used to be ODBC, COM, or RPC domains are now being transitioned to Web services of some variety. Developers who can’t work with Web services will find themselves relegated to legacy and maintenance roles. 5: Soft skills One trend that has been going for quite some time is the increasing visibility of IT within and outside the enterprise. Developers are being brought into more and more non-development meetings and processes to provide feedback. For example, the CFO can’t change the accounting rules without working with IT to update the systems. And an operations manager can’t change a call center process without IT updating the CRM workflow. Likewise, customers often need to work directly with the development teams to make sure that their needs are met. Will every developer need to go to Toastmasters or study How to Win Friends and Influence People? No. But the developers who do will be much more valuable to their employers — and highly sought after in the job market. 6: One dynamic and/or functional programming language Languages like Ruby, Python, F#, and Groovy still aren’t quite mainstream – but the ideas in them are. For example, the LINQ system in Microsoft’s .NET is a direct descendent of functional programming techniques. Both Ruby and Python are becoming hot in some sectors, thanks to the Rails framework and Silverlight, respectively. Learning one of these languages won’t just improve your resume, though; it will expand your horizons. Every top-flight developer I’ve met recommends learning at least one dynamic or functional programming language to learn new ways of thinking, and from personal experience, I can tell you that it works. 7: Agile methodologies When Agile first hit mainstream awareness, I was a skeptic, along with many other folks I know. It seemed to be some sort of knee-jerk reaction to tradition, throwing away the controls and standards in favor of anarchy. But as time went on, the ideas behind Agile became both better defined and better expressed. Many shops are either adopting Agile or running proof-of-concept experiments with Agile. While Agile is not the ultimate panacea for project failure, it does indeed have a place on many projects. Developers with a proven track record of understanding and succeeding in Agile environments will be in increasingly high demand over the next few years. 8: Domain knowledgeHand-in-hand with Agile methodologies, development teams are increasingly being viewed as partners in the definition of projects. This means that developers who understand the problem domain are able to contribute to the project in a highly visible, valuable way. With Agile, a developer who can say, “From here, we can also add this functionality fairly easily, and it will get us a lot of value,” or “Gee, that requirement really doesn’t match the usage patterns our logs show” will excel. As much as many developers resist the idea of having to know anything about the problem domain at all, it is undeniable that increasing numbers of organizations prefer (if not require) developers to at least understand the basics. 9: Development “hygiene” A few years ago, many (if not most) shops did not have access to bug tracking systems, version control, and other such tools; it was just the developers and their IDE of choice. But thanks to the development of new, integrated stacks, like the Microsoft Visual Studio Team System, and the explosion in availability of high quality, open source environments, organizations without these tools are becoming much less common. Developers must know more than just how to check code in and out of source control or how to use the VM system to build test environments. They need to have a rigorous habit of hygiene in place to make sure that they are properly coordinating with their teams. “Code cowboys” who store everything on a personal USB drive, don’t document which changes correspond to which task item, and so on, are unwelcome in more traditional shops and even more unwelcome in Agile environments, which rely on a tight coordination between team members to operate. 10: Mobile development The late 1990s saw Web development rise to mainstream acceptance and then begin to marginalize traditional desktop applications in many areas. In 2008, mobile development left the launch pad, and over the next five years, it will become increasingly important. There are, of course, different approaches to mobile development: Web applications designed to work on mobile devices, RIAs aimed at that market, and applications that run directly on the devices. Regardless of which of these paths you choose, adding mobile development to your skill set will ensure that you are in demand for the future.
  • What makes a developer "senior"?

    In many industries, a senior level position is based mostly on the length of time that person has been working and maybe a standardized test or two. But what exactly defines a “senior developer? ” This is something that I have been wrestling with for the last few weeks. The more I go through the hiring process, the more I have to ask myself this question. I know some of the general characteristics, but the details are driving me a bit nuts. And, it makes a difference because job title drives not just salary but also one’s future career opportunities. Someone may be doing “senior developer work,” but if they want to be a software architect, it may hurt them not to have the title. On the flip side, if I am told that we are looking for a “senior developer,” and the person who I think is right for the job is not one, I have not made the right decision. Here are some of the basic qualifications that a “senior developer” should have: 10 years of experience in the programming field (although seven or eight may be enough depending on what they have been working on), a rock solid understanding of theory, and excellent debugging skills. They also should be able to: work closely with the software architect to suggest improvements within the overall vision for the project; ask questions at the architecture level and not at a low implementation level; and serve as a resource and mentor for less experienced developers. You should also be able to trust him or her to transform a set of class diagrams into quality code with little oversight. A “senior developer” should not require handholding. But is it better to have, for example, a “senior developer” with four years of VB.Net-only experience and eight years of VB-only experience before that? I would imagine that 12 years of working with VB certainly has made that person a VB/VB.Net expert. On the other hand, someone who spent those same 12 years bouncing around Java, C++, Perl, VB.Net, and C# has had a much wider range of experiences to draw upon. Personally, I am attracted to the latter simply because it more closely resembles my own experience, but I think the former route holds many advantages as well. Also, does someone who spent equal time on traditional client/server apps and Web-based apps have the same weight as someone who spent the same time working exclusively with Web-based apps? The client/server person has exposure to solutions to many of the problems that dog Web apps, but the Web-only person may have a unique insight into the bizarre oddities of Web development (the HTTP protocol, for starters). Again, there is a tradeoff between a specialist and a generalist, both with equal lengths of time in the industry. I would love to be able to ignore the self taught vs. formally educated aspect, and I usually do. I have been able to simply verify that candidates have an appropriate amount of theory (I have found that this is the stuff that is easier to learn in school than on one’s own), which weeds out both the self-taught folks who learned too many bad habits and the people who slept through their degree. The last major hurdle are people who have spent enough time in the work force to be considered senior but who have never worked on anything more complicated than a simple CRUD app. This is a tough call for me. For all I know, they have been so deep in that simple CRUD app that they know their stuff inside and out, even though their project does not really express it. On the other hand, there are people with experience that is indirectly related to programming and yet very helpful. For example, I have found that my time spent as a systems administrator and doing networking has been vital to debugging many applications, particularly on the deployment end of things. How does nondevelopment experience fit into the “senior developer” position? Leaving all of these other considerations aside, there is the matter of personality. Am I willing to put up with someone who has less than an agreeable personality but has amazing tech skills? Or do the leadership responsibilities of a “senior developer” allow for someone who is a “good fit” as a person to offset a technical shortcoming? I do have my own idea of what makes up a “senior developer.” For the sake of maintaining the integrity of the hiring process, I will not put it out in public at this time in case someone does a bit of homework and tries to game the system. But I would love to hear what your thoughts are about what makes a “senior developer.”
  • Skins Aspecto de aplicaciones Windows

    Hola amigos de la comunidad, hace tiempo me enteré de que habia una forma para cambiar el aspecto de nuestras aplicaciones windows, muchas veces pense en tratar de usar software de diseño para crear aspectos atractivos y mas elegantes, usando Adobe Photoshop pero me puse a investigar una vez más, y me encontre con este software que se llama SkinCrafter, como la herramienta perfecta tan simple como indicar cual skin usar, y todo nuestro formulario cambia de apariencia.

     

    En la pagina oficial http://www.skincrafter.com/ encuentran el programa y los skins y los manuales, funciona con vb6, vb .net, c#.

     

    Aparte les comparto esta dirección si desean buscar software mas directo y facil: www.4shared.com Smile

     

    Saludos.

     

     

    B. Mauricio Mendoza Morán

    www.nanosistemas.net

     

     

     

Más envíos
© 2007 MSGuayaquil. Todos los derechos reservados.
Powered By IIS 6 Powered By ASP.NET 2.0 Ofrecido por Community Server (Commercial Edition) Powered By SQL Server 2005
Creado y Administrado por Julio Casal