Showing posts with label Software Engineering. Show all posts
Showing posts with label Software Engineering. Show all posts

Thursday, July 16, 2015

IBM Open Badges

Working with our vendor, Acclaim, IBM is making available web-enabled digital versions of your credentials that you can display on social and professional networking sites, emails or personal web sites.
IBM's open badges provide an online representation of skills and achievements using theMozilla Open Badges standard. When someone clicks on your badge, they link to metadata describing your qualifications along with the process required to earn them. This additional level of information helps tell a more complete and compelling story of your achievements.
IBM is providing open badges at no charge to the badge earner to allow you to share and promote your IBM achievements across a broad range of online platforms such as LinkedIn, Twitter, Facebook, and your personal websites and blogs.
As part of this program, you will receive an open badge for your accomplishments along with the following:

Tuesday, April 7, 2015

RHT: C, C++ or Java — Which Is Best for Your Backend Developer Career?


by Robert Half Technology
April 7, 2015



While it’s a job seekers’ market, competition can be fierce for top developer positions, so you need to make sure your toolbox is fully loaded.

What backend developers do — essentially, make sure web servers, databases and applications work together in harmony — may be invisible to end users.
But the behind-the-scenes functionality they develop is essential to processing user actions taken on the frontend.

According to Robert Half Technology’s 2015 Salary Guide developers are one of the top in-demand positions of 2015. While it’s a job seekers’ market, competition can be fierce for top developer positions, so you need to make sure your toolbox is fully loaded. One way to do this is to add some new languages to your backend repertoire. Three great options for a backend developer are C, C++ and Java. But which is best for you?

To determine whether you want to learn C, C++ or Java, it’s important to know what sort of backend developer you want to be:
Now, take a closer look at C, C++ and Java to better understand why hiring managers seek professionals knowledgeable in these languages:

C = lasting popularity

C is one of the oldest programming languages, yet it holds firm in the top 10 list: It is number one on the TIOBE Index in popularity. C is so widely used in part because it’s cross-platform and compatible with compilers available for most system architectures and operating systems. Many other languages have a similar syntax. However, C — which is a structured language — has a smaller vocabulary than most and allows a backend developer less flexibility in achieving desired functionality. But the fact that it’s structured makes it a good toolbox option, as it’s easier to read and maintain.

C++ = super flexible

A term commonly used to refer to C++ is “multi-paradigm,” meaning you can write code in a way that’s procedural but also use functional, object-oriented, or a mix of programming paradigms. This flexibility means C++ can be more challenging to learn; a software engineer may develop in it using one or more of these styles, or even combine it with code written in other languages. Manyprograms, such as several Adobe Systems products, Dragon Naturally Speaking and SETI@home are built with it. Additionally, many wired and wireless telecommunications systems work on foundational software made in C++.

Java = corporate and commercial

Java, the youngest of these languages, was being created about the same time the World Wide Web Consortium was forming. Another multi-paradigm programming language, Java was soon incorporated into many major web browsers. It was originally a proprietary system developed by Sun Microsystems, Inc. (bought by Oracle Corp. in 2010). Many enterprises still hire Java backend developers to update or maintain older client/server customer relationship management (CRM) or enterprise resource planning (ERP) systems. Java is also used in 3D graphics applications and for mobile app development, which is a booming industry. (Note: Many employers are having a tough time finding skilled Java developers.)

Lucrative options

Learning any one of these three programming languages would be a good start to becoming a better backend developer. Java and C++ are versatile codebases with active developer communities andonline training. Though less flexible, C is an excellent choice if you want to work with web technologies that run on UNIX or Linux. If your goal is to work in web development, be sure to also get to know the languages that connect the “back end” to the “front end” — PHP, Ruby, Python, Perl, or .NET. (Bonus: Knowing languages like these can also give your salary a boost, according to Robert Half Technology’s Salary Guide.)

Still unsure which language to start with? Search job boards to see which languages are in high demand for backend developer postings in your region. Check out the Robert Half Technology 2015 Salary Guide to see typical job descriptions and starting salaries for developers, as well as average salary increases determined by the programming languages you know.



— Robert Half Technology

With more than 100 locations worldwide, Robert Half Technology is a leading provider of technology professionals for initiatives ranging from web development and multiplatform systems integration to network security and technical support. Visit our website at www.rht.com.

Wednesday, March 18, 2015

San Francisco ICT/DM Community Building Website Now Live!

MPICT's San Francisco Information and Communication Technologies/Digital Media (ICT/DM) Pathways web site (SF-ICT.org) is now ready and available to share with students, parents, teachers, counselors, and job seekers.  Spread the word!

  
The site presents an inventory of information, resources and opportunities for San Francisco Unified School District and City College of San Francisco students, as well as job seekers, wishing to learn about and embark on education and career pathways to ICT/Digital Media careers.  ICT/DM is booming in San Francisco!

 
SF-ICT.org is meant to be a resource to support awareness of and access to ICT/DM curriculum, training programs, and work-based learning opportunities in San Francisco.. If you haven't done so already, please take a tour of the site. We also welcome your input to the News and Events pages. If you have news to share or events to promote to the site's audience you can enter your request on the Contact Us page or email me at oherriford@mpict.org.

 
Again, thank you for your support!

Olivia Herriford
Associate Director
Mid-Pacific ICT Center

Monday, February 9, 2015

RHT: Must-Have Tools for the JavaScript Developer

by Robert Half Technology
February 9, 2015


Visual Studio 2013, NetBeans and Komodo IDE are all well-rated IDEs.
Dynamic, functional and object-oriented — these are a few of the adjectives used to describe JavaScript, one of the world’s most popular web programming languages.
Now, almost 20 years since JavaScript first appeared, there are many tools to aid the developer. If you’ve been following our coverage of JavaScript, you already appreciate how jQuery, a JavaScript library, and these snippets can help you develop mobile apps with greater speed. You also know how to make your code run more efficiently from reading these tips.

Let’s take a look at some of the other JavaScript must-haves that are available now. To move beyond hacking someone else’s code snippets, set up a development environment and prepare to check your code for coding errors and preventable performance problems.
Development environments
JavaScript developers who work with a range of other web technologies will likely find their integrated development environment (IDE) of choice has some facility for editing, debugging and refactoring JavaScript. Visual Studio 2013, NetBeans and Komodo IDE were all rated well in recent reviews. The following four are worth a look, too, especially if you need to build software that works on mobile devices (don’t we all need to do that now?):
  • Brackets is an open source option for the JavaScript developer available on Windows and OS X. Versions for Debian and Ubuntu are in development. The latest version includes Theseus, an open source debugger that inspects code in real time.
  • Webstorm by JetBrains is a feature-rich environment for JavaScript developers. It incorporates the ability to work with CoffeeScript and TypeScript, two languages that compile to JavaScript. This IDE also lets you try out the next version of JavaScript, codenamed “Harmony.” Code inspection is built in and add-ons allow you to unit test within this IDE.
  • The Appcelerator Platform lets you write an app in JavaScript on its Eclipse-based IDE. A live user interface editor, on-device debugger and other features make this a great choice if your code must run on many different devices.
  • Alpha Anywhere is another IDE for JavaScript developers who write software for multiple mobile phones and tablets. One of the highlights of this platform is that it was designed to connect to existing data sources. It also incorporates app hosting into its fee structure.
  • Debug, test and automation tools
To extend your existing open source development environment, consider one of the test frameworks and tools available at no cost, for example:
  • When you are ready to “lint” your code, try JSHint or JSLint. Both of these parsers look for and report errors or other potential problems.
  • Don’t stop with simply checking your code for errors, though. Testing frameworks like Jasmine,Mocha or QUnit are important to complete a JavaScript developer’s workflow. (Here’s oneexplanation of the types of tests a front-end web developer can do on JavaScript code.) With a testing framework installed, you can use Karma to automate testing. Here’s a guide that explains how.
  • Grunt lets you automate a variety of repetitive JavaScript tasks from the command line.
Preparing for a JavaScript developer interview? Check out our advice for answering questions about these up-to-date JavaScript tools.

What are your must-have JavaScript libraries, frameworks, and debugging and testing tools? We’d love to hear what you like best. Let us know in the comments. To find out how Java development skills can have a positive impact on the average starting compensation for many technology roles, check out Robert Half Technology’s Salary Guide.



— Robert Half Technology

With more than 100 locations worldwide, Robert Half Technology is a leading provider of technology professionals for initiatives ranging from web development and multiplatform systems integration to network security and technical support. Visit our website at www.rht.com.

Thursday, January 22, 2015

ACM SIGCSE Conference Recommendations

The ACM CCECC will be at SIGCSE 2015 and we'd like to connect with you! We encourage you to attend this Symposium dedicated to computing education and register by Feb 1 to take advantage of the early discount rate. The conference runs March 4-7 in Kansas City, MO.

We've gone through the extensive program and put together a list of sessions that we think community college educators will be interested in.

In addition, we're organizing a lunch Friday (March 6) for community college educators to connect with each other. We'll meet during the "Lunch on Your Own" time slot and head to a local restaurant in Kansas City. If you are interested, RSVP to Cara Tang at ctang@acmccecc.org​ by Thursday March 5.

Also be sure to stop by the ACM booth in the exhibit hall where you can chat with us and enter to win a Kindle Fire or Raspberry Pi.

See you in Kansas City in March!

ACM Committee for Computing Education in Community Colleges
http://www.capspace.org/
Contact Us

Monday, November 17, 2014

RHT: The Five Components of an Effective Software Developer Resume

by Robert Half Technology
November 17, 2014;
\

By including the right information in the right order, your resume can stand out from the pack.
The primary goal of any resume, of course, is to show why a candidate is the best person for the job. As with any profession, you might have great skills and credentials, but that doesn’t necessarily mean you know how to weave them into a great resume.;
Resume writing is an art, and a hiring manager is looking for something to catch his eye. By including the right information in the right order, your software developer resume can stand out from the pack.

Here are the five components of an effective software developer resume:

1. Introduction (professional summary)
Some people feel that the “objective” portion of the resume is no longer needed since it often ends up being filled with keyword “fluff,” but if you decide to include an introduction, keep it short and sweet. This section can be used to clarify who you are as a professional and highlight your best qualifications. It might be relevant to include this type of introduction if your career is headed in a direction that may not be obvious from the rest of your resume, such as a senior web developer trying to secure a mobile development position. It can also help to summarize a resume that is necessarily long. Whatever you do, avoid clichés and generalities in this section, such as: Seasoned software developer and multitasker seeks challenging position in a dynamic, exciting environment.

2. Skills
Put your technical skills (e.g., languages, APIs, databases, and other tools you feel you have mastered and frequently use) right after your introduction to make it easy for hiring managers to see that you have the technical finesse it takes to do the job. These skills should also act as a list of keywords to help your resume get noticed. Many candidates seem to try to list everything they have ever done or even totally irrelevant things. Doing so clutters the skills area and makes it hard for the reader to see what’s most important. Leave off the skills you haven’t used in a while or that can be inferred from your resume (like word processing or creating spreadsheets). The Robert Half Technology blog has some good tips for the skills list specific to .NET software developer resumes.

3. Work history
List your work history in chronological order, starting with your current or most recent position. Be sure to include positive and specific examples of how your work solved problems and helped create efficiencies for the employer. Much like your skills listing, try to emphasize the most recent, relevant experience. While the fact that you may have worked with DOS might still have some relevance, it’s not the most relevant. You should probably emphasize your experience working with cloud computing or big data instead.

4. Education
Even though many potential employers will want to know your level of education, that’s not usually what they check first for software developers. Technology-related education becomes less relevant quickly because the industry changes so fast. So, put your education information near the end of the resume. Make sure to include any current certifications as well. Leave out anything irrelevant or outdated. List your GPA only if it’s very high and you’re a recent graduate:

Bachelor of Science in Computer Science from MIT 3.87 GPA (class of 2011), Microsoft Certified Solutions Developer (MCSD).

5. Personal interests
Many candidates include a laundry list of personal interests. If you list personal interests, they should be relevant to the job or the kinds of things that employers want to see, like community work or volunteering. Non-relevant personal interests just take up valuable space. Here’s an example of the right way to list your interests:

Learning website design in my spare time, Lego Mindstorms and experimenting with artificial intelligence in LISP.

If you’re a software development job candidate with extensive skills and work experience, creating a concise, eye-catching resume might be tricky because there are so many interesting points you could include. Read the job description carefully, and target what you put on your resume to the specific developer job you’re applying for.

Check out the Robert Half Technology 2015 Salary Guide to see what skills are in demand and which jobs are hot.





— Robert Half Technology


With more than 100 locations worldwide, Robert Half Technology is a leading provider of technology professionals for initiatives ranging from web development and multiplatform systems integration to network security and technical support. Visit our website at www.rht.com.

Thursday, November 13, 2014

Highline College's Dramatic Scrum Success

Scrum Alliance

How one instructor and one Scrum coach helped students and local businesses succeed

Take a professor with vision. Add an Agile coach with the practical know-how, some willing business owners, and a class full of students wanting to learn marketable skills. Then blend with Scrum, and what do you get?

A revolution in the college classroom.

That revolution began at Highline College in Des Moines, Washington, outside of Seattle. Tina Ostrander, a computer science instructor at the community college, was facing a challenge with her capstone class, which students took just prior to graduation. Teams of students would work with local small-business owners, creating free websites for them. The format was traditional software development: The students met with their clients and captured sets of requirements. They would then return to school and, over the course of ten weeks, design and build the websites.

Ostrander explains that her students encountered several problems with this approach. "Inevitably they would save things like documentation and testing to the very end, and then they would run out of time and those things would never happen," she says. "Inevitably they would get through only 50 percent of what the client actually wanted and needed, and generally speaking the clients were somewhat disappointed and the students were somewhat frustrated."

Looking for change

Ostrander knew she needed to change the way the teams were working, but she didn't know what to do. Fortunately, she expressed this feeling to one of Highline's industry advisers, Garrick West. West is an Agile XP developer and technical coach with SolutionsIQ and a Certified ScrumMaster® (CSM), Certified Scrum Product Owner® (CSPO), and Certified Scrum Developer® (CSD). As they talked through the challenge Ostrander and her students faced, it occurred to West that he might be able to help.

"We started talking about the fact that, OK, you've got ten weeks, your priorities are changing, always getting pushback from clients," West explains. "So I made the suggestion -- based on my experience with XP and Scrum in general -- to start with something iterative, try and get demos, get constant feedback. I started introducing some of the concepts, and Tina really ran with it."

Ostrander and West recognized that Scrum could fit the need for both the students and the community business owners. Although West was familiar with a number of different Agile approaches, he saw Scrum as the most appropriate for the students because it was relatively simple for them to understand and begin working with. It was the method that allowed them to focus most on the outcome and least on the process of getting to that outcome.

Setting the stage

Ostrander added Scrum to the capstone course in the 2013-2014 school year. She and West had no difficulty getting the business owners to buy into the concept. As Ostrander explains, "The way we sold it was, 'Look, you can put anything you want on your wish list and all you have to do is keep it prioritized. Your team will never say, "No, we can't do that."' So they liked that idea. As long as they kept their wish list prioritized -- i.e., their product backlog -- then the team would just continue to tackle things until they ran out of time." Additionally, that year's businesses had no past experience with working in any other way with Highline's class -- and they were being offered websites at no cost. They were more than willing to work in the way that Highline proposed.

The students, however, saw things a little differently. They were reluctant to take on Scrum at first, because they felt that it was "just one more thing that we have to learn." Ostrander recognized that the ten-week term was already challenging for the students. Until they understood the benefits that Scrum could offer, they were simply afraid that they were being asked to absorb even more work during the same time period.

Their reaction supported West's recommendation of Scrum as the most appropriate approach. Once the classes began, the students were quickly able to appreciate that this wasn't more work but was in fact a powerful tool that allowed them to focus on their clients' needs.

Instead of spending their first client meetings concentrating on developing detailed and complete requirements, the student teams had simple discussions with the business owners about what was important to them. Then the students went back to class and immediately began developing websites to meet those priorities. The result was something tangible they could present to the business owners at their next meeting, which in turn drove a meaningful discussion about what worked and what didn't. This was more valuable to everyone than a requirements document of design concept would have been.

Visible results

Running this class with Scrum was dramatically different from trying to help the struggling students of previous years. As West explains, the differences became apparent early on: "After the first week there was a backlog, there were demos, and there was a little bit of prioritizing."

This had a dramatic impact on the students. Ostrander says, "Because it was complete (documented, tested, etc.), they had a sense of satisfaction from the get-go. Then they got immediate feedback from the client, so they could correct any misunderstandings and make course corrections right away."

The clients also loved this approach. They acted as product owners and maintained the backlog, and they liked having the ability to change their minds once they started to see the output. Because they weren't used to working with formal project management methods, they didn't always appreciate the need for accurate requirements -- which had been one of the biggest problems for previous classes. With Scrum, they could react to the demos, and as long as they kept their most important items at the top of the backlog, they would always get those in the next cycle.

This increased ability to keep their clients happy wasn't lost on the students. One wrote that using Scrum worked because "it takes into account that life is about change. It means that the client and the team aren't rigidly locked into certain outcomes. It is a constant flow of communication and evaluating priorities. This way the client is kept aware of challenges and has input."

The project teams also used class time to practice Scrum activities and principles. On class days the individual teams held stand-ups, and then they held a Scrum of Scrums that everyone joined. This helped reinforce the self-managed team concept in the larger group, not only in the small teams that were assigned to each client, and it bolstered the students' overall understanding of Scrum.

A win-win

The partnership between Highline and the community delivered multiple benefits. A number of small businesses received functioning websites that they wouldn't otherwise have had. Some of them will invest further in developing their Web presence; others are happy with what the students were able to deliver. In all cases, there is increased public awareness of their products and services -- some of which will translate into new customers and revenue.

For the students, the experience was much more positive than it had been for earlier classes using traditional methods. Ostrander says, "I think the students had a better sense of satisfaction and better sense of accomplishment. I also think they learned a valuable job skill, something they can take with them into the job market. It's something they can put on their résumés that a lot of employers are looking for."

That Scrum was a major reason for the success of the initiative is clear. As soon as the class shifted from a traditional approach to Scrum, despite the natural learning curve, the benefits were immediate. In post-class evaluations one student wrote, "I will advocate the use of Agile practices in projects in the workplace because, from what we have done so far, the sprint, backlog, daily stand-up, and storyboard concepts would make a project more collaborative and also make each individual in the project accountable."

"Communication is one of the biggest challenges at work," wrote another. "Agile is probably the best tool I've seen to improve communication and productivity. It's great for keeping the team focused and on the same page."

Spreading the word

Scrum is now expanding to another area college. This year Ostrander accepted a new position at Green River Community College in Auburn, Washington (about half an hour away from Highline), where she teaches a four-year bachelor of applied science in the college's software development program. Scrum principles are now sprinkled throughout the classes, and there is an entire class devoted to Agile practices. Of course, she is using Scrum in all of the projects associated with that program.

Ostrander's experience with Scrum was hugely successful, but her advice for others considering Scrum is practical. "I would tell them to start small," she says. "You don't have to implement the entire thing; you can just take the bits and pieces that work for you. You can be iterative in your use of Scrum; you try something, and if it works you keep it, and if it doesn't work you throw it out and try something else."

Ostrander recognizes that having West as a coach and mentor helped her make those adjustments for her class, and she recommends having someone in this role to back up anyone trying to implement Scrum. "Garrick has been invaluable to us," she says. "I still call him up and say, 'I don't know how to make this work. We are really struggling with this aspect,' and he'll give me some ideas. He's been just a huge asset to the whole endeavor."

West's advice, meanwhile, is geared toward helping organizations understand what Scrum means. "There are two ways to work with Scrum," he explains. "There is a fairly straightforward way that is going to help you with process and will fit things around that process. Then there is kind of the core philosophy of Scrum, which will impact and change your organization in terms of changing how people communicate and work together."

West says that either approach can be a starting point, but he points out that "you will actually understand and get more out of the framework and the process if you take a look at it as organizational change."

Highline delivered tremendous improvements to its computer science program by embracing Scrum. This change to one program is also delivering benefits to the community that Highline serves, through the new websites that have been developed and deployed. Ostrander has now taken these benefits and is applying them in another organization. Perhaps most important of all, the program is sending students out into the workplace with skills and experiences that are in demand, making them more employable -- and ready to champion Scrum in the workforce.

Wednesday, October 1, 2014

IT skills that are in demand, and those that will be



Certified and noncertified skills data show what’s hot



By Patrick Thibodeau
FOLLOW

Computerworld | Sep 29, 2014 3:15 AM PT

IT professionals seeking certifications in the coming months may get their best return with cloud and security-related certifications. Agile-related training won’t hurt, either.

But there are many other skills that are more likely to be valued by employers than others, according to the most recent quarterly tracking analysis by Foote Partners. This survey calculates skill rankings on what employers are willing to pay.

Skills sets tracked by Foote cover two broad areas: Certified and noncertified. Certified skills are typically vendor-driven and, while potentially useful for a job, are part of product marketing. Noncertified skills reflect actual market demand by employers.

Foote’s rankings are based on data from than 2,600 employers. Value is determined by cash premium, or money that is added to a paycheck in the form a bonus.

Using a bonus, instead of a salary increase, gives employers the flexibility to shift money around as demands for certain skills rise and fall, Foote said.

Foote’s list of the top 10 noncertified skills:
  • JavaFX
  • SAP BODI (Business Objects Data Integrator)
  • Business performance management (software/systems)
  • SAP GTS (Global Trade Services)
  • Predictive Analytics and Modeling
  • Oracle Exadata
  • Scrum
  • SAP FI - FSCM (Financial Supply Chain Management)
  • SAP MM (Materials Management)
  • Mobile operating systems
While JavaFX, an Oracle-developed platform for rich Internet applications leads the list, Foote sees it as a niche skill, and not one with long staying power. But that won’t be the case for Oracle Exadata, the in-memory system skills, Scrum, and predictive analytics as being the skills most likely to gain in value over the long-run, he said.

The value of certifications with employers has declined, but it is beginning to rise again, especially as demand for security and cloud certifications increase.

The certifications are offered by vendors to the employees of user companies. Vendors train the company's employees, who are certified based on a written test. Foote said standards were loose, however, and raised doubts about the value of a certification. Improvements have been made, however, and certification in some of the more demanding areas, such as architecture, may depend on successful examination by a peer review board, similar to the process a university might use for a student defending a thesis.

The top 10 certified skills:
  • SAS Certified Advanced Programmer
  • GIAC Certified Penetration Tester
  • InfoSys Security Management Professional (ISSMP/CISSP)
  • SAS Certified Base Programmer
  • HP Master ASE - Storage Solutions Architect V1
  • Microsoft Certified Solution Developer: Applications Lifecycle Management
  • Linux Professional Institute certification
  • CWNP/Certified Wireless Network Administrator
  • HP/Master ASE - Data Center and Cloud Architect V1
  • Oracle Certified Master, Java SE Developer
What's helping certifications are cloud computing and security. Major retailers have suffered costly data breaches, and companies are seen as more willing to spend on security.

Not too long ago, “cybersecurity was something that only a handful of industries (mostly public sector) were investing in,” said Foote, “but now you are seeing it everywhere.”

The IT certifications that are showing strong growth in pay premiums and are likely to gain in the next three to six months are around cloud, architecture, agile, systems/networking, security, data and data center.



Patrick Thibodeau — Reporter

Patrick Thibodeau covers cloud computing and enterprise applications, outsourcing, government IT policies, data centers and IT workforce issues for Computerworld.

Monday, September 29, 2014

RHT: Application Developer Salary Increases Propelled by App Explosion


by Robert Half Technology
September 29, 2014


Application developers are among the highest paid developers, according to the Robert Half Technology 2014 Salary Guide.
Will it rain tomorrow? There’s an app for that. Want to wake up earlier than normal if there is a chance of bad weather? Yes, there’s an app for that, too. It’s nearly impossible to keep up with all the mobile applications that currently exist, yet more and more are being created.
This explosion of applications isn’t just limited to the mobile space either. Desktop applications, especially web-based applications, are multiplying at a dizzying rate as well. Also on the rise: The application developer salary.

Application developers are among the highest paid developers, according to the Robert Half Technology 2014 Salary Guide. Application development is a global term that refers to the development of software, ranging from games to document editors and everything in-between. Due to the complex nature of software, application development projects are typically large-scale and can take a long time to complete.

Here’s a breakdown of the current application developer salary trend in the United States:*
  • Mobile application developers can expect a 7.8 percent boost in average starting compensation this year, or $100,000 to $144,000.
  • Enterprise resource planning (ERP) developers will likely see a 6.8 percent increase, on average, with starting salaries ranging from $94,250 to $130,250.
  • Customer relationship management (CRM) developers can expect a 6.6 percent boost, and earn an average application developer salary between $89,500 and $119,750.
  • Lead application developers are projected to see the lowest increase — 6 percent — but are still one of the top six hottest tech jobs in 2014. Lead application developers can earn starting compensation between $99,750 and $137,750 this year.
These developers are not the only technology professionals riding the app demand wave, however. Whether they’re writing user manuals or designing major aspects of the architecture, others who work in the world of application development can also expect to earn higher salaries, based on the2014 Salary Guide.

Preparing for an interview? Check out this post that describes what it’s like to face a nine-person panel interview. And look to Robert Half Technology’s latest Salary Guide for job descriptions and starting compensation trends for a wide range of in-demand developer positions.

*Application developer salaries in Canada are expected to increase 6 to 7.6 percent in 2014, with starting compensation ranging from $85,000 to $141,250. Figures are in Canadian dollars.



— Robert Half Technology

With more than 100 locations worldwide, Robert Half Technology is a leading provider of technology professionals for initiatives ranging from web development and multiplatform systems integration to network security and technical support. Visit our website at www.rht.com.

Thursday, September 4, 2014

RHT: Mystery Unraveled: The .NET Developer Defined

by Robert Half Technology
August 25, 2014


Having .NET development skills can provide an additional 9 percent spike in starting salary, based on national averages.
.NET developers are on many employers’ “most wanted” lists for hiring these days. But what exactly is a .NET developer? Is this professional a web developer, software developer or a mobile applications developer? Is he or she someone who programs using C#, Visual Basic, F# or JScript? Does this person work with WinForms, WPF or ASP.NET?
The answer: A .NET developer can be or do any combination of the above — and more.

Eric Younkin, branch manager at Robert Half Technology’s Cleveland, Ohio, location, defines a .NET developer this way: “A .NET developer uses Microsoft’s .NET framework to build applications using common languages such as C#, and can be used for both client-server applications as well as web applications using ASP.NET.”
.NET developer salary increases in 2014
Robert Half Technology’s 2014 Salary Guide reports that all developer salaries — ranging from $70,000 to $137,750 — are on the rise in 2014, from a lead application developer’s projected 6 percent starting salary increase to the 7.8 percent boost for mobile application developers.

Regardless of the development path though, having .NET development skills can provide an additional 9 percent spike in starting salary, based on national averages.* (You can use the Robert Half Technology Salary Calculator to find salary information specific to your city.)
What it takes to be a .NET developer
Every .NET developer should possess certain skills and abilities, including:
  • In-depth, working knowledge of one or more .NET development languages
  • Familiarity with one or more of the .NET stacks
  • Strong interpersonal and communication skills
  • Ability to work independently or in a team environment
  • Attention to detail with excellent problem-solving and analytical abilities
  • Bachelor’s degree in computer science or a similar field
  • Varying amounts of programming experience
.NET developers are also expected to program, test, debug, document and monitor their code. Typically, these professionals are also expected to collaborate with other developers, as well as with other colleagues in other technology roles like hardware engineers, designers, project managers and quality assurance (QA) testers.

.NET developers at work

As with most technology positions, a .NET developer requires more than just “book smarts.” Experience and solid people skills are also highly valued. Younkin says, “Organizations are looking for social .NET developers who not only are excellent programmers, but who also have the ability to communicate easily with users and business leaders.”

It is also imperative for any .NET developer to stay on top of current development trends. But if you’re active in the .NET community, that shouldn’t be difficult, Younkin explains: “The .NET community is strong and vast. NET developers can engage in an array of forums and groups that will help them gain key insights on trends and learn tips for troubleshooting their work.”

Want to improve your .NET developer resume? Check out this post. And look to Robert Half Technology’s latest Salary Guide for job descriptions and starting compensation trends for a wide range of in-demand developer positions.

*Developer salaries in Canada are expected to increase 6 to 7.6 percent in 2014, with starting compensation ranging from $66,750 to $127,500. .NET development skills can provide an additional 8 percent boost in salary. Figures are in Canadian dollars.



— Robert Half Technology

With more than 100 locations worldwide, Robert Half Technology is a leading provider of technology professionals for initiatives ranging from web development and multiplatform systems integration to network security and technical support. Visit our website at www.rht.com.

Wednesday, May 7, 2014

RHT: How to Become a Software Architect

by Jacques Daniels  Robert Half Technology
May 6, 2014


Becoming a software architect requires more than just the technical skills to do the job.
The future for software architects looks positive. According to this article, demand is increasing. But how do you become a software architect?
Whether you’re a recent IT graduate interested in breaking into the field, or an experienced software developer who wants to make the transition to software architect, this interview is for you.

I met Jerry Clinesmith, software architect at Koen Health in Dallas, earlier in my software development career, and he’s been in the IT field for close to 20 years. I had the pleasure of working with him and owe him a great amount of gratitude for mentoring me. He’s one of the best software developers and software architects in the business.

Our interview is divided into two parts: In part one, we discuss making the transition from software developer to software architect. In part two, Jerry offers some software architecture best practices. If you have any questions, don’t hesitate to ask in the comments.

Q: How did you get your start in programming?
In middle school, my parents gave me a Commodore 64 with a modem and I got really into bulletin board systems. I wanted to run my own, but I liked GBBS, which only ran on an Apple II. I was able to get a BBS package for the Commodore and decompile it back into BASIC. BASIC is straight-forward enough to teach yourself, which I did. I spent an entire summer modifying the software and put up a BBS that looked like it ran on GBBS.

After this experience, I was hooked! I took the one programming class offered in high school, and majored in engineering/IT in college where I was exposed to COBOL, Java and Visual Basic.

Q: What’s the largest software team you have worked on?
Not that large – probably 15 members with project managers, business analysts, developers, QA, documentation/training and operations/support. It was a multi-year waterfall project and became a bit of a death march at the end. After this experience, I definitely favor small, coordinated teams – they can generally react to change faster and be more productive because of the lower overhead of coordinating so many people.

Q: What are your favorite programming languages?
This changes over time, but currently:
  1. Ruby: It’s the most expressive language I’ve ever used, and a pleasure to read and write.
  2. Go: It has some quirky syntax, but it’s great at concurrency and very quick to write and run. It’s small and compact and good fit if you’re working “in the cloud.”
  3. C#: If it had been written to support other operating systems besides Windows from the start, I think it would have surpassed Java.
Q: How did you decide to become a software architect?
It wasn’t something I decided, per se. I kept pushing to get better, learn more and take on more responsibility. One day my title changed to architect, but I felt like I was doing the same job I had already been doing for years.

Q: What tips do you have for others who want to become software architects?
  • Try to work with people better than yourself. Read their code, look at their designs, question their decisions and absorb as much information as you can. Keep looking for mentors: in-person is best but books, blogs and social media also are great ways of finding mentors.
  • Teach others. If you want to learn something really well, teach it to someone else. Blogging,pair programming and whiteboard design sessions are all good ways of teaching. It’s counterintuitive, but you’ll receive way more than you give.
  • Be willing to take responsibility. When the next project comes up, ask to take the lead. It shows you have initiative and that you’re willing to do more. Learn the strengths of the people on your team, and work to make them succeed.
Q: What new processes did you have to learn?
Technical skills:
  • Be able to model your ideas. Whether a UML document or the back of a napkin, you need to be able to describe the major components of a system and explain them to a 10-year-old. If you can do that, you can describe it to a team of developers or your CEO who’s never seen an IDE.
  • Lead by example. If you’re still coding, work responsibly. Follow coding conventions, write tests and document your work. I’ve seen architects who take the “fun” parts for themselves, and throw scraps to the rest of the team. Remember everyone wants to be proud of their work and learn, and it’s your responsibility to help them do that.
Non-technical skills:
  • Be able to communicate ideas to both technical and non-technical people. I’ve worked with amazing engineers who simply can’t explain what they’re working on in a simple, straightforward manner.
  • Strive for empathy. Put yourself in the other person’s shoes, and try to focus on solving the problem in front of you. Too many developers feel “superior” to non-technical colleagues, and they come off like immature and inconsiderate. Educate without being condescending, and listen to what others have to say. The best ideas can come from anyone in the room. This is a good article on the subject.
  • Watch presentations. Attend conferences, or watch them online (YouTube, InfoQ andConfreaks are great sources). Notice how the best speakers make the talk interesting. They’re not just reading the slides; they’re engaging the audience and telling a story. An architect has to “sell” their vision to the company’s leaders – and they tend to be people with little time and short attention spans.
Q: What advice would you give to a mid-level programmer whose eventual goal is to become a systems architect?
If you’re the smartest person on the team, seek others to work with. Look for talented developers/architects that are willing to mentor and absorb as much as possible. Also:
  • Read code. Open source has made this so easy – find projects you’re interested in and study the code. Look at how things are broken into classes, access patterns and overall structure of the project.
  • Write code. The only way to get better at coding is doing it. I’ve found that a good practice is to take a single idea and rewrite it using different styles, languages and techniques. Write it once using classes, another in a purely functional manner and as many ways you can think of. You’ll learn what works best and how to solve problems in different ways.
  • Build bigger things. Look for projects that challenge your current skills. It’s easy to do what you know, but it won’t help you grow. An architect needs a wide variety of skills: front-end, back-end, distributed systems, operations and all the options around data storage. Test new technologies thoroughly before bringing them into projects – it’s easy to follow the latest fad, but make sure it’s really going to help your project.
  • Meet people. Attend local user groups and conferences, talk to other developers about what they’re working on. You never know where the next opportunity could come from.
  • Have a side project. Make a website out of your favorite board game, or just build something that you wish existed. It’s nice to have a project that you can go to for trying out ideas, new languages, frameworks, etc. The best (and worst) part of software development is that there’s always something new to try.
  • Be open-minded. Constantly question what you know and look for ways to improve.
Have you made the transition from software developer to software architect? Share your tips on how you made the change in the comments.

Also be sure to look for part two of my interview with Jerry – he’ll give some best practices for software architects and talk about the development process.



— Jacques Daniels

Jacques Daniels wrote his first program at the age of twelve, and that’s when he decided he wanted to be a programmer. He worked at IBM his last two years of high school, where he honed his computer and programming skills. He is a Robert Half Salaried Professional who has spent over 13 years developing .NET applications for companies in a variety of industries.

Monday, May 5, 2014

RHT: 5 Pros of Pair Programming

by Jillian Kurvers  Robert Half Technology
May 2, 2014


No coder should have to reinvent the wheel. But improving it is a whole other story. With a technique like pair programming, you can revolutionize how you collaborate and innovate while reducing errors. Here are five reasons pair programming makes sense – and why it could change how you code forever.
Some things are best done alone, like changing a light bulb and taking selfies. Other activities, however, lend themselves to a group dynamic. Programming, for example, may seem like a solitary operation, but more and more organizations are seeing the benefits of pair programming.

Collaborative Coders: Two Minds Are Better than One
Collaboration is nothing new for developers. Agile development teams by nature are cross-functional, meaning Scrum masters, developers and testers must work together to realize the benefits of the methodology. It’s written into the very Agile Manifesto: individuals and interactions over processes and tools; customer collaboration over contract negotiation.

Pair programming takes collaboration to the next level for developers. Two individuals – one driver and one navigator – work side-by-side at one computer to maximize the output of coding. While it may take longer, line for line, the end result is superior, near-errorless code that has been written from the perspective and experience of two programmers, effectively doubling your potential to innovate and solve problems creatively.

As James Shore says of pair programming in his eponymous blog, “It’s more fun than it sounds: two programmers at one computer. One drives; the other navigates. Switching roles fluidly, they constantly communicate. Together, they accomplish better work more quickly than either could alone.”

Teamwork never sounded so poetic.

5 Pros of Pair Programming
  1. Economies of scale. According to some reports, pair programming takes 15 percent longer than solo coding, yet results in 15 percent fewer errors. The report also states that the technique allows some pairs to work “more than twice as fast.” Now take into consideration reduced quality assurance costs as well as fewer retroactive fixes, and you could be looking at massive time and money savings.
  2. Quality. Great minds may think alike, but two minds think differently. With two people at the helm, a natural system of checks and balances emerges, leading to better code and greater innovation. Also keep in mind the power of problem solving; two programmers must be quick to mitigate differences in real time and come to the best solution, with all egos aside.
  3. Knowledge sharing. Skills transfer is a natural side effect and benefit of pair programming. Some even use a technique called “promiscuous pairing” wherein pairs are constantly switched up to encourage such knowledge sharing.
  4. Collaboration. Communication doesn’t always come easy, especially for those who typically work independently. But teaming up – even while programming – can help build this necessary work skill. As two programmers work together, each will be able to provide feedback to the other, resulting in more open communication, greater trust and the opportunity to produce something collectively better.
  5. Satisfaction. Working together often means increased confidence, and pair programming is no exception. One report states that pair programmers remain satisfied because each keeps the other on track, upping efficiency. However, the same report also states that disagreeable partnering may drive the benefits of pair programming to zero. So, pairs beware.
One Thing to Avoid with Pair Programming
Pair programming provides many opportunities to innovate through collaboration and skills transfer. But be careful to avoid using the technique in a mentor-apprentice sort of way. Pair programming is not as effective when one coder is more skilled than the other and, in fact, can hinder pairs if one has to guide a more junior programmer.

Pair programming is a cooperative relationship that takes time to hone but ultimately pays off. As one blogger puts it, it’s a social skill that takes some getting used to. But like all acquired skills, once you’ve developed a taste, there’s no turning back.



— Jillian Kurvers

Jillian is the content marketing manager for Robert Half Technology. She has a background in writing, editing and content marketing with a slant toward technology. Her favorite family of elements are the noble gases because they're naturally cool, calm and collected. Although, she also likes gold. Read all of her posts: http://blog.rht.com/author/jillian-kurvers/

Wednesday, April 23, 2014




Date: April 25, 2014

Time: 10:30 a.m. ET - 12:00 p.m. ET

Cost: Complimentary



About the Webcast

Join technical staff from the Software Engineering Institute (SEI) and Codenomicon during a live-streamed panel discussion on the impact of the recently announced Heartbleed OpenSSL vulnerability along with methods to mitigate and even prevent crises like this in the future. Chris Clark, Security Engineer from Codenomicon, one of the cybersecurity organizations that discovered the Heartbleed vulnerability, will join members of SEI's technical staff from the CERT and Software Solutions divisions and from the SEI's Information Technology department. They will be discussing how software vulnerabilities like Heartbleed can be mitigated through the different phases of the secure software lifecycle using techniques available today. They will also discuss how changes to our current software development and management techniques need to be managed to more effectively reduce the effects of incidents like Heartbleed.

About the Panelists



Will Dormann has been a software vulnerability analyst with the CERT Coordination Center (CERT/CC) since 2004. His focus areas include web browser technologies, ActiveX, and fuzzing. Will has discovered thousands of vulnerabilities using a variety of tools and techniques.

Robert Seacord is a senior vulnerability analyst in the CERT® Program

at the Software Engineering Institute (SEI) in Pittsburgh, PA where he leads the Secure Coding Initiative. Robert is the author of The CERT C Secure Coding Standard (Addison-Wesley, 2008/2nd Ed. 2014) and Secure Coding in C and C++(Addison-Wesley, 2002) as well as co-author of two other books. Robert is an adjunct professor at Carnegie Mellon University.

Christopher Clark, a twenty-two year veteran of the Information Technology world, is a Security Engineer at Codenomicon. Chris utilizes his extensive background and experience to help organizations effectively integrate meaningful security practices into their environments.

Brent Kennedy is a member of CERT's Cyber Security Assurance team focusing on penetration testing operations and research. Brent leads an effort that partners with the DHS National Cybersecurity Assessments and Technical Services (NCATS) team to develop and execute a program that offers risk and vulnerability assessments to federal, state, and local entities.




William Nichols joined the Software Engineering Institute (SEI) in 2006 as a senior member of the technical staff and serves as a Personal Software Process (PSP) instructor and Team Software Process (TSP) Mentor Coach with the TSP Initiative within the Software Solutions Division (SSD).

Jason McCormick has been with SEI Information Technology Services since 2004 and is currently the Manager of Network and Infrastructure Engineering. He oversees datacenter, network, storage, and virtualization services and plays a key role in information security policy, practices, and technologies for the SEI.

Timur Snoke is a Member of the Technical Staff with the CERT® Division Network Situational Awareness team.



Robert Floodeen (Moderator) has worked across federal and Department of Defense operations in the United States. He has led teams performing intrusion detection at the Pentagon, Army Research Lab, and for the Defense Research and Engineering Network (DREN). Additionally, he spent several years managing CSIRT operations for the Defense Threat Reduction Agency.

  https://www.webcaster4.com/Webcast/Page/139/4200

Who Should Attend?

Security Managers and CISOs
CIOs and CTOs
Information Assurance Specialists
System Administrators
Network and IT Managers
Software Developers

Please share with colleagues or interested parties!

Thursday, March 27, 2014

Study Finds 9 of 10 Most Lucrative Degrees in U.S. are in Computer Science


Which College—and Which Major—Will Make You Richest?

A new study finds that nine of the 10 most lucrative degrees in America are in computer science programs at elite colleges—and Harvey Mudd runs away with the lead

The Atlantic

Wednesday, March 26, 2014

Page: California Lawmakers are Looking for More Computer Science Instruction

TechWire

Legislation being introduced in Sacramento could significantly boost the number of computer science courses offered in California. There is a growing concern that California students don’t have the computer science skills necessary to thrive in the modern workforce.
A report released by the Association for Computer Machinery (ACM) Education Policy Committee, entitled: Rebooting the Pathway to Success: Preparing Students for Computing Workforce Needs in the United Statescalls on education and business leaders and public policy officials in every state to take immediate action aimed at filling the pipeline of qualified students pursuing computing and related degrees, and to prepare them for the 21st century workforce. The report provides recommendations to help these leaders join together to create a comprehensive plan that addresses K-12 computer science education and that aligns state policy, programs, and resources to implement these efforts.
“By 2020, one of every two jobs in science, technology, engineering, and mathematics (STEM) will be in computing,” said Bobby Schnabel, Chair of the ACM Education Policy Committee. “This concentration of computing positions in STEM makes it imperative for K-12 students in academic and career technical education programs to gain more opportunities to learn computer science.”
Students clearly want to learn computer science. Over 700 high school students recently attended a Hackathon in San Jose to learn the mobile app development skills that high-tech employers currently want. It was the largest High School Hackathon ever held… and it was conceived and organized by students for students!
Here is a list of the legislation introduced this session:
  • AB 1764 would authorize school boards to award students a third year of math credit for satisfactory completion of a computer science course.
  • AB 1530 would add computer science to the required course of study for grades 1 to 6.
  • AB 1539 would require California Board of Education to adopt computer science standards for grades 7 to 12.
  • AB 1540 would allow high school students to earn computer science credit through a local community college.
  • AB 2110 would require California Board of Education to include computer science content in existing curriculum frameworks.
  • AB 1200 would ask that the governing boards of the public higher education systems establish academic standards for high school computer science courses that would be accepted at colleges and universities.
Julie Flapan, Executive Director of the Alliance for California Computing Education for Students and Schools (ACCESS), is working closely with Code.org, Technet, Microsoft, Google and others to advance computer science education in California.