This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Five Lines of Code and have Christian Clausen on-line!
See this thread for details.
Win a copy of Five Lines of Code this week in the OO, Patterns, UML and Refactoring forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Bear Bibeault
  • Ron McLeod
  • Jeanne Boyarsky
  • Paul Clapham
Sheriffs:
  • Tim Cooke
  • Liutauras Vilda
  • Junilu Lacar
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • fred rosenberger
  • salvin francis
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Carey Brown

Another person considering a career change at 40+, would welcome thoughts/advice

 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I am a single mom considering a career change after age 40. I would like to move into database development, preferably as an independent consultant on a consulting or project basis. My thought is to target smaller clients-small business, non-profit, school/government clients, etc. I live in Washington, DC.

Some background-I have an MBA and 15+ years financial and project management experience. I am self taught (Access/visual basic/sql) and have built small databases over the years for my companies' use although it wasn't part of my job description. I have been thinking about this for a while-I am a bit burned out in my current career. I started to think about it more seriously recently because I am on the board of my kid's after school care program and we were looking for a web program to manage registration and accept monthly payments. I evaluated (in depth) about 6 different web services and couldn't find one that worked so I said forget that-I can do this better my self and over the next few weeks built an Access db to do it. It's not live yet-still figuring out a few things but getting close. I also heard from a friend that a database I built 10 years ago at another job is still in use.

Any advice? Can I make it without a computer science degree? Can I make it at all?? What languages would you recommend that I focus on learning? What certifications would be valuable? How do you get your first few clients?

Thank you!

JaneW
 
author & internet detective
Posts: 40035
809
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Jane,
Welcome to CodeRanch!

I think you are in a decent position for a switch. You have a little experience to point to (the after school program project and "side projects" at work.) The difference between a little and none is huge. You also sound like you have strong domain knowledge. I degree is more important when one doesn't have any experience, so I don't think that is a problem for you.

I don't freelance so I'll leave that part of the question for someone more knowledgeable about that.
 
Ranch Hand
Posts: 974
11
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Jane Lobbezoo wrote:I am a bit burned out in my current career.



Don't think a job in IT is easy. Or any job. My dad constantly advices me to become a teacher, thinking that is an easy job. But I know quite a few burned out high school teachers too.

Jane Lobbezoo wrote:Any advice?



I once moved from support engineer to programmer. The thing I experienced was that loads of recruiters wanted to place me back into my old career path, since there they could strike up a bit of money, and I had to convince them that was not my choice. I don't know if that is relevant for you though.

Jane Lobbezoo wrote:Can I make it without a computer science degree?



Piece of cake. Read a book, do an exam. It is enough. And you have proven you can self study, right? It is practical experience that would probably be more important.
 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Welcome to the Ranch, Jane!

I don't have a CS degree and I was a database application developer for 20 years, so it's certainly possible, although age will be a factor in finding regular employment: you are older than the typical junior DB developer (and IT is plagued with ageism) but of course you also have a lot of very marketable skills and experience. If you were looking for full-time employment, I might suggest you consider working your way into IT via business analysis, because your background would seem to be very relevant here and (in my experience) public sector IT projects are often knee-deep in business analysts, architects and a whole raft of other expensive consultants, so there ought to be opportunities in the DC area. The big consultancies tend to get a lot of this work, so you'd probably need to start with them if you wanted to go down this route.

As you're looking at clients with smaller-scale projects, you'll need to think about what kind of work they are likely to have, what tools they are likely to be using (or would be good for them to use), and how you can acquire the relevant skills/experience. If you're looking at schools and non-profits etc, you might want to focus on free open source software (FOSS) e.g. MySQL or PostgreSQL database, Java or Python programming language, but be prepared to deploy your application on Windows or Linux. Here in the UK, for example, there is a lot of pressure from central government on public sector organisations to use FOSS for future projects.

Your current project is Microsoft-based, so you already have some experience with MS tools. MS Access/VB is fine (although perhaps out-dated) for a small stand-alone project running on a PC in an office. But as a would-be database developer, you will need to go beyond MS Access and start exploring more flexible tools and technologies that are used by a wider range of organisations. If you think your target market will be exclusively Microsoft-based, then you could opt to scale up into more modern MS tools e.g. SQL Server and C# on .NET, as these are still very flexible and should feel familiar, while Access and VB are something of a dead-end.

However, there are a lot of options now for hosting applications remotely e.g. on "cloud" services like Amazon AWS or Heroku, or as web applications on a conventional internet hosting service, and these are typically based on FOSS tools such as the "LAMP stack" (Linux, Apache webserver, MySQL, PHP/Python). So it would be good to keep your options - and those of your clients - open by not tying yourself exclusively to a restricted proprietary platform.

I would suggest that when you complete your current MS project, you build on that experience by re-implementing your current project using FOSS tools. It doesn't need to be perfect or have all the bells and whistles of a commercial solution, but try to implement it as a full-stack web application that demonstrates each function you think it might need e.g. some browser-based user interface screens, some CRUD functionality, a simple reporting or CSV data export option, and a login mechanism. If it works out, then you might put this on Github (or even run it as a live demo on an internet hosting service) to show-case your skills. If not, you will still have learned a lot of useful stuff. It's important to bear in mind that a database application developer needs to know about more than just databases, especially if you are going to be working largely alone on small-scale projects without lots of other developers to help you.

In terms of technology, my background is Oracle RDBMS, but I now work with open source Big Data tools, so my experience is not necessarily relevant to your target market, but I can suggest some things to look at:

  • I would suggest you look at learning a modern programming language e.g. Python, which is open source, easy to learn, object-oriented and widely used, as well as being eminently suitable to the kind of small-scale projects you are looking at. It's also replacing VB as a scripting language in many third-party tools. This thread includes links to useful material for learning Python. If in doubt, start with Head First Python as it's a lot of fun and covers a lot of topics at an introductory level.
  • You'll need to pick a FOSS database platform, and many people use MySQL although I prefer PostgreSQL, but either of these would be a good option. They are both well documented and mature, so it should be easy enough to get help if (when!) you get stuck.
  • I would also recommend you learn a suitable web application framework e.g. Django is a good choice for Python, as this will save you (and your clients) a lot of pain by handling a lot of the complexity of a typical database-backed web application, and you will be able to make progress a lot faster than by trying to do all this stuff yourself.
  • Most web app frameworks use some kind of templating mechanism for the browser UI, but you may want to pick up some basic web development skills to customise your application's user interface i.e. a bit of HTML, CSS and possibly JavaScript. You might want to ask around locally to see if there are any amateur web developers who might want to collaborate on this stuff, as it might save you a lot of effort if you're not a UI designer by nature and it would also be a good opportunity to network with people you could work with later on.

  • I know this sounds daunting, but you don't need to master this stuff all at once, just use your demo project as a scaffolding for you to build up your skills as you go along.

    In terms of your database skills, it sounds like you are already learning, but you might find some of the stuff I posted about databases 2 years ago is still relevant. Take time to learn SQL properly - not just SELECT/INSERT/UPDATE but also the more complicated stuff like aggregation functions etc. Learn about indexing and key management i.e. which columns should you index, when should you not use an index, and so on.

    I would also recommend you pick up a book about relational databases and data modelling e.g. an introductory college textbook, or try the free online course on databases from Stanford. I've worked with a lot of CS graduates, but I've never met one who learned anything much about databases in college, which tended to have fairly disastrous consequences when they insisted on implementing database applications without adult supervision. So by learning a bit about how databases work, you can put yourself ahead of most CS grads in terms of database skills.

    Finally, you might want to start looking out for trends in the industry that might be relevant for your career plans. For example, Big Data and data science are growth areas, where a mix of coding, database skills, numeracy and business knowledge can be very marketable, and you might decide you want to move into that area at some point. NoSQL databases have become popular alternatives for some applications e.g. MongoDB is quite widely used (one of my colleagues has used it for a web app for a local charity) and you can learn about it via their regular free online courses.

    OK, enough rambling from me. I hope some of this is useful, and best of luck with your plans!
     
    chris webster
    Bartender
    Posts: 2407
    36
    Scala Python Oracle Postgres Database Linux
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    Jane Lobbezoo wrote: I also heard from a friend that a database I built 10 years ago at another job is still in use.


    This is one of the key features of database applications: the data persists (that's why they call it the "persistence layer") because it's the data - and the ability to use it - that really matters to the organisation. If you do a good job of designing and implementing the database, then it can be used for years, even if the overlying application code changes (e.g. VB --> Java or Python web app etc).
     
    Ranch Hand
    Posts: 466
    2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Hi Jane,

    I'm primarily a Java programmer. I started out doing Windows applications that used relational databases .

    Chris makes some good points that are worth noting.

    A few years ago , I was between jobs and started doing freelance jobs for small companies and individuals .
    Very similar to the role you described. I put up an online ad . The are of small business and people who need a go to guy/person
    and don't want to/can't afford pay for a company to do their support . The need is definitely there.  These clients mostly need database help.
    I didn't do Java work for them. Mostly Access,Excel,PHP,and MySQL . Sometimes other relational databases SQL Server,Oracle, even DB2.
    The one thing they all had in common is they used SQL.

    You have to have to be prepared to do a lot of gigs out of your direct experience/comfort zone .Clients don't always know what the problem is.
    That's your job . Be prepared to learn on the job.

    Another bit of advice. Don't run a website off an Access database . It isn't designed for that .You will run into problems and  limitations.
    A professional web developer would not do this.
    Access is good for desktop applications/ solutions . Pick the right tool for the job.

    To repeat Chris's point - Learn SQL and how relational database schemas work .
    I had clients who thought they knew how to build a web site because they knew some html or a bit of PHP but they didn't know SQL or relational DB concepts .
    They ran into problems and hired me.

    The easiest entry point for web applications is the PHP/MySql route. From your background,you can learn this.

    Good luck,
    Paul
     
    Marshal
    Posts: 69790
    277
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    The OP has only ever made one post, over three years ago, so thank you for all the effort put into your post, but it might never be read.
     
    paul nisset
    Ranch Hand
    Posts: 466
    2
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator

    The OP has only ever made one post, over three years ago, so thank you for all the effort put into your post, but it might never be read.



    Thanks . I was reading another forum here today and there was a link to this. I didn't notice the date.
     
    Campbell Ritchie
    Marshal
    Posts: 69790
    277
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    Thank you for your patience
     
    I want my playground back. Here, I'll give you this tiny ad for it:
    Thread Boost feature
    https://coderanch.com/t/674455/Thread-Boost-feature
      Bookmark Topic Watch Topic
    • New Topic