Nobody should start to undertake a large project. You start with a small _trivial_ project, and you should never expect it to get large. If you do, you’ll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision.
So start small, and think about the details. Don’t think about some big picture and fancy design. If it doesn’t solve some fairly immediate need, it’s almost certainly over-designed. And don’t expect people to jump in and help you. That’s not how these things work. You need to get something half-way _useful_ first, and then others will say “hey, that _almost_ works for me”, and they’ll get involved in the project.
And if there is anything I’ve learnt from Linux, it’s that projects have a life of their own, and you should _not_ try to enforce your “vision” too strongly on them. Most often you’re wrong anyway, and if you’re not flexible and willing to take input from others (and willing to change direction when it turned out your vision was flawed), you’ll never get anything good done.
In other words, be willing to admit your mistakes, and don’t expect to get anywhere big in any kind of short timeframe. I’ve been doing Linux for thirteen years, and I expect to do it for quite some time still. If I had _expected_ to do something that big, I’d never have started. It started out small and insignificant, and that’s how I thought about it.
I started my first business entity in 1999 as my web designing agency. Later on in 2000 I started a 3 page eCommerce website of mine where in I used to sell Linux, BSD and Network Tools CDs. There after I have worked in all sorts of small and big companies in big and small roles respectively.
I have done HTML4.1 and CSS2. I have done Photoshop. I have done bit of Usability and UX. And I have done a lot of Ruby programming.
Its been 20 years since I bought my first computer and its now like 9 PCs, 5 Laptops and 1 iMAC and 1 MacBook Air now and I am planning to buy 1 more iMAC very soon.
Life is now gearing up for next 20 years.
If you are interested in pursuing a career in development and don’t know where to start, here’s your go-to guide for salaries, skills, and the best programming languages to learn.
Developers are among the most highly sought-after tech professionals in the workforce, with increased demand and talent shortages leading to large salaries for many of those in the field. That said, software development is a dynamic field, in which new programming languages, frameworks, and technologies may live and die within a few years, and job needs are constantly shifting.
Why is there increased demand for developers?
Every company has become a tech company to some degree, with digital transformation projects underway in most industries to stave off disruption. This means that demand for developer talent has skyrocketed in recent years, as companies seek people who can bring digital projects and applications to life.
Front-end developers, full stack developers, mobile developers, and back-end developers are among the top 10 hardest to fill tech jobs, according to data from Indeed.
Meanwhile, the US Bureau of Labor and Statistics predicts that software developer jobs will grow 24% between 2016 and 2026–much faster than the average rate of other professions, the bureau noted. Application developer jobs are projected to grow 31% in that time, and systems developers are forecast to grow 11%.
What are some developer job roles?
Developers can take a number of different career paths. Here are a few roles in the field.
- Mobile developer: Builds apps for mobile devices, including iOS and Android. A mobile developer might use Java, Swift, and Objective-C.
- Full stack developer: Is able to work on both the front-end and back-end portions of an application or website. A full stack developer has specialized knowledge of all stages of software development, including server, network, and hosting environment; relational and nonrelational databases; interacting with APIs; user interface and user experience; quality assurance; security; customer and business needs.
- Back-end developer: Builds the functionality and interactivity of a website, including the elements that allow users to carry out actions like logging in, creating an account, and liking posts. Depending on what you want your web app to do, you might learn languages including Java, Python, Ruby, and PHP.
Read More @ TechRepublic.com