MobileMe Engineering is looking for a talented and motivated Senior Software Engineer who seeks out problems to solve and has a proven track record of delivering highly scalable web applications. The candidate should be innovative and posses strong analytical skills, creative thinking and a deep passion for software engineering.
The primary role is to develop features and enhancements for MobileMe authentication and identity-related services. This is a central role that requires previous experience with authentication systems and a clear understanding of the security concerns that MobileMe must handle.
This is a hands-on role and requires leading the design and development of software systems to support existing and new product features. Responsibilities include architecting and developing systems that are high performance, secure, highly available, scalable to millions of users, reliable, supportable, and with good diagnostic capabilities. Working closely with cross-functional teams to effectively coordinate complex interdependencies are inherent to this role.
Required Experience:
Minimum of 5 years in architecture, design, and development of software solutions for a large-scale web site
Significant web application development experience on the Java stack in a Unix environment
Comprehensive understanding of authentication systems, focusing on single-sign-on, identity management, and privacy
Clear understanding of general web application security concerns including Cross Site Scripting (XSS)
In-depth knowledge of multi-threaded, asynchronous I/O, and event-driven programming
Knowledge of several Internet protocols including TCP/IP, HTTP, TLS/SSL, LDAP, OAuth, and OpenID
Previous experience building a web service (RESTful, XMLRPC, SOAP, home-grown, etc.)
Experience programming in some scripting language (ruby, python, or perl) and creating shell scripts using Unix tools (sed, awk, grep, etc.)
Adept with version control systems such as Subversion or git
Desired Experience:
Developed solutions that use OAuth, OpenID, Kerberos, or other federated identity/authentication/authorization technologies
Built large-scale web sites with multiple, independent web applications
Scaled a web application to support millions of users
Worked with non-Java web framework technologies (Rails, Django, etc.)
Solid SQL database experience (Oracle and PL/SQL preferred)
Exposure to multiple Unix flavors (MacOS, Solaris, Linux, FreeBSD)
Programmed with memcached or other caching systems
Has designed an API used by other developers
Experience leading and organizing offshore teams to deliver projects
Additional Success Factors:
Excellent written and oral communication skills
Interest in learning new languages, frameworks, and tools
Ability to prioritize well among multiple projects and deliver software on tight deadlines
Transitions easily from working independently to participating in large cross-functional teams
Able to context-switch fluidly between multiple projects
Drives problems to solutions and has amazing attention to detail
Consistently completes assignments within established time frames and cost objectives
Bachelors Degree in Computer Science with 8+ years or Masters degree in Computer Science with at least 6+ years of relevant experience in the industry would be ideal.
The primary role is to develop features and enhancements for MobileMe authentication and identity-related services. This is a central role that requires previous experience with authentication systems and a clear understanding of the security concerns that MobileMe must handle.
This is a hands-on role and requires leading the design and development of software systems to support existing and new product features. Responsibilities include architecting and developing systems that are high performance, secure, highly available, scalable to millions of users, reliable, supportable, and with good diagnostic capabilities. Working closely with cross-functional teams to effectively coordinate complex interdependencies are inherent to this role.
Required Experience:
Minimum of 5 years in architecture, design, and development of software solutions for a large-scale web site
Significant web application development experience on the Java stack in a Unix environment
Comprehensive understanding of authentication systems, focusing on single-sign-on, identity management, and privacy
Clear understanding of general web application security concerns including Cross Site Scripting (XSS)
In-depth knowledge of multi-threaded, asynchronous I/O, and event-driven programming
Knowledge of several Internet protocols including TCP/IP, HTTP, TLS/SSL, LDAP, OAuth, and OpenID
Previous experience building a web service (RESTful, XMLRPC, SOAP, home-grown, etc.)
Experience programming in some scripting language (ruby, python, or perl) and creating shell scripts using Unix tools (sed, awk, grep, etc.)
Adept with version control systems such as Subversion or git
Desired Experience:
Developed solutions that use OAuth, OpenID, Kerberos, or other federated identity/authentication/authorization technologies
Built large-scale web sites with multiple, independent web applications
Scaled a web application to support millions of users
Worked with non-Java web framework technologies (Rails, Django, etc.)
Solid SQL database experience (Oracle and PL/SQL preferred)
Exposure to multiple Unix flavors (MacOS, Solaris, Linux, FreeBSD)
Programmed with memcached or other caching systems
Has designed an API used by other developers
Experience leading and organizing offshore teams to deliver projects
Additional Success Factors:
Excellent written and oral communication skills
Interest in learning new languages, frameworks, and tools
Ability to prioritize well among multiple projects and deliver software on tight deadlines
Transitions easily from working independently to participating in large cross-functional teams
Able to context-switch fluidly between multiple projects
Drives problems to solutions and has amazing attention to detail
Consistently completes assignments within established time frames and cost objectives
Bachelors Degree in Computer Science with 8+ years or Masters degree in Computer Science with at least 6+ years of relevant experience in the industry would be ideal.
Source: Joel On Software